link process
This commit is contained in:
@@ -41,7 +41,7 @@ long RegisterPromoPoint(CVars in);
|
||||
long RegisterPromoAction(CVars in);
|
||||
long ReferEmailsCleanup();
|
||||
long ReferEmailsNotification();
|
||||
|
||||
long ReferLinkProcessing();
|
||||
/*
|
||||
CREATE TABLE cron_jobs (
|
||||
id SERIAL,
|
||||
@@ -278,6 +278,7 @@ long RefreshPromoActivities(CVars in, CVars &out){
|
||||
}
|
||||
}
|
||||
|
||||
ReferLinkProcessing(); // handles refer links entries
|
||||
ReferEmailsCleanup(); // clean up account refer
|
||||
ReferEmailsNotification(); // end emsil if needed
|
||||
ret = PHP_API_OK;
|
||||
@@ -289,6 +290,60 @@ long RefreshPromoActivities(CVars in, CVars &out){
|
||||
return ret;
|
||||
}
|
||||
|
||||
long ReferLinkProcessing(){
|
||||
long ret = PHP_API_BAD_PARAM;
|
||||
const PGresult *res;
|
||||
//in["promo"].c_str(), in["limit"].Long()
|
||||
CVars out, in;
|
||||
res = pgsql_query(" SELECT substring(refer_link,0,9) AS uid_part,email, id , uid substring(refer_link,9)::INT AS member_id, FROM referlink_signup "
|
||||
" WHERE status = 1 LIMIT 20");
|
||||
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);
|
||||
|
||||
pgsql_query("UPDATE referlink_signup SET member_id=%lu WHERE id =%lu", rec["member_id"].Long(), rec["id"].Long());
|
||||
|
||||
if ( load_db_record(out, "SELECT * from members_pending WHERE refer_link = '%s' ORDER BY id DESC limit 1", rec["refer_link"].c_str())> 0){
|
||||
CVars x;
|
||||
x["member_id"] = rec["member_id"];
|
||||
x["member_id"].set_valid(true);
|
||||
x["firstname"] = out["firstname"];
|
||||
x["firstname"].set_valid(true);
|
||||
x["email"] = rec["email"];
|
||||
x["email"].set_valid(true);
|
||||
x["lastname"] = out["lastname"];
|
||||
x["lastname"].set_valid(true);
|
||||
|
||||
int r1, r2, r3;
|
||||
char refer_link[100];
|
||||
srand(time(NULL));
|
||||
r1 = abs(rand()*100000000);
|
||||
srand(time(NULL));
|
||||
r2 = abs(rand() * r1);
|
||||
srand(time(NULL));
|
||||
r3 = abs(rand() * r2);
|
||||
sprintf(refer_link, "WRENREF-%09lu-%08lu-%08lu", r1, r2, r3);
|
||||
x["refer_link"] = refer_link;
|
||||
x["refer_link"].set_valid(true);
|
||||
long refer_id = 0;
|
||||
refer_id = insert_db_record(DBS_VALID, "members_refer_friend", "members_refer_friend_id_seq", x);
|
||||
if( refer_id > 0){
|
||||
pgsql_query("UPDATE referlink_signup SET status=5 WHERE id =%lu", rec["id"].Long());
|
||||
}
|
||||
|
||||
}
|
||||
// pgsql_query("UPDATE referlink_signup SET email_sent=now() WHERE id =%lu", rec["promo_id"].Long());
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
long ReferEmailsNotification(){
|
||||
long ret = PHP_API_BAD_PARAM;
|
||||
const PGresult *res;
|
||||
|
||||
Reference in New Issue
Block a user