From d60dd650787ffa281f0366121bdd06014fbee519 Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Sat, 9 Dec 2023 10:45:38 -0500 Subject: [PATCH] Notifications --- wrenchboard/src/include/account_mngt.h | 1 + wrenchboard/src/include/wrenchboard_api.h | 1 + wrenchboard/src/shared_tool/account.cc | 6 +- wrenchboard/src/shared_tool/account_mngt.cc | 60 +++++++++++++++++++ www-api/app/Config/Constants.php | 27 +++++---- .../app/Controllers/WrenchNotifications.php | 2 +- 6 files changed, 82 insertions(+), 15 deletions(-) diff --git a/wrenchboard/src/include/account_mngt.h b/wrenchboard/src/include/account_mngt.h index ef5da705..c8108965 100644 --- a/wrenchboard/src/include/account_mngt.h +++ b/wrenchboard/src/include/account_mngt.h @@ -15,6 +15,7 @@ long WrenchMemberOwnerMarketMessages(CVars in, CVars &out); long WrenchMemberActiveJobs(CVars in, CVars &out); long WrenchReturnMemberPaymentHx(CVars in, CVars &out); long WrenchReturnMemberBankAccount(CVars in, CVars &out); +long WrenchReturnMemberNotifications(CVars in, CVars &out); long WrenchAccountSettings( CVars in, CVars &out ); #endif diff --git a/wrenchboard/src/include/wrenchboard_api.h b/wrenchboard/src/include/wrenchboard_api.h index 2aeaa3b0..1054e76e 100644 --- a/wrenchboard/src/include/wrenchboard_api.h +++ b/wrenchboard/src/include/wrenchboard_api.h @@ -221,6 +221,7 @@ enum { PARTNER_STRIPE }; #define WRENCHBOARD_ACCOUNT_PENDJOB 11043 #define WRECNH_CREDIT_HOOKS_FULUTTER 11045 +#define WRENCHBOARD_ACCT_NOTIFICATIONS 11046 #define WRENCHBOARD_USER_GETBANKLIST 11050 #define WRENCHBOARD_USER_SENDMONEY 11051 diff --git a/wrenchboard/src/shared_tool/account.cc b/wrenchboard/src/shared_tool/account.cc index bbdd7b0a..7d418544 100644 --- a/wrenchboard/src/shared_tool/account.cc +++ b/wrenchboard/src/shared_tool/account.cc @@ -340,7 +340,11 @@ long account_calls(CVars in, CVars &out) { case WRENCHBOARD_ACCOUNT_PENDJOB: // user pending job return WrenchReturnPendingJobList(in, out); break; - + + case WRENCHBOARD_ACCT_NOTIFICATIONS: + return WrenchReturnMemberNotifications(in, out); + break; + case WRENCHBOARD_ACCOUNT_DASHDATA: return WrenchLoadDashData(in, out); break; diff --git a/wrenchboard/src/shared_tool/account_mngt.cc b/wrenchboard/src/shared_tool/account_mngt.cc index 88aee79d..8e3906fa 100644 --- a/wrenchboard/src/shared_tool/account_mngt.cc +++ b/wrenchboard/src/shared_tool/account_mngt.cc @@ -14,7 +14,67 @@ #include "payments.h" #include "account.h" +long WrenchReturnMemberNotifications(CVars in, CVars &out){ +/* +wrenchboard=> SELECT uid,icon,msg,added FROM members_notification WHERE member_id = 224 ORDER BY id DESC LIMIT 20; + uid | icon | msg | added +--------------------------------------+-----------+---------------------------------------------------------+---------------------------- + ea666d19-fc60-46a0-810c-1adafffd34f8 | alert.svg | You have received a new offer waiting for you to start! | 2023-12-08 04:40:32.205169 + 5374d9d4-87cf-4c2b-b374-48da88b917f3 | alert.svg | You have received a new offer waiting for you to start! | 2023-12-07 22:40:05.01972 + 98d0d413-eb1f-4f5e-b11b-ad8ef8a819c6 | alert.svg | You have received a new offer waiting for you to start! | 2023-12-07 16:40:01.842667 +(3 rows) + +*/ + logfmt(logINFO, "WrenchReturnMemberNotifications()"); + char vname[30]; + long ret = PHP_API_BAD_PARAM; + + 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); + + out["total_record"] = "0"; + + const PGresult *res; + + res = pgsql_query("SELECT uid,icon,msg,added FROM members_notification WHERE member_id = %lu ORDER BY id DESC LIMIT 20", in["member_id"].Long(),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), "uid_%05d", i); + out[vname] = rec["uid"]; + + snprintf(vname, sizeof (vname), "icon_%05d", i); + out[vname] = rec["icon"]; + + snprintf(vname, sizeof (vname), "msg_%05d", i); + out[vname] = rec["msg"]; + + snprintf(vname, sizeof (vname), "added_%05d", i); + out[vname] = rec["added"]; + + + } + } + ret = PHP_API_OK; + out["status"] = "OK"; + } catch (bad_parameter) { + logfmt(logINFO, "ERROR CALL long WrenchReturnMemberNotifications(CVars in, CVars &out)"); + } + logfmt(logINFO, "/WrenchReturnMemberNotifications()"); + return ret; + +return 0; +} long WrenchReturnMemberBankAccount(CVars in, CVars &out) { logfmt(logINFO, "WrenchReturnMemberBankAccount()"); diff --git a/www-api/app/Config/Constants.php b/www-api/app/Config/Constants.php index 77718467..b890f9c6 100644 --- a/www-api/app/Config/Constants.php +++ b/www-api/app/Config/Constants.php @@ -140,7 +140,7 @@ define('WRENCHBOARD_CREATE_ACCOUNT', 320); define('CONTRACT_CANCEL_CONTRACT', 7); define('CONTRACT_EXTEND_TIMELINE', 9); define('CONTRACT_NOTIFY_COMPLETE', 4); -define('CONTRACT_REQUEST_CANCEL', 3); +define('CONTRACT_REQUEST_CANCEL', 3); define('CONTRACT_REQUEST_TIMELINE', 2); define('CONTRACT_ACCEPT_COMPLETE', 5); define('CONTRACT_REJECT_COMPLETE', 1); @@ -214,21 +214,22 @@ define('WRENCHBOARD_APPLE_LOGIN', 11031); define('WRENCHBOARD_START_JOBLIST', 11028); define('WRENCHBOARD_ACCOUNT_DASHDATA', 11029); -define('WRENCHBOARD_SEND_CONTACTUS', 11030); -define('WRENCHBOARD_ACCOUNT_SENDREFER',11032); -define('WRENCHBOARD_ACCOUNT_REFERLINK',11033); -define('WRENCHBOARD_SESSION_VERIFY', 11034); -define('WRENCHBOARD_UPDATE_PROFILE',11035); -define('WRENCHBOARD_ACCOUNT_TERMS',11036); +define('WRENCHBOARD_SEND_CONTACTUS', 11030); +define('WRENCHBOARD_ACCOUNT_SENDREFER', 11032); +define('WRENCHBOARD_ACCOUNT_REFERLINK', 11033); +define('WRENCHBOARD_SESSION_VERIFY', 11034); +define('WRENCHBOARD_UPDATE_PROFILE', 11035); +define('WRENCHBOARD_ACCOUNT_TERMS', 11036); define('WRENCHBOARD_ACCOUNT_MDESCRIPTION',11037); -define('WRENCHBOARD_ACCOUNT_SAVESKILL', 11038); -define('WRENCHBOARD_ACCOUNT_DELSKILL', 11039); -define('WRENCHBOARD_LOG_MEMBER', 11040); +define('WRENCHBOARD_ACCOUNT_SAVESKILL', 11038); +define('WRENCHBOARD_ACCOUNT_DELSKILL', 11039); +define('WRENCHBOARD_LOG_MEMBER', 11040); -define('WRENCHBOARD_DELETE_RECACC', 11041); -define('WRENCHBOARD_SAVE_GALLERY', 11042); +define('WRENCHBOARD_DELETE_RECACC', 11041); +define('WRENCHBOARD_SAVE_GALLERY', 11042); -define('WRENCHBOARD_ACCOUNT_PENDJOB', 11043); +define('WRENCHBOARD_ACCOUNT_PENDJOB', 11043); +define('WRENCHBOARD_ACCT_NOTIFICATIONS', 11046); const WRECNH_CREDIT_HOOKS_FULUTTER = 11045; diff --git a/www-api/app/Controllers/WrenchNotifications.php b/www-api/app/Controllers/WrenchNotifications.php index c585da13..f6d1d65e 100644 --- a/www-api/app/Controllers/WrenchNotifications.php +++ b/www-api/app/Controllers/WrenchNotifications.php @@ -102,7 +102,7 @@ class WrenchNotifications extends BaseController } private function dummyData(){ - +//define('WRENCHBOARD_ACCT_NOTIFICATIONS', 11046); $ic =['alert.svg','message.svg','phone.svg','sms.svg']; $total = rand(5,25);