From 9f1a7e76ca5a2fb9f1ebc65bb8485a10b37d3938 Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Mon, 30 Oct 2023 13:32:27 -0400 Subject: [PATCH] family_transfer --- wrenchboard/src/include/wrenchboard_api.h | 1 + wrenchboard/src/shared_tool/family_acc.cc | 95 +++++++++++++++++++++++ 2 files changed, 96 insertions(+) diff --git a/wrenchboard/src/include/wrenchboard_api.h b/wrenchboard/src/include/wrenchboard_api.h index d06cee03..893a30ca 100644 --- a/wrenchboard/src/include/wrenchboard_api.h +++ b/wrenchboard/src/include/wrenchboard_api.h @@ -341,6 +341,7 @@ enum { PARTNER_STRIPE }; #define WRENCHBOARD_FAMILY_LIST 22010 #define WRENCHBOARD_FAMILY_WALLET 22012 +#define WRENCHBOARD_FAMILY_TRANSFERHX 22011 #define WRENCHBOARD_FAMILY_TRANSFERSTART 22013 #define WRENCHBOARD_FAMILY_TRANSFER 22014 diff --git a/wrenchboard/src/shared_tool/family_acc.cc b/wrenchboard/src/shared_tool/family_acc.cc index f09ccfcf..db1978e1 100644 --- a/wrenchboard/src/shared_tool/family_acc.cc +++ b/wrenchboard/src/shared_tool/family_acc.cc @@ -31,6 +31,7 @@ long WrenchSuggestWaitingList(CVars in, CVars &out); long WrenchSuggestTaskStatus(CVars in, CVars &out); long WrenchFamilyTransferStart(CVars in, CVars &out); long WrenchFamilyTransfer(CVars in, CVars &out); +long WrenchFamilyTransferHx(CVars in, CVars &out); long family_calls(CVars in, CVars &out){ logfmt(logINFO, "family_calls()"); @@ -55,6 +56,10 @@ long family_calls(CVars in, CVars &out){ return WrenchFamilyTransferStart(in, out); break; + case WRENCHBOARD_FAMILY_TRANSFERHX: + return WrenchFamilyTransferHx(in, out); + break; + case WRENCHBOARD_FAMILY_TRANSFER: return WrenchFamilyTransfer(in, out); break; @@ -545,6 +550,96 @@ CREATE TABLE family_transfer ( return 0; } +long WrenchFamilyTransferHx(CVars in, CVars &out){ + + logfmt(logINFO, "ENTER CALL long WrenchFamilyTransferHx"); + char vname[30]; + long ret = PHP_API_BAD_PARAM; + const PGresult *res; + try{ + long member_id = REQ_LONG(in, "member_id", 1, -1); + long offset = REQ_LONG(in, "offset", 1, -1); + long limit = REQ_LONG(in, "limit", 1, -1); + + out["total_record"] = "0"; +/* +wrenchboard=> \d family_transfer + Table "public.family_transfer" + Column | Type | Collation | Nullable | Default +----------------+-----------------------------+-----------+----------+--------------------------------------------- + id | integer | | not null | nextval('family_transfer_id_seq'::regclass) + uid | uuid | | | uuid_generate_v4() + member_id | integer | | not null | + recipient | integer | | not null | + origing_wallet | character varying(150) | | not null | + target_wallet | character varying(150) | | not null | + amount | integer | | | 0 + currency | character varying(5) | | | + description | character varying(150) | | | + status | integer | | | 1 + flags | integer | | | 0 + added | timestamp without time zone | | | now() + updated | timestamp without time zone | | | now() + pay_confirm | character varying(15) | | | + credit_confirm | character varying(15) | | | +Indexes: + +*/ + + res = pgsql_query(" SELECT * FROM family_transfer WHERE member_id = %lu AND status IN ( 1 ) " + " ORDER BY created DESC LIMIT %lu OFFSET %lu", member_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), "uid_%05d", i); + out[vname] = rec["uid"]; + + snprintf(vname, sizeof (vname), "amount_%05d", i); + out[vname] = rec["amount"]; + + snprintf(vname, sizeof (vname), "recipient_%05d", i); + out[vname] = rec["recipient"]; + + snprintf(vname, sizeof (vname), "description_%05d", i); + out[vname] = rec["description"]; + + snprintf(vname, sizeof (vname), "flags_%05d", i); + out[vname] = rec["flags"]; + + snprintf(vname, sizeof (vname), "status_%05d", i); + out[vname] = rec["status"]; + + snprintf(vname, sizeof (vname), "confirmation_%05d", i); + out[vname] = rec["credit_confirm"]; + + snprintf(vname, sizeof (vname), "added_%05d", i); + out[vname] = rec["added"]; + + + } + } + ret = PHP_API_OK; + out["status"] = "OK"; + + } catch (bad_parameter) { + logfmt(logINFO, "ERROR CALL long WrenchFamilyTransferHx"); + } + + logfmt(logINFO, "WrenchFamilyTransferHx()"); + return ret; + + + + +} + long WrenchFamilyTransferStart(CVars in, CVars &out){ logfmt(logINFO, "ENTER CALL long WrenchFamilyWallet");