family wallet

This commit is contained in:
CHIEFSOFT\ameye
2023-10-30 08:01:03 -04:00
parent d7b036a3df
commit b3af52ebb0
+14 -6
View File
@@ -2027,12 +2027,14 @@ long WrenchBoardCreateFamilyAcc(CVars in, CVars &out){
long LoginWrenchBoardFamilyLogin(CVars in, CVars &out){
long ret = PHP_API_BAD_PARAM;
long family_member_id = 0;
long parent_member_id = 0;
long wallet_id = 0;
logfmt(logINFO, "********~~~~~~~~ ------LoginWrenchBoardFamilyLogin()");
try {
REQ_STRING(in, "username", 5, 49, "(.*)");
REQ_STRING(in, "pin", 4, 10, "(.*)");
const PGresult *res = pgsql_query(" SELECT id AS family_id,* FROM members_family "
const PGresult *res = pgsql_query(" SELECT member_id AS parent_member_id, id AS family_id,* FROM members_family "
" WHERE username='%s' AND pin='%s' ", in["username"].c_str(),in["pin"].c_str());
if (res != NULL && pgsql_num_rows(res) > 0) {
map<const char*, const char*>f = pgsql_fetch_assoc(res, 0);
@@ -2044,16 +2046,22 @@ long LoginWrenchBoardFamilyLogin(CVars in, CVars &out){
}
else{
family_member_id = rec["family_member_id"].Long();
parent_member_id = rec["parent_member_id"].Long();
}
if (family_member_id > 0){
if (family_member_id > 0 && parent_member_id > 0){
load_db_record(out, "SELECT *,id AS member_id , to_char(last_login, 'Day Mon dd, yyyy HH:MI AM') AS last_login2 "
" FROM members WHERE status=1 AND id = %lu",family_member_id);
// default parent wallet based on country
CVars vw;
vw["currency"] = "NAIRA"; // this might become a variable based on the country
vw["currency"].set_valid( true );
long wallet_id = CheckWallet(out["member_id"].Long(),vw);
load_db_record( out, "SELECT amount AS balance FROM members_wallet WHERE member_id = %lu AND currency='%s' ", out["member_id"].Long(), vw["currency"].c_str());
if( load_db_record(vw, "SELECT c.code AS currency from members m LEFT JOIN currency c ON c.country = m.country WHERE m.id >1 AND m.country IS NOT NULL",parent_member_id)> 0 ){
// vw["currency"] = "NAIRA"; // this might become a variable based on the country
//vw["currency"].set_valid( true );
wallet_id = CheckWallet(out["member_id"].Long(),vw);
load_db_record( out, "SELECT amount AS balance FROM members_wallet WHERE member_id = %lu AND currency='%s' ", out["member_id"].Long(), vw["currency"].c_str());
}
pgsql_exec("DELETE FROM members_session WHERE member_id=%ld ", out["member_id"].Long());
// remove all existing session
load_db_record(in, "SELECT upper(md5(now()::text))||''|| upper(md5(now()::date::text)) AS sessionid");