diff --git a/wrenchboard/src/shared_tool/payments.cc b/wrenchboard/src/shared_tool/payments.cc index accf5ccd..d8261bc5 100644 --- a/wrenchboard/src/shared_tool/payments.cc +++ b/wrenchboard/src/shared_tool/payments.cc @@ -122,8 +122,10 @@ long WrenchFamilyPayment( CVars in, CVars &out ) in["loc"] = loc; in["loc"].set_valid(true); long member_id = REQ_LONG( in, "member_id", 1, -1 ); + long recipient_id = REQ_LONG( in, "recipient", 1, -1 ); REQ_STRING(in, "currency", 2, 20, "(.*)"); - REQ_STRING(in, "origing_wallet_uid", 2, 50, "(.*)"); + REQ_STRING(in, "origing_wallet", 2, 50, "(.*)"); + REQ_STRING(in, "target_wallet", 2, 50, "(.*)"); // REQ_STRING (in, "code", 4, 15, "(.*)"); long code_id = 0; /// REQ_LONG( in, "code_id", 1, -1 ); @@ -146,13 +148,22 @@ long WrenchFamilyPayment( CVars in, CVars &out ) { in["curr_balance"] =out["curr_balance"]; in["curr_balance"].set_valid( true ); logfmt(FLOG_MAX, "Current balance Read ********************" ); } + else { + out["status"] = "wallet_balance_not_found"; + return ret; /* unable to read wallet*/ } + + if (load_db_record( out, "SELECT amount AS rec_curr_balance FROM members_wallet " + " WHERE member_id = %lu AND currency='%s' AND uid = '%s'", recipient_id, vw["currency"].c_str(), in["target_wallet"].c_str()) > 0 ) // + { in["rec_curr_balance"] =out["rec_curr_balance"]; in["rec_curr_balance"].set_valid( true ); + logfmt(FLOG_MAX, "Current balance Read ********************" ); + } else { out["status"] = "wallet_balance_not_found"; return ret; /* unable to read wallet*/ } long retDb2 = load_db_record( out, "SELECT * FROM family_transfer " - " WHERE member_id = %lu AND code ='%s' AND id = %lu AND active IS NULL", in["member_id"].Long(), in["code"].c_str(),code_id ); + " WHERE member_id = %lu AND currency ='%s' AND id = %lu AND active IS NULL", in["member_id"].Long(), in["currency"].c_str(),transfer_id ); if (retDb2>0) { in["coupon_amount"] =out["amount"]; in["coupon_amount"].set_valid( true );