/* * 业务入口函数 * 输入: * req_json:请求串,json格式 * req_id:用于记录在日志中的id * 输出: * p_out_string:输出字符串,一般拼成json格式 * n_out_len:输出字符串的长度 * */ int SimpleFrameWorkInterface::work_core(json_object *req_json, char* &p_out_string, int& n_out_len, int64_t req_id){ int spend_msec = -1; struct timeval tv_temp; tv_temp = calc_spend_time(tv_temp, "example_work start", spend_msec, true); int result = 0; json_object* cmd_json = json_object_object_get(req_json, "cmd"); char* cmd_str = NULL; if(NULL == cmd_json){ cmd_str = "query"; }else{ cmd_str = (char*)json_object_get_string(cmd_json); } if(strcasecmp(cmd_str, "query") != 0){ return return_fail(403, "command not support", p_out_string, n_out_len); } json_object* uid_json = json_object_object_get(req_json, "uid"); if(NULL == uid_json){ return return_fail(403, "uid is empty", p_out_string, n_out_len); }else{ uint64_t uid = json_object_get_int64(uid_json); result = get_uid_good_follow(uid, req_id, p_out_string, n_out_len); } tv_temp = calc_spend_time(tv_temp, "example_work all finish", spend_msec); return result; }
extern OBJ _AEnv_Axenv(OBJ den,OBJ unit) /* xenv */ { char *e; get_denotation(den,charbuf,CHARBUFSIZE); if ( (e = getenv(charbuf)) != NULL ){ return_okay(make_denotation(e)); } else { return_fail(__AEnv_AnoSuchEnvVar); } }
extern OBJ _javabind_fail(){ /* DEBUG */ /* (*javabind_env)->ExceptionDescribe(javabind_env); */ if (javabind_last_exception != NULL){ (*javabind_env)->DeleteLocalRef(javabind_env,javabind_last_exception); } javabind_last_exception = (*javabind_env)->ExceptionOccurred(javabind_env); /* jthrowable t; javabind_last_exception = (*javabind_env)->NewGlobalRef(javabind_env,t); (*javabind_env)->DeleteLocalRef(javabind_env, t); */ (*javabind_env)->ExceptionClear(javabind_env); return_fail(javabind_exception_ans); }