?? jfserv.c
字號(hào):
#include "gen_jfsrv.h"
#include <stdio.h>
#include <math.h>
#include <string.h>
#include "atmi.h"
#include "fml32.h"
#include "userlog.h"
#include "ynfld.h"
/* define the function for the server call.*/
void fun_CCGETUSERDETAILBILL(TPSVCINFO *rqst,FBFR32 *iFML);
void fun_CCGETUSERSIMPLEFEE(TPSVCINFO *rqst,FBFR32 *iFML);
void fun_CCGETSCORE(TPSVCINFO *rqst,FBFR32 *iFML);
void fun_CCGETFEESET(TPSVCINFO *rqst,FBFR32 *iFML);
void endFML(FBFR32 *iFML);
void toULog(const char * fmtstr,const char * msg){
char showmsg[1024];
sprintf(showmsg,fmtstr,msg);
userlog(showmsg);
}
#if defined(__STDC__) || defined(__cplusplus)
tpsvrinit(int argc, char *argv[])
#else
tpsvrinit(argc, argv)
int argc;
char **argv;
#endif
{
/* Some compilers warn if argc and argv aren't used. */
argc = argc;
argv = argv;
/* userlog writes to the central TUXEDO message log */
userlog("Welcome to the user fml server");
return(0);
}
#ifdef __cplusplus
extern "C"
#endif
void
#if defined(__STDC__) || defined(__cplusplus)
CORL_CC(TPSVCINFO *rqst)
#else
CORL_CC(rqst)
TPSVCINFO *rqst;
#endif
{
FBFR32 *iFML;
char strtmp[100];
char transcode[100];
long len=0;
short short1;
long long1;
int int1;
float f1;
toULog("-In jfserv.c %s\n","...");
iFML = (FBFR32 *)rqst->data;
// Fget32(iFML,INSTR1,0,strtmp,&len);
// toULog("instr1.len:%i\n",len);
// toULog("-Fget32.INSTR1=%s",strtmp);
// len=sizeof(transcode);
// Fget32(iFML,PROVINCECODE,0,strtmp,&len);
// toULog("-Fget32.PROVINCECODE=%s",strtmp);
len=sizeof(transcode);
Fget32(iFML,TRANSCODE,0,transcode,&len);
toULog("-Fget32.TRANSCODE=%s",transcode);
Fchg32(iFML,OUTSTR1,0,(char *)"outvalue",0);
/*
//=================輸出必須的結(jié)果==================
Fchg32(iFML, RESULTERRINFO, 0, (char *)"TradeOk", 0);
short1 = 0;
int1 = 0;
Fchg32(iFML, RESULTERRCODE, 0, (char *)&short1, 0);
Fchg32(iFML, RESULTCODE, 0, (char *)&int1, 0);
int1 = 0;
Fchg32(iFML, RESULTRECORDS, 0, (char *)&int1, 0);
//====================================================
Fchg32(iFML, USRNAME, 0, (char *)"aspire", 0);
Fchg32(iFML, QUALITYTYPECODE, 0, (char *)"gotone", 0);
Fchg32(iFML, QUALITYTYPE, 0, (char *)"gotone desc", 0);
f1=123.34f;
Fchg32(iFML, RESULTFEE, 0, (char *)&f1, 0);
toULog("-Fget32.RESULTFEE=%s",f1);
Fchg32(iFML, ALLROWEFEE, 0, (char *)&f1, 0);
Fchg32(iFML, FEE1, 0, (char *)&f1, 0);
Fchg32(iFML, FEE2, 0, (char *)&f1, 0);
Fchg32(iFML, FEE3, 0, (char *)&f1, 0);
Fchg32(iFML, FEE4, 0, (char *)&f1, 0);
Fchg32(iFML, FEE5, 0, (char *)&f1, 0);
//=======================================================
//===========CCGETUSERSIMPLEFEE==============
//=========================
*/
endFML(iFML);
//
if( strcmp( transcode, "CCGETUSERDETAILBILL") == 0 ){
fun_CCGETUSERDETAILBILL(rqst,iFML);
}
//1005 余額查詢 CCGETUSERSIMPLEFEE
if(strcmp(transcode,"CCGETUSERSIMPLEFEE")==0 ){
toULog("--->In tuxedo if:%s","實(shí)時(shí)結(jié)余查詢");
fun_CCGETUSERSIMPLEFEE(rqst,iFML);
}
//1007
if(strcmp(transcode,"CCGETSCORE")==0 ){
toULog("--->In tuxedo if:%s","積分查詢");
fun_CCGETSCORE(rqst,iFML);
}
//1009套餐查詢
if(strcmp(transcode,"CCGETFEESET")==0 ){
toULog("--->In tuxedo if:%s","套餐查詢");
fun_CCGETFEESET(rqst,iFML);
}
toULog("-before jfserv.c-tpreturn %s\n","...");
tpreturn(TPSUCCESS, 0,rqst->data , 0L, 0);
}
//=================輸出必須的結(jié)果==================
void endFML(FBFR32 *iFML){
short short1;
int int1;
Fchg32(iFML, RESULTERRINFO, 0, (char *)"TradeOk", 0);
short1 = 0;
int1 = 0;
Fchg32(iFML, RESULTERRCODE, 0, (char *)&short1, 0);
Fchg32(iFML, RESULTCODE, 0, (char *)&int1, 0);
int1 = 0;
Fchg32(iFML, RESULTRECORDS, 0, (char *)&int1, 0);
}
//套餐查詢
void fun_CCGETFEESET(TPSVCINFO *rqst,FBFR32 *iFML){
long long1 = 3;
int i;
char fname[100];
Fchg32(iFML, RESULTRECORDS, 0, (char *)&long1, 0);
/**
FEESET 套餐名稱 String
FEESETCODE 套餐編碼 String
FEESETTAG 套餐標(biāo)志 String
STARTDATE 起始作用時(shí)間 String
ENDDATE 終止作用時(shí)間 String
*/
for(i=0;i<long1;i++){
sprintf(fname,"XX套餐%i",i);
Fchg32(iFML, FEESET, i, (char *)&fname, i);
Fchg32(iFML, FEESETCODE, i, (char *)"1", i);
Fchg32(iFML, FEESETTAG, i, (char *)"2", i);
Fchg32(iFML, STARTDATE, i, (char *)"2000/11/12 11:22:33", i);
Fchg32(iFML, ENDDATE, i, (char *)"2005/01/02 11:22:33", i);
}
}
//實(shí)時(shí)結(jié)余查詢
void fun_CCGETUSERSIMPLEFEE(TPSVCINFO *rqst,FBFR32 *iFML){
short short1;
float f1;
int int1;
toULog("--->In tuxedo fun:%s","fun_CCGETUSERSIMPLEFEE");
Fchg32(iFML, RESULTERRINFO, 0, (char *)"TradeOk", 0);
short1 = 0;
int1 = 0;
Fchg32(iFML, RESULTERRCODE, 0, (char *)&short1, 0);
Fchg32(iFML, RESULTCODE, 0, (char *)&int1, 0);
int1 = 2;
Fchg32(iFML, RESULTRECORDS, 0, (char *)&int1, 0);
//USRNAME 用戶名 String
//QUALITYTYPECODE 品牌類型 string
//QUALITYTYPE 品牌類型說(shuō)明 string
//RESULTFEE 結(jié)果費(fèi)用 Float
//ALLROWEFEE 用戶實(shí)時(shí)話費(fèi) Float
//FEE1 實(shí)際可以使用存款 Float
//FEE2 特殊使用存款 Float
//FEE3 月租類 Float
//FEE4 數(shù)據(jù)類 Float
//FEE5 限額使用類 Float
Fchg32(iFML, USRNAME, 0, (char *)"aspire", 0);
Fchg32(iFML, QUALITYTYPECODE, 0, (char *)"12345", 0);
Fchg32(iFML, QUALITYTYPE, 0, (char *)"全球通", 0);
f1=123.34f;
Fchg32(iFML, RESULTFEE, 0, (char *)&f1, 0);
f1=45.85f;
Fchg32(iFML, ALLROWEFEE, 0, (char *)&f1, 0);
f1=12.50f;
Fchg32(iFML, FEE1, 0, (char *)&f1, 0);
Fchg32(iFML, FEE2, 0, (char *)&f1, 0);
Fchg32(iFML, FEE3, 0, (char *)&f1, 0);
Fchg32(iFML, FEE4, 0, (char *)&f1, 0);
Fchg32(iFML, FEE5, 0, (char *)&f1, 0);
}
//帳單費(fèi)用查詢
void fun_CCGETUSERDETAILBILL(TPSVCINFO *rqst,FBFR32 *iFML){
float float1 = 1.0f;
float float2 = 2.0f;
float float3 = 3.0f;
float float4 = 4.0f;
Fchg32(iFML, USRNAME, 0, (char *)"Aspire", 0);
Fchg32(iFML, ACYCDATEEXTENT, 0, (char *)"20050801-20050830", 0);
Fchg32(iFML, ACYCDATEALLFEE, 0, (char *)&float4, 0);
Fchg32(iFML, ADVANCEPAY, 0, (char *)&float2, 0);
Fchg32(iFML, BILLITEM, 0, (char *)"神洲行費(fèi)用", 0);
Fchg32(iFML, BILLITEMCODE, 0, (char *)"0011", 0);
Fchg32(iFML, FEE, 0, (char *)&float1, 0);
Fchg32(iFML, BALANCE, 0, (char *)&float1, 0);
Fchg32(iFML, LATEFEE, 0, (char *)&float1, 0);
Fchg32(iFML, LATEBALANCE, 0, (char *)&float2, 0);
Fchg32(iFML, ADJUSTBEFORE, 0, (char *)&float2,0);
Fchg32(iFML, ADJUSTAFTER, 0, (char *)&float2, 0);
Fchg32(iFML, BDISCOUNT, 0, (char *)&float2, 0);
Fchg32(iFML, ADISCOUNT, 0, (char *)&float2, 0);
Fchg32(iFML, LATECALTIME, 0, (char *)"20050801-20050830", 0);
Fchg32(iFML, TR_PAYTAG, 0, (char *)"1", 0);
Fchg32(iFML, BILLITEM, 1, (char *)"動(dòng)感地帶費(fèi)用", 0);
Fchg32(iFML, BILLITEMCODE, 1, (char *)"0011", 0);
Fchg32(iFML, FEE, 1, (char *)&float1, 0);
Fchg32(iFML, BALANCE, 1, (char *)&float1, 0);
Fchg32(iFML, LATEFEE, 1, (char *)&float1, 0);
Fchg32(iFML, LATEBALANCE, 1, (char *)&float2, 0);
Fchg32(iFML, ADJUSTBEFORE, 1, (char *)&float2,0);
Fchg32(iFML, ADJUSTAFTER, 1, (char *)&float2, 0);
Fchg32(iFML, BDISCOUNT, 1, (char *)&float2, 0);
Fchg32(iFML, ADISCOUNT, 1, (char *)&float2, 0);
Fchg32(iFML, LATECALTIME, 1, (char *)"20050801-20050830", 0);
Fchg32(iFML, TR_PAYTAG, 1, (char *)"1", 0);
/*返回return信息*/
Fchg32(iFML, RESULTERRINFO, 0, (char *)"TradeOk", 0);
}
//積分查詢
void fun_CCGETSCORE(TPSVCINFO *rqst,FBFR32 *iFML){
/*
SCORE 當(dāng)前總積分 float
YEARSCORE 年度積分 float
USEDSCORE 已使用積分 float
SUMFEE 指定帳期內(nèi)總積分 float
USERCLUBSCORE 用戶2002年年度累計(jì)積分 float
SCORES 最近一次獎(jiǎng)勵(lì)積分 Float
QUERYDATE 獎(jiǎng)勵(lì)時(shí)間 String
BASICSCORE 本年身份積分 float
ENDVALUE 本年年度積分 float
SUMSCORE 本年累計(jì)積分 float
CELLCODE 積分登記標(biāo)志 long
*/
float f1;
long l1;
int i;
long recs=3;
f1=456.89;
l1=12345;
Fchg32(iFML, RESULTRECORDS, 0, (char *)&recs, 0);
//單行
Fchg32(iFML, SCORE, 0, (char *)&f1, 0);
Fchg32(iFML, YEARSCORE, 0, (char *)&f1, 0);
Fchg32(iFML, USEDSCORE, 0, (char *)&f1, 0);
Fchg32(iFML, SUMFEE, 0, (char *)&f1, 0);
Fchg32(iFML, USERCLUBSCORE, 0, (char *)&f1, 0);
Fchg32(iFML, SCORES, 0, (char *)&f1, 0);
Fchg32(iFML, QUERYDATE, 0, (char *)"20051012 11:23:45", 0);
Fchg32(iFML, BASICSCORE, 0, (char *)&f1, 0);
Fchg32(iFML, ENDVALUE, 0, (char *)&f1, 0);
Fchg32(iFML, SUMSCORE, 0, (char *)&f1, 0);
Fchg32(iFML, CELLCODE, 0, (char *)&l1, 0);
//多行
/*
INTEGRALTYPECODE 積分類型 String 1
INTEGRALTYPE 積分類型說(shuō)明 String 20
FEE 積分 float
ACYCDATE 積分月份 String 20
STARTDATE 有效起始帳期 String 20
ENDDATE 有效終止帳期 String 20
Scores 獎(jiǎng)勵(lì)積分 Float
*/
f1=77.88;
//srand( (unsigned)time( NULL ) );
for(i=0;i<recs;i++){
Fchg32(iFML, INTEGRALTYPECODE, i, (char *)"1", 0);
Fchg32(iFML, INTEGRALTYPE, i, (char *)"積分類型說(shuō)明", 0);
Fchg32(iFML, FEE, i, (char *)&f1, i);
Fchg32(iFML, ACYCDATE, i, (char *)"200510", 0);
Fchg32(iFML, STARTDATE, i, (char *)"200511", 0);
Fchg32(iFML, ENDDATE, i, (char *)"200512", 0);
// Fchg32(iFML, Scores, i, (char *)&f1, 0);
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -