Backend Service

This commit is contained in:
2019-03-09 16:32:54 +00:00
parent 9a2a5a7bb0
commit d26aaf1cdc
6 changed files with 235 additions and 13 deletions
+189 -10
View File
@@ -133,7 +133,7 @@ long MemberSessionCheck(long uid, const char *sessionid, int create) {
long CreateMember(CVars in, CVars &out) {
long ret = PHP_API_BAD_PARAM;
logfmt(logINFO, "medTrCreateMember()");
logfmt(logINFO, "CreateMember()");
try {
@@ -233,17 +233,48 @@ long CreateMember(CVars in, CVars &out) {
// ==============
}
}
}catch (bad_parameter) {
logfmt(logINFO, "ERROR CALL medTrCreateMember");
}catch (bad_parameter) {
logfmt(logINFO, "ERROR CALL CreateMember");
}
logfmt(logINFO, "/CreateMember()");
return ret;
}
long getMemberProfile(CVars in, CVars &out);
long MemberProfile(CVars in, CVars &out){
try{
long task_mode = REQ_LONG(in, "task_mode", 0, -1);
REQ_LONG(in, "member_id", 0, -1);
switch (task_mode) {
case MODE_SETVALUE:
return medTrUpdateProfile(in, out);
break;
case MODE_GETVALUE:
return getMemberProfile(in, out);
break;
}
}catch (bad_parameter) {
logfmt(logINFO, "ERROR CALL CreateMember");
}
logfmt(logINFO, "/MemberReminders()");
return 0;
}
long getMemberProfile(CVars in, CVars &out) {
long ret = load_db_record(out, "SELECT UPPER( md5( now()::text) ) AS sessionid,m.*,mp.*,m.id AS member_id,mp.id AS member_profile_id FROM members m \
LEFT JOIN members_profile mp ON mp.member_id = m.id \
WHERE m.id = %lu", in["member_id"].Long());
// We need to have the session back
load_db_record(out, "SELECT * FROM members_session WHERE member_id = %lu ORDER BY id DESC limit 1", in["member_id"].Long());
}
logfmt(logINFO, "/medTrCreateMember()");
return ret;
}
@@ -319,6 +350,154 @@ long medTrUpdateProfile(CVars in, CVars &out) {
return ret;
}
/*
"sessionid" => $sessionid,
"practice_id" => 0,
"encounter_id"=> 0,
"member_id" => "1",
"description"=> $description,
"repeat" => $repeat,
"start_date" => $start_date,
"end_date" => $end_date,
"reminder" => rand(0,3)
*/
long setMemberReminders(CVars in, CVars &out);
long getMemberReminders(CVars in, CVars &out);
long MemberReminders(CVars in, CVars &out)
{
try{
long task_mode = REQ_LONG(in, "task_mode", 0, -1);
switch (task_mode) {
case USER_CREATETASK:
return setMemberReminders(in, out);
break;
case USER_LOADTASK:
return getMemberReminders(in, out);
break;
}
}catch (bad_parameter) {
logfmt(logINFO, "ERROR CALL CreateMember");
}
logfmt(logINFO, "/MemberReminders()");
return 0;
}
long setMemberReminders(CVars in, CVars &out) {
long ret = PHP_API_BAD_PARAM;
logfmt(logINFO, "CreateMember()");
try {
REQ_LONG(in, "member_id", 0, -1);
REQ_LONG(in, "practice_id", 0, -1);
REQ_LONG(in, "encounter_id", 0, -1);
REQ_STRING(in, "description", 5, 99, "(.*)");
REQ_LONG(in, "repeat", 0, -1);
REQ_STRING(in, "start_date", 2, 15, "(.*)");
REQ_STRING(in, "end_date", 2, 15, "(.*)");
REQ_LONG(in, "reminder", 0, -1);
//REQ_STRING (in, "sessionid", 4, 40, "(.*)");
const char * loc = getenv("REMOTE_ADDR");
ret = load_db_record(out, "SELECT *,id AS member_id FROM members WHERE id=%lu ", in["member_id"].Long());
if (ret > 0) {
// LETS CREATE REMINDER
CVars x;
x["member_id"] = in["member_id"];
x["member_id"].set_valid(true);
x["practice_id"] = in["practice_id"];
x["practice_id"].set_valid(true);
x["encounter_id"] = in["encounter_id"];
x["encounter_id"].set_valid(true);
x["description"] = in["description"];
x["description"].set_valid(true);
x["loc"] = in["loc"];
x["loc"].set_valid(true);
x["repeat"] = in["repeat"];
x["repeat"].set_valid(true);
x["reminder"] = in["reminder"];
x["reminder"].set_valid(true);
x["start_date"] = in["start_date"];
x["start_date"].set_valid(true);
x["end_date"] = in["end_date"];
x["end_date"].set_valid(true);
out["member_reminder_id"] = insert_db_record(DBS_VALID, "members_reminders", "members_reminders_id_seq", x);
if (out["member_reminder_id"].Long() > 0) {
//---emailbad member_email_calls(MERMS_USER_CREATEACCOUNT, out, out);
}
}
}catch (bad_parameter) {
logfmt(logINFO, "ERROR CALL CreateMember");
}
logfmt(logINFO, "/CreateMember()");
return ret;
}
/*
"sessionid" => $sessionid,
"practice_id" => 0,
"encounter_id"=> 0,
"member_id" => "1",
"description"=> $description,
"repeat" => $repeat,
"start_date" => $start_date,
"end_date" => $end_date,
"reminder" => rand(0,3)
status = 1
*/
long getMemberReminders(CVars in, CVars &out) {
long ret = PHP_API_BAD_PARAM;
char vname[20];
try {
// REQ_LONG(in, "status", 0, -1);
REQ_LONG( in, "member_id", 0, -1);
out["total_record"] = "0";
const PGresult *res = pgsql_query("SELECT * FROM members_reminders WHERE member_id = %lu status = 1 ORDER BY agent_name ASC",in["member_id"].Long());
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), "description_%05d", i);
out[vname] = rec["description"];
snprintf(vname, sizeof (vname), "repeat_%05d", i);
out[vname] = rec["repeat"];
snprintf(vname, sizeof (vname), "start_date_%05d", i);
out[vname] = rec["start_date"];
snprintf(vname, sizeof (vname), "end_date_%05d", i);
out[vname] = rec["end_date"];
snprintf(vname, sizeof (vname), "reminder_%05d", i);
out[vname] = rec["reminder"];
}
}
ret = PHP_API_OK;
out["status"] = "OK";
} catch (bad_parameter) {
logfmt(logINFO, "ERROR CALL long getMemberReminders(CVars in, CVars &out)");
}
return ret;
}
//------------------------------------------------------