DBInterfacer::DBInterfacer() { conn_ptr = NULL; res_ptr = NULL; sqlrow = NULL; fd = NULL; LOG_DEBUG_FORMAT("DEBUG - [SM]:%s %d begin connect to db\n",__FUNCTION__,__LINE__); #ifdef USEMUTEX pthread_mutex_init(&locker, NULL); #endif Connect2DB(dbuser,dbpass,dbname,dbip); }
int main(int argc, char **argv) { B2B_CHANGE_STATUS_T Query; B2B_PRODUCT_T ProductInfo; CONFIG_T Config; char LogPath[256]; double start_time=0, end_time=0; double real_time = 0; struct timeval tp_start; struct timeval tp_end; int ErrorCode = NO_ERROR; Q_ENTRY *req = qCgiRequestParse(NULL, (Q_CGI_T) 0); SvcLog = NULL; Log = NULL; StatLog = NULL; gettimeofday(&tp_start, 0); memset(&Query, 0, sizeof(B2B_CHANGE_STATUS_T)); memset(&ProductInfo, 0, sizeof(B2B_PRODUCT_T)); memset(&Config, 0, sizeof(CONFIG_T)); if((ErrorCode = ReadConfig(CONFIGFILE_PATH, &Config)) != NO_ERROR) { qCgiResponseSetContentType(req, "application/json;charset=euc-kr"); PrintErrorResult(ErrorCode); return ErrorCode; } // Set Random Value srand(tp_start.tv_usec); sprintf(LogPath, "%s/%s", Config.LOG_PATH, LOG_NAME_CHANGEPRODUCTSTATUS); if((SvcLog = openLog("ChangeProductStatus", LogPath, LOG_MODE)) == NULL) { qCgiResponseSetContentType(req, "application/json;charset=euc-kr"); ErrorCode = ERROR_CREATE_LOG_FILE; PrintErrorResult(ErrorCode); return ErrorCode; } sprintf(LogPath, "%s/%s", Config.LOG_PATH, LOG_NAME_CHANGEPRODUCTSTATUS_DEB); if((Log = openLog("ChangeProductStatus", LogPath, LOG_MODE)) == NULL) { qCgiResponseSetContentType(req, "application/json;charset=euc-kr"); ErrorCode = ERROR_CREATE_LOG_FILE; PrintErrorResult(ErrorCode); return ErrorCode; } sprintf(LogPath, "%s/%s", Config.LOG_PATH, LOG_NAME_STATISTICS); if((StatLog = openLog("ChangeProductStatus", LogPath, LOG_MODE)) == NULL) { qCgiResponseSetContentType(req, "application/json;charset=euc-kr"); ErrorCode = ERROR_CREATE_LOG_FILE; PrintErrorResult(ErrorCode); return ErrorCode; } if((ErrorCode = Connect2DB(Config)) == NO_ERROR) { if((ErrorCode = GetParamsReqChangeStatus(req, &Query)) == NO_ERROR) { if((ErrorCode = DB_SelectProductInfoByProductID(Query.ProductID, &ProductInfo)) != NO_ERROR) { printLog(HEAD, "Select Prodcut Info Error...ErrorCode(%d)\n", ErrorCode); } else { switch(ProductInfo.Status) { case 'N' : if(Query.Status != 'R' && Query.Status != 'E' && Query.Status != 'N') ErrorCode = ERROR_CHANGE_STATUS; break; case 'R' : if(Query.Status != 'B' && Query.Status != 'E' && Query.Status != 'N' && Query.Status != 'R') ErrorCode = ERROR_CHANGE_STATUS; break; case 'E' : ErrorCode = ERROR_CHANGE_STATUS; break; case 'B' : if(Query.Status != 'R' && Query.Status != 'B') ErrorCode = ERROR_CHANGE_STATUS; break; default : ErrorCode = ERROR_CHANGE_STATUS; break; } if(ErrorCode == NO_ERROR) { printLog(HEAD, "Now change (%s) status (%c) to (%c)\n", ProductInfo.ProductID, ProductInfo.Status, Query.Status); ProductInfo.Status = Query.Status; if((ErrorCode = DB_ChangeStatus(ProductInfo)) != NO_ERROR) { printLog(HEAD, "Change Product Status Error...ErrorCode(%d)\n", ErrorCode); } } } } else { printLog(HEAD, "Invalid Paramters Error...(%d)\n", ErrorCode); } } else { printLog(HEAD, "DBConnection Error...(%d)\n", ErrorCode); } qCgiResponseSetContentType(req, "application/json;charset=euc-kr"); PrintResultChangeProductStatus(ErrorCode); DisConnectDB(); gettimeofday(&tp_end, 0); start_time = (double)tp_start.tv_sec + (double)tp_start.tv_usec/1000000; end_time = (double)tp_end.tv_sec + (double)tp_end.tv_usec/1000000; real_time = end_time - start_time; printLog(STAT_HEAD, "CHANGE_STATUS_%c %d %4.6f\n", Query.Status, ErrorCode, real_time); printLog(HEAD, "---------------------------------------------------------------\n"); closeLog(SvcLog); closeLog(Log); closeLog(StatLog); return 0; }
int main(int argc, char **argv) { B2B_AUTHENTICATION_T Query; B2B_AUTH_INFO_T AuthInfo; CONFIG_T Config; char LogPath[256]; double start_time=0, end_time=0; double real_time = 0; struct timeval tp_start; struct timeval tp_end; int ErrorCode = NO_ERROR; Q_ENTRY *req = qCgiRequestParse(NULL, (Q_CGI_T) 0); gettimeofday(&tp_start, 0); memset(&Query, 0, sizeof(B2B_AUTHENTICATION_T)); memset(&AuthInfo, 0, sizeof(B2B_AUTH_INFO_T)); memset(&Config, 0, sizeof(CONFIG_T)); ReadConfig(CONFIGFILE_PATH, &Config); sprintf(LogPath, "%s/%s", Config.LOG_PATH, LOG_NAME_AUTHENTICATION); if((SvcLog = openLog("Authentication", LogPath, LOG_MODE)) == NULL) { qCgiResponseSetContentType(req, "application/json;charset=euc-kr"); ErrorCode = ERROR_CREATE_LOG_FILE; PrintErrorResult(ErrorCode); return ErrorCode; } sprintf(LogPath, "%s/%s", Config.LOG_PATH, LOG_NAME_AUTHENTICATION_DEB); if((Log = openLog("Authentication", LogPath, LOG_MODE)) == NULL) { qCgiResponseSetContentType(req, "application/json;charset=euc-kr"); ErrorCode = ERROR_CREATE_LOG_FILE; PrintErrorResult(ErrorCode); return ErrorCode; } sprintf(LogPath, "%s/%s", Config.LOG_PATH, LOG_NAME_STATISTICS); if((StatLog = openLog("Authentication", LogPath, LOG_MODE)) == NULL) { qCgiResponseSetContentType(req, "application/json;charset=euc-kr"); ErrorCode = ERROR_CREATE_LOG_FILE; PrintErrorResult(ErrorCode); return ErrorCode; } // printLog(HEAD, "HERE\n"); // printLog(HEAD, "REM(%s)(%d)\n", Config.REMIP, Config.REMPort); // printf("HRE\n"); Query.Mode = SID_AUTHENTICATION; if((ErrorCode = Connect2DB(Config)) == NO_ERROR) { if((ErrorCode = GetParamsReqAuth(req, &Query)) == NO_ERROR) { if((ErrorCode = SetAuthKeyInfo_V1(Query, &AuthInfo)) != NO_ERROR) { printLog(HEAD, "Authentication Error...ErrorCode(%d)\n", ErrorCode); } } else { printLog(HEAD, "Invalid Paramters Error...(%d)\n", ErrorCode); } } else { printLog(HEAD, "DBConnection Error...(%d)\n", ErrorCode); } // qCgiResponseSetContentType(req, "text/html"); qCgiResponseSetContentType(req, "application/json;charset=euc-kr"); PrintResultAuthentication(ErrorCode, AuthInfo); printLog(HEAD, "---------------------------------------------------------------\n"); /* if(Query.DeviceInfo != NULL) free(Query.DeviceInfo); */ if(AuthInfo.DeviceInfo != NULL) free(AuthInfo.DeviceInfo); // req->free(req); DisConnectDB(); gettimeofday(&tp_end, 0); start_time = (double)tp_start.tv_sec + (double)tp_start.tv_usec/1000000; end_time = (double)tp_end.tv_sec + (double)tp_end.tv_usec/1000000; real_time = end_time - start_time; printLog(STAT_HEAD, "AUTHEENTICATION %d %4.6f\n", ErrorCode, real_time); closeLog(SvcLog); closeLog(Log); closeLog(StatLog); return 0; }
int main(int argc, char **argv) { char ProductID[B2B_PRODUCTID_SIZE+1]; char Mode; B2B_PRODUCT_T Data; CONFIG_T Config; char LogPath[256]; double start_time=0, end_time=0; double real_time = 0; struct timeval tp_start; struct timeval tp_end; int ErrorCode = NO_ERROR; Q_ENTRY *req = qCgiRequestParse(NULL, (Q_CGI_T) 0); gettimeofday(&tp_start, 0); // Set Random Value srand(tp_start.tv_usec); memset(ProductID, 0, B2B_PRODUCTID_SIZE+1); memset(&Data, 0, sizeof(B2B_PRODUCT_T)); ReadConfig(CONFIGFILE_PATH, &Config); sprintf(LogPath, "%s/%s", Config.LOG_PATH, LOG_NAME_SEARCHPRODUCTDETAIL); SvcLog = openLog("SearchProductDetailInfo", LogPath, LOG_MODE); sprintf(LogPath, "%s/%s", Config.LOG_PATH, LOG_NAME_SEARCHPRODUCTDETAIL_DEB); Log = openLog("SearchProductDetailInfo", LogPath, LOG_MODE); sprintf(LogPath, "%s/%s", Config.LOG_PATH, LOG_NAME_STATISTICS); StatLog = openLog("SearchProductDetailInfo", LogPath, LOG_MODE); if((ErrorCode = Connect2DB(Config)) == NO_ERROR) { if((ErrorCode = GetParamsReqSearchDetail(req, ProductID, &Mode)) == NO_ERROR) { if((ErrorCode = DB_SelectProductInfoByProductID(ProductID, &Data)) != NO_ERROR) { printLog(HEAD, "Search Error...ErrorCode(%d)\n", ErrorCode); } } else { printLog(HEAD, "Invalid Paramters Error...(%d)\n", ErrorCode); } } else { printLog(HEAD, "DBConnection Error...(%d)\n", ErrorCode); } if(Mode == 'T') { qCgiResponseSetContentType(req, "text/html"); PrintResultProductDInfoListWithTable(ErrorCode, Data); } else { qCgiResponseSetContentType(req, "application/json;charset=euc-kr"); PrintResultProductDInfoList(ErrorCode, Data); } DisConnectDB(); gettimeofday(&tp_end, 0); start_time = (double)tp_start.tv_sec + (double)tp_start.tv_usec/1000000; end_time = (double)tp_end.tv_sec + (double)tp_end.tv_usec/1000000; real_time = end_time - start_time; printLog(STAT_HEAD, "SEARCH_PRODUCT_D %d %4.6f\n", ErrorCode, real_time); printLog(HEAD, "---------------------------------------------------------------\n"); closeLog(SvcLog); closeLog(Log); closeLog(StatLog); return 0; }
int main(int argc, char **argv) { B2B_CREATE_T Query; B2B_PRODUCTID_T Data[B2B_MAX_CREATE_COUNT]; CONFIG_T Config; char LogPath[256]; int Count = 0; time_t t1; double start_time=0, end_time=0; double real_time = 0; struct timeval tp_start; struct timeval tp_end; int ErrorCode = NO_ERROR; int i = 0; Q_ENTRY *req = qCgiRequestParse(NULL, (Q_CGI_T) 0); SvcLog = NULL; Log = NULL; StatLog = NULL; gettimeofday(&tp_start, 0); memset(&Query, 0, sizeof(B2B_CREATE_T)); memset(Data, 0, sizeof(B2B_PRODUCTID_T) * B2B_MAX_CREATE_COUNT); memset(&Config, 0, sizeof(CONFIG_T)); if((ErrorCode = ReadConfig(CONFIGFILE_PATH, &Config)) != NO_ERROR) { qCgiResponseSetContentType(req, "application/json;charset=euc-kr"); PrintErrorResult(ErrorCode); return ErrorCode; } // Set Random Value time(&t1); srand(t1); sprintf(LogPath, "%s/%s", Config.LOG_PATH, LOG_NAME_CREATEPRODUCT); if((SvcLog = openLog("CreateProduct", LogPath, LOG_MODE)) == NULL) { qCgiResponseSetContentType(req, "application/json;charset=euc-kr"); ErrorCode = ERROR_CREATE_LOG_FILE; PrintErrorResult(ErrorCode); return ErrorCode; } sprintf(LogPath, "%s/%s", Config.LOG_PATH, LOG_NAME_CREATEPRODUCT_DEB); if((Log = openLog("CreateProduct", LogPath, LOG_MODE)) == NULL) { qCgiResponseSetContentType(req, "application/json;charset=euc-kr"); ErrorCode = ERROR_CREATE_LOG_FILE; PrintErrorResult(ErrorCode); return ErrorCode; } sprintf(LogPath, "%s/%s", Config.LOG_PATH, LOG_NAME_STATISTICS); if((StatLog = openLog("CreateProduct", LogPath, LOG_MODE)) == NULL) { qCgiResponseSetContentType(req, "application/json;charset=euc-kr"); ErrorCode = ERROR_CREATE_LOG_FILE; PrintErrorResult(ErrorCode); return ErrorCode; } printLog(HEAD, "HERE..\n"); if((ErrorCode = Connect2DB(Config)) == NO_ERROR) { if((ErrorCode = GetParamsReqCreate(req, &Query)) == NO_ERROR) { /* if((Data = (B2B_PRODUCTID_T *) malloc(sizeof(B2B_PRODUCTID_T) * Query.Count)) == NULL) { printLog(HEAD, "Memory Allocation Error...\n"); ErrorCode = ERROR_EXCEPTION_MEMORY; } memset(Data, 0, sizeof(B2B_PRODUCTID_T) * Query.Count); */ if((ErrorCode = DB_CreateProductIDList(Query, Data, &Count)) != NO_ERROR) { printLog(HEAD, "CreateProduct Error...ErrorCode(%d)\n", ErrorCode); } } else { printLog(HEAD, "Invalid Paramters Error...(%d)\n", ErrorCode); } } else { printLog(HEAD, "DBConnection Error...(%d)\n", ErrorCode); } for(i = 0; i < Count; i++) { printLog(HEAD, "(%d)(%s)\n", i+1, Data[i].ProductID); } if(Query.Mode == 'T') { qCgiResponseSetContentType(req, "text/html"); PrintResultCreateProductWithTable(ErrorCode, Data, Count); } else if(Query.Mode== 'X') { qCgiResponseSetContentType(req, "text/html"); PrintResultCreateProductLikeCVS(ErrorCode, Data, Count); } else { qCgiResponseSetContentType(req, "application/json;charset=euc-kr"); PrintResultCreateProduct(ErrorCode, Data, Count); } /* if(Data != NULL) free(Data); */ DisConnectDB(); gettimeofday(&tp_end, 0); start_time = (double)tp_start.tv_sec + (double)tp_start.tv_usec/1000000; end_time = (double)tp_end.tv_sec + (double)tp_end.tv_usec/1000000; real_time = end_time - start_time; printLog(STAT_HEAD, "CREATE_PRODUCT %d %4.6f\n", ErrorCode, real_time); printLog(HEAD, "---------------------------------------------------------------\n"); closeLog(SvcLog); closeLog(Log); closeLog(StatLog); return 0; }