return WrenchMemberMarketMessages(in, out);

This commit is contained in:
CHIEFSOFT\ameye
2023-12-04 11:07:14 -05:00
parent 203e7fc301
commit b7f85a80c3
4 changed files with 98 additions and 2 deletions
+1
View File
@@ -9,6 +9,7 @@ long CreateWrenchBoardAccountPending(CVars in, CVars &out);
long CompleteMobileAccountCreation(CVars in, CVars &out);
long WrenchReturnJobList(CVars in, CVars &out);
long WrenchReturnMemberMessages(CVars in, CVars &out);
long WrenchMemberMarketMessages(CVars in, CVars &out)
long WrenchMemberActiveJobs(CVars in, CVars &out);
long WrenchReturnMemberPaymentHx(CVars in, CVars &out);
long WrenchReturnMemberBankAccount(CVars in, CVars &out);
+2 -1
View File
@@ -154,7 +154,8 @@ long account_calls(CVars in, CVars &out) {
break;
case WRENCHBOARD_MOBILE_MESSAGE:
return WrenchReturnMemberMessages(in, out);
// return WrenchReturnMemberMessages(in, out);
return WrenchMemberMarketMessages(in, out);
break;
case WRENCHBOARD_MOBILE_ACTIVEJOB:
@@ -302,6 +302,99 @@ long WrenchReturnMemberPaymentHx(CVars in, CVars &out) {
}
long WrenchMemberMarketMessages(CVars in, CVars &out) {
logfmt(logINFO, "WrenchMemberMarketMessages()");
char vname[60];
char vname_memo[60];
long ret = PHP_API_BAD_PARAM;
long msg_id = 0;
try {
long limit = REQ_LONG(in, "limit", 1, -1);
long member_id = REQ_LONG(in, "member_id", 1, -1);
REQ_LONG(in, "page", 1, -1);
OPTIONAL(in, "recent") REQ_LONG(in, "recent", 1, -1);
REQ_STRING(in, "contract", 5, 25, "(.*)");
// this section ;limit recent or not recent
if ( in["recent"].Long() == 1 ){
snprintf(vname, sizeof (vname), " AND now() < mm.added + '96 hours' ");
}
else
{snprintf(vname, sizeof (vname), " ");
}
snprintf(vname_memo, sizeof (vname_memo), " AND LOWER(TRIM(mm.memo)) = LOWER('%s') ",in["contract"].c_str() );
out["total_record"] = "0";
const PGresult *res;
res = pgsql_query("SELECT to_char(mm.added, 'Day Mon dd, yyyy HH:MI AM') AS msg_date,mm.msg,mm.id AS msg_id ,mm.senders_id , mm.msg_type, "
" mm.memo,ms.firstname AS msg_from,mm.reply,mm.member_id,mm.uid,TRIM(mm.memo) AS memo FROM members_messages mm "
" LEFT JOIN members ms ON ms.id =mm.senders_id WHERE mm.senders_id = %lu %s %s"
" ORDER BY msg_id DESC LIMIT %lu", in["member_id"].Long(),vname,vname_memo, limit);
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), "msg_id_%05d", i);
out[vname] = rec["msg_id"];
snprintf(vname, sizeof (vname), "msg_date_%05d", i);
out[vname] = rec["msg_date"];
snprintf(vname, sizeof (vname), "msg_%05d", i);
out[vname] = rec["msg"];
snprintf(vname, sizeof (vname), "msg_from_%05d", i);
if (rec["senders_id"] == in["member_id"] ){
out[vname] = "You";
}
else{
out[vname] = rec["msg_from"];
}
snprintf(vname, sizeof (vname), "senders_id_%05d", i);
out[vname] = rec["senders_id"];
snprintf(vname, sizeof (vname), "member_id_%05d", i);
out[vname] = rec["member_id"];
snprintf(vname, sizeof (vname), "reply_%05d", i);
out[vname] = rec["reply"];
snprintf(vname, sizeof (vname), "uid_%05d", i);
out[vname] = rec["uid"];
snprintf(vname, sizeof (vname), "memo_%05d", i);
out[vname] = rec["memo"];
snprintf(vname, sizeof (vname), "message_mode_%05d", i);
if (rec["senders_id"] == in["member_id"] ){
out[vname] = "sender";
}
else{
out[vname] = "recipient";
}
}
}
ret = PHP_API_OK;
out["status"] = "OK";
} catch (bad_parameter) {
logfmt(logINFO, "ERROR CALL long WrenchMemberMarketMessages(CVars in, CVars &out)");
}
logfmt(logINFO, "/WrenchMemberMarketMessages()");
return ret;
}
long WrenchReturnMemberMessages(CVars in, CVars &out) {
logfmt(logINFO, "WrenchReturnMemberMessages()");
char vname[60];
+2 -1
View File
@@ -49,7 +49,8 @@ long mobile_calls(CVars in, CVars &out) {
break;
case WRENCHBOARD_MOBILE_MESSAGE:
return WrenchReturnMemberMessages(in, out);
//return WrenchReturnMemberMessages(in, out);
return WrenchMemberMarketMessages(in, out);
break;
case WRENCHBOARD_MOBILE_PAYMENTHX:
return WrenchReturnMemberPaymentHx( in, out);