family_transfer

This commit is contained in:
CHIEFSOFT\ameye
2023-10-30 13:32:27 -04:00
parent 0536479e6d
commit 9f1a7e76ca
2 changed files with 96 additions and 0 deletions
@@ -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
+95
View File
@@ -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++) {
map<const char*, const char*>f = 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");