From 9232d1a326648b2991baeed49cb2dab247838e98 Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Sun, 17 Nov 2024 19:29:24 -0500 Subject: [PATCH] promo list --- wrenchboard/src/include/wrenchboard_api.h | 1 + wrenchboard/src/shared_tool/market.cc | 64 +++++++++++++++++++++++ 2 files changed, 65 insertions(+) diff --git a/wrenchboard/src/include/wrenchboard_api.h b/wrenchboard/src/include/wrenchboard_api.h index e4fdc9ee..af425823 100644 --- a/wrenchboard/src/include/wrenchboard_api.h +++ b/wrenchboard/src/include/wrenchboard_api.h @@ -462,6 +462,7 @@ enum { PARTNER_STRIPE }; #define WRENCHBOARD_MARKET_PLAN01_NEXT1 220003 #define WRENCHBOARD_PROMOADMIN_LOGIN 220010 +#define WRENCHBOARD_PROMOADMIN_GETLIST 220014 #define WRENCHBOARD_PROMOADMIN_ADDLIST 220015 #define WRENCHBOARD_MARKET_END 229999 diff --git a/wrenchboard/src/shared_tool/market.cc b/wrenchboard/src/shared_tool/market.cc index 3e969378..5f000f35 100644 --- a/wrenchboard/src/shared_tool/market.cc +++ b/wrenchboard/src/shared_tool/market.cc @@ -19,6 +19,7 @@ long WrenchMarketImport(CVars in, CVars &out); long WrenchPromoLoad(CVars in, CVars &out); long WrenchPromoAdminLogin(CVars in, CVars &out); long WrenchPromoAddList(CVars in, CVars &out); +long WrenchPromoGetList( CVars in, CVars &out ); long market_calls(CVars in, CVars &out) { logfmt(logINFO, "market_calls()"); @@ -43,6 +44,10 @@ long market_calls(CVars in, CVars &out) { case WRENCHBOARD_PROMOADMIN_ADDLIST: return WrenchPromoAddList(in, out); break; + //#define WRENCHBOARD_PROMOADMIN_GETLIST 220014 + case WRENCHBOARD_PROMOADMIN_GETLIST: + return WrenchPromoGetList(in, out); + break; } } catch (bad_parameter) { @@ -52,6 +57,65 @@ long market_calls(CVars in, CVars &out) { return ret; } +long WrenchPromoGetList( CVars in, CVars &out ) +{ + char vname[30]; + long ret = PHP_API_BAD_PARAM; + + logfmt( logINFO, "WrenchPromoGetList()" ); + out["result"] = "Yes i go to this back end"; + + try { + long admin_id = REQ_LONG(in, "promo_admin_id", 1, -1); + REQ_STRING (in, "admin_uid", 5, 120, "(.*)"); + OPTIONAL( in, "loc" ) REQ_STRING (in, "loc", 3, 15, "(.*)"); + long limit = REQ_LONG(in, "limit", 1, -1); + long offset = REQ_LONG(in, "offset", 1, -1); + + + const PGresult *res; + res = pgsql_query("SELECT count(id) FROM promo_member WHERE admin_id = %lu", admin_id); + out["sum_total_record"] = pgsql_num_rows(res); + + res = pgsql_query("SELECT * FROM promo_member" + " WHERE admin_id = %lu ORDER BY id DESC LIMIT %lu OFFSET %lu ",admin_id,limit,offset); + + if (res != NULL && pgsql_num_rows(res) > 0) { + out["total_record"] = pgsql_num_rows(res); + + for (int i = 0, n = pgsql_num_rows(res); i < n; i++) { + mapf = pgsql_fetch_assoc(res, i); + if (f.empty()) continue; + CVars rec; + map_to_cvars(f, rec); + + snprintf(vname, sizeof (vname), "added_date_%05d", i); + out[vname] = rec["added_date"]; + + snprintf(vname, sizeof (vname), "firstname_%05d", i); + out[vname] = rec["firstname"]; + + snprintf(vname, sizeof (vname), "lastname_%05d", i); + out[vname] = rec["lastname"]; + + snprintf(vname, sizeof (vname), "email_%05d", i); + out[vname] = rec["email"]; + + snprintf(vname, sizeof (vname), "status_%05d", i); + out[vname] = rec["status"]; + + } + } + ret = PHP_API_OK; + out["status"] = "OK"; + } catch (bad_parameter) { + logfmt(logINFO, "ERROR CALL long WrenchPromoGetList(CVars in, CVars &out)"); + } + + logfmt( logINFO, "/WrenchPromoGetList()" ); + return 0; +} + long WrenchPromoAddList(CVars in, CVars &out){ logfmt(logINFO, "WrenchPromoAdminLogin()"); char vname[30];