From 2137b7f4bee1c455f8af1fd2fcc5163bf4b7c2b8 Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Fri, 18 Oct 2024 09:02:32 -0400 Subject: [PATCH] wallet backend --- wrenchboard/src/include/wrenchboard_api.h | 2 + wrenchboard/src/shared_tool/account.cc | 68 +++++++++++++++++------ www-api/app/Config/Constants.php | 2 + www-api/app/Controllers/WrenchWallet.php | 1 + 4 files changed, 56 insertions(+), 17 deletions(-) diff --git a/wrenchboard/src/include/wrenchboard_api.h b/wrenchboard/src/include/wrenchboard_api.h index d5becc65..182de733 100644 --- a/wrenchboard/src/include/wrenchboard_api.h +++ b/wrenchboard/src/include/wrenchboard_api.h @@ -270,6 +270,8 @@ enum { PARTNER_STRIPE }; #define WRENCHBOARD_ACCOUNT_MYPAGE 11070 #define WRENCHBOARD_ACCOUNT_PAGEINTRO 11071 +#define WRENCHBOARD_VIRTUAL_CARDADD 11080 + #define WRENCHBOARD_ACCOUNT_PRICE_COMBO 11171 #define WRENCHBOARD_ACCOUNT_JOBPOST_DURATION 11173 #define WRENCHBOARD_ACCOUNT_USER_RECIPEINT 11175 diff --git a/wrenchboard/src/shared_tool/account.cc b/wrenchboard/src/shared_tool/account.cc index a32cf6c1..2267af5b 100644 --- a/wrenchboard/src/shared_tool/account.cc +++ b/wrenchboard/src/shared_tool/account.cc @@ -129,6 +129,7 @@ long test() { } long WrenchTestWalletCapability(CVars in, CVars &out); long WrenchImportContacts(CVars in, CVars &out); +long WrenchRequestVirtualCard(CVars in, CVars &out); long account_calls(CVars in, CVars &out) { logfmt(logINFO, "account_calls()"); @@ -244,27 +245,10 @@ long account_calls(CVars in, CVars &out) { break; case WRENCHBOARD_ACCOUNT_PENDING: - /* - if ( load_db_record(out, "SELECT uid FROM members_pending WHERE LOWER(username)=LOWER('%s')",in["username"].c_str()) ){ - out["acc"]="DULPICATE"; - return -1; - } - if ( load_db_record(out, "SELECT uid FROM members WHERE LOWER(username)=LOWER('%s')",in["username"].c_str()) ){ - out["acc"]="DULPICATE"; - return -1; - }*/ return CreateWrenchBoardAccountPending(in, out); break; case WRENCHBOARD_ACCOUNT_CREATEACC: - /*if ( load_db_record(out, "SELECT uid FROM members_pending WHERE LOWER(username)=LOWER('%s')",in["username"].c_str()) ){ - out["acc"]="DULPICATE"; - return -1; - } - if ( load_db_record(out, "SELECT uid FROM members WHERE LOWER(username)=LOWER('%s')",in["username"].c_str()) ){ - out["acc"]="DULPICATE"; - return -1; - }*/ return CreateWrenchBoardAccount(in, out); break; @@ -524,6 +508,9 @@ long account_calls(CVars in, CVars &out) { return WrenchMyPageIntro(in, out); break; + case WRENCHBOARD_VIRTUAL_CARDADD: + return WrenchRequestVirtualCard(in, out); + break; } logfmt(logINFO, "/account_calls()"); return ret; @@ -531,6 +518,53 @@ long account_calls(CVars in, CVars &out) { #define PHP_API_TRANSFER_COMPLETE 200 +long WrenchRequestVirtualCard(CVars in, CVars &out) { + CVars x; + long ret = PHP_API_BAD_PARAM; + logfmt(logINFO, "long WrenchRequestVirtualCard(CVars in, CVars out)"); + + try{ + long member_id = REQ_LONG(in, "member_id", 1, -1); + long request_type = REQ_LONG(in, "request_type", 1, -1); + + REQ_STRING(in, "uid", 20, 100, "(.*)"); + REQ_STRING(in, "target_uid", 20, 100, "(.*)"); + REQ_STRING(in, "address", 20, 150, "(.*)"); + REQ_STRING(in, "city", 2, 50, "(.*)"); + REQ_STRING(in, "state", 1, 15, "(.*)"); + REQ_STRING(in, "country", 1, 3, "(.*)"); + REQ_STRING(in, "postal_code", 1, 10, "(.*)"); + REQ_STRING(in, "phone_number", 5, 15, "(.*)"); + + long dob_day = REQ_LONG(in, "dob_day", 1, -1); + long dob_month = REQ_LONG(in, "dob_month", 1, -1); + long dob_year = REQ_LONG(in, "dob_year", 1, -1); + + const PGresult *res = pgsql_query("SELECT id AS request_id FROM members_card_request WHERE member_id=%lu", member_id); + if (res != NULL && pgsql_num_rows(res) > 0) { + + } else { + x["member_id"] = member_id; x["member_id"].set_valid(true); + x["member_uid"] = in["uid"]; x["member_uid"].set_valid(true); + x["target_uid"] = in["target_uid"]; x["target_uid"].set_valid(true); + x["address"] = in["address"]; x["address"].set_valid(true); + x["request_type"] = in["request_type"]; x["request_type"].set_valid(true); + x["city"] = in["city"]; x["city"].set_valid(true); + x["state"] = in["state"]; x["state"].set_valid(true); + x["country"] = in["country"]; x["country"].set_valid(true); + x["postal_code"] = in["postal_code"]; x["postal_code"].set_valid(true); + x["phone_number"] = in["phone_number"]; x["phone_number"].set_valid(true); + x["dob_day"] = in["dob_day"]; x["dob_day"].set_valid(true); + x["dob_month"] = in["dob_month"]; x["dob_month"].set_valid(true); + x["dob_year"] = in["dob_year"]; x["dob_year"].set_valid(true); + long sid = insert_db_record(DBS_VALID, "members_card_request", "members_card_request_id_seq", x); + ret = PHP_API_OK; + } + } catch (bad_parameter) { + out["status"] = "ERROR"; + } + return ret; +} long WrenchImportContacts(CVars in, CVars &out) { long ret = PHP_API_BAD_PARAM; diff --git a/www-api/app/Config/Constants.php b/www-api/app/Config/Constants.php index e28dc18d..fa15d52b 100644 --- a/www-api/app/Config/Constants.php +++ b/www-api/app/Config/Constants.php @@ -263,6 +263,8 @@ define('WRENCHBOARD_ACCOUNT_UPDATE_PREFS', 11066); define('WRENCHBOARD_ACCOUNT_MYPAGE', 11070); define('WRENCHBOARD_ACCOUNT_PAGEINTRO', 11071); +const WRENCHBOARD_VIRTUAL_CARDADD = 11080; + define('WRENCHBOARD_ACCOUNT_PRICE_COMBO', 11171); define('WRENCHBOARD_ACCOUNT_JOBPOST_DURATION', 11173); define('WRENCHBOARD_ACCOUNT_USER_RECIPEINT', 11175); diff --git a/www-api/app/Controllers/WrenchWallet.php b/www-api/app/Controllers/WrenchWallet.php index 14a8a09b..29ac8ea7 100644 --- a/www-api/app/Controllers/WrenchWallet.php +++ b/www-api/app/Controllers/WrenchWallet.php @@ -64,6 +64,7 @@ class WrenchWallet extends BaseController log_message('critical', "WrenchWallet::requestVirtualCard Path GATE ***"); $raw_json = file_get_contents('php://input'); $in = json_decode($raw_json, true); + $in["action"] = WRENCHBOARD_VIRTUAL_CARDADD; $out=[]; $local_url = "http://".$this->micro_service_net1.":3038/create";