From 92599079ebde15f44e18597b62ad267dde00be1f Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Mon, 4 Dec 2023 19:48:27 -0500 Subject: [PATCH] new call --- wrenchboard/src/shared_tool/account_mngt.cc | 94 +++++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/wrenchboard/src/shared_tool/account_mngt.cc b/wrenchboard/src/shared_tool/account_mngt.cc index c756b474..88aee79d 100644 --- a/wrenchboard/src/shared_tool/account_mngt.cc +++ b/wrenchboard/src/shared_tool/account_mngt.cc @@ -395,6 +395,100 @@ long WrenchMemberMarketMessages(CVars in, CVars &out) { return ret; } +long WrenchMemberOwnerMarketMessages(CVars in, CVars &out) { + logfmt(logINFO, "WrenchMemberOwnerMarketMessages()"); + 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); + OPTIONAL(in, "offer_code") REQ_STRING(in, "offer_code", 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), " "); + } + + if( in["offer_code"] !=""){ + snprintf(vname_memo, sizeof (vname_memo), " AND LOWER(TRIM(mm.memo)) = LOWER('%s') ",in["offer_code"].c_str() ); + } + else{ + snprintf(vname_memo, sizeof (vname_memo), " " ); + } + 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.uid, " + " 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.member_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++) { + mapf = pgsql_fetch_assoc(res, i); + if (f.empty()) continue; + CVars rec; + map_to_cvars(f, rec); + + snprintf(vname, sizeof (vname), "msg_uid_%05d", i); + out[vname] = rec["uid"]; + + 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); + 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 WrenchMemberOwnerMarketMessages(CVars in, CVars &out)"); + } + logfmt(logINFO, "/WrenchMemberOwnerMarketMessages()"); + return ret; +} + long WrenchReturnMemberMessages(CVars in, CVars &out) { logfmt(logINFO, "WrenchReturnMemberMessages()"); char vname[60];