link process

This commit is contained in:
CHIEFSOFT\ameye
2024-12-02 15:46:41 -05:00
parent c5af776524
commit 09eeb9f05a
+56 -1
View File
@@ -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;