From c9983673b33cef5a169cd1fbeb77e940e7485df7 Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Thu, 18 May 2023 10:27:38 -0400 Subject: [PATCH] Active job list --- wrenchboard/src/include/contract.h | 1 + wrenchboard/src/include/wrenchboard_api.h | 2 + wrenchboard/src/shared_tool/contract.cc | 73 ++++++++++++++++++----- www-api/app/Config/Constants.php | 3 +- www-api/app/Config/Routes.php | 2 + www-api/app/Controllers/WrenchApi.php | 5 +- www-api/public/svs/user/constants.php | 4 +- www-api/public/svs/user/userve.php | 5 +- 8 files changed, 75 insertions(+), 20 deletions(-) diff --git a/wrenchboard/src/include/contract.h b/wrenchboard/src/include/contract.h index 9e9773b1..8c820837 100644 --- a/wrenchboard/src/include/contract.h +++ b/wrenchboard/src/include/contract.h @@ -6,6 +6,7 @@ long contract_calls(CVars in, CVars &out); long WrenchContractMessage( CVars in, CVars &out ); long WrenchContractStatus( CVars in, CVars &out ); +long WrenchContractMessageList( CVars in, CVars &out ); #endif diff --git a/wrenchboard/src/include/wrenchboard_api.h b/wrenchboard/src/include/wrenchboard_api.h index 00a3cf1a..7b6f42ad 100644 --- a/wrenchboard/src/include/wrenchboard_api.h +++ b/wrenchboard/src/include/wrenchboard_api.h @@ -255,6 +255,8 @@ enum { PARTNER_STRIPE }; #define WRENCHBOARD_CONTRACT_START 14000 #define WRENCHBOARD_CONTRACT_MESSAGE 14010 +#define WRENCHBOARD_CONTRACT_MSGLIST 14011 + #define WRENCHBOARD_CONTRACT_STATUS 14015 #define WRENCHBOARD_CONTRACT_END 14999 //************************************************************** diff --git a/wrenchboard/src/shared_tool/contract.cc b/wrenchboard/src/shared_tool/contract.cc index ce88c0ac..b7b3436c 100644 --- a/wrenchboard/src/shared_tool/contract.cc +++ b/wrenchboard/src/shared_tool/contract.cc @@ -29,7 +29,10 @@ long contract_calls(CVars in, CVars &out) case WRENCHBOARD_CONTRACT_STATUS: return WrenchContractStatus( in, out); break; - + + case WRENCHBOARD_CONTRACT_MSGLIST: + return WrenchContractMessageList( in, out); + break; } logfmt( logINFO, "/contract_calls()" ); return 0; @@ -261,28 +264,66 @@ long WrenchContractMessage( CVars in, CVars &out ) return ret; } - -long WrenchEditJobs33( CVars in, CVars &out ) +long WrenchContractMessageList( CVars in, CVars &out ) { long ret = PHP_API_BAD_PARAM; - logfmt( logINFO, "LoginWrenchBoardAccount()" ); - REQ_STRING (in, "username", 5, 49, "(.*)"); - REQ_STRING (in, "password", 5, 49, "(.*)"); - REQ_STRING (in, "sessionid", 4, 40, "(.*)"); - OPTIONAL( in, "loc" ) REQ_STRING (in, "loc", 3, 15, "(.*)"); + logfmt( logINFO, "WrenchContractMessageList()" ); const char * loc = getenv("REMOTE_ADDR"); in["loc"] = loc; in["loc"].set_valid(true); - - ret = load_db_record( out, "SELECT *,id AS member_id FROM members WHERE status=1 AND LOWER(username)=LOWER('%s') AND password= md5('%s')", in["username"].c_str(), in["password"].c_str() ); - if (ret) { - } else { - out["status"] = "Invalid username and/or password"; - } - + try { + long member_id = REQ_LONG(in, "member_id", 1, -1); + REQ_STRING (in, "contract", 10, 25, "(.*)"); + out["total_record"] = "0"; + + const PGresult *res; + + + res = pgsql_query(" SELECT to_char(jc.created, 'YYYY-MM-DD HH24:MI') AS msg_date," + " m.firstname AS msg_firstname,jc.id as msg_id,jc.message AS msg," + " jc.msg_type, jc.message " + " FROM jobs_contract_message jc " + " LEFT JOIN members m ON m.id=jc.member_id " + " WHERE jc.contract='%s' ORDER by jc.id DESC", in["contract"].c_str()); + + 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_date_%05d", i); + out[vname] = rec["msg_date"]; + + snprintf(vname, sizeof (vname), "msg_firstname_%05d", i); + out[vname] = rec["msg_firstname"]; + + snprintf(vname, sizeof (vname), "msg_id_%05d", i); + out[vname] = rec["msg_id"]; + + snprintf(vname, sizeof (vname), "msg_%05d", i); + out[vname] = rec["msg"]; + + snprintf(vname, sizeof (vname), "msg_type_%05d", i); + out[vname] = rec["msg_type"]; + + snprintf(vname, sizeof (vname), "message_%05d", i); + out[vname] = rec["message"]; + + + } + } + ret = PHP_API_OK; + out["status"] = "OK"; + } catch (bad_parameter) { + logfmt(logINFO, "ERROR CALL long WrenchContractMessageList(CVars in, CVars &out)"); + } - logfmt( logINFO, "/LoginWrenchBoardAccount()" ); + logfmt( logINFO, "/WrenchContractMessageList()" ); return ret; } diff --git a/www-api/app/Config/Constants.php b/www-api/app/Config/Constants.php index b87f27bf..40885814 100644 --- a/www-api/app/Config/Constants.php +++ b/www-api/app/Config/Constants.php @@ -255,7 +255,8 @@ define('WRENCHBOARD_GROUP_END', 12999); //************************************************************** define('WRENCHBOARD_CONTRACT_MESSAGE', 14010); -define('WRENCHBOARD_CONTRACT_STATUS', 14015); +define('WRENCHBOARD_CONTRACT_MSGLIST', 14011); +define('WRENCHBOARD_CONTRACT_STATUS', 14015); define('WRENCHBOARD_MOBILE_OFFERSLIST', 15010); diff --git a/www-api/app/Config/Routes.php b/www-api/app/Config/Routes.php index 8617f319..62f62145 100644 --- a/www-api/app/Config/Routes.php +++ b/www-api/app/Config/Routes.php @@ -106,6 +106,8 @@ $routes->post('/en/wrench/api/v1/sendmoneyfee', 'WrenchApi::apigate'); $routes->post('/en/wrench/api/v1/getpendingjobs', 'WrenchApi::apigate'); $routes->post('/en/wrench/api/v1/taskmessage', 'WrenchApi::apigate'); $routes->post('/en/wrench/api/v1/sendtaskmessage', 'WrenchApi::apigate'); +$routes->post('/en/wrench/api/v1/activejobmsglist', 'WrenchApi::apigate'); + $routes->post('/en/wrench/api/v1/getwallets', 'WrenchApi::apigate'); $routes->post('/en/wrench/api/v1/sitecontact', 'WrenchApi::apigate'); $routes->post('/en/wrench/api/v1/signupcountry', 'WrenchApi::apigate'); diff --git a/www-api/app/Controllers/WrenchApi.php b/www-api/app/Controllers/WrenchApi.php index 57c999f9..c38c1ad4 100644 --- a/www-api/app/Controllers/WrenchApi.php +++ b/www-api/app/Controllers/WrenchApi.php @@ -61,6 +61,7 @@ class WrenchApi extends BaseController 'getpendingjobs' => ['POST'], 'taskmessage' => ['POST'], 'sendtaskmessage' => ['POST'], + 'activejobmsglist' => ['POST'], 'getwallets' => ['POST'], 'sitecontact' => ['POST'], 'signupcountry' => ['POST'], @@ -354,7 +355,9 @@ class WrenchApi extends BaseController break; case 'sendtaskmessage': $in["action"] = WRENCHBOARD_MOBILE_SENDTASKMESSAGE; break; - + case 'activejobmsglist': + $in["action"] = WRENCHBOARD_CONTRACT_MSGLIST; + break; case 'getwallets': $in["action"] = WRENCHBOARD_ACCOUNT_WALLETS; break; case WRENCHBOARD_ACCOUNT_PRICE_COMBO: break ; // 11171); diff --git a/www-api/public/svs/user/constants.php b/www-api/public/svs/user/constants.php index 8382e34d..dc6b8681 100755 --- a/www-api/public/svs/user/constants.php +++ b/www-api/public/svs/user/constants.php @@ -164,7 +164,9 @@ define('WRENCHBOARD_FAMILY_ADD', 22015); define('WRENCHBOARD_FAMILY_UPDATE', 22020); define('WRENCHBOARD_FAMILY_MANAGE', 22025); -define('WRENCHBOARD_CONTRACT_MESSAGE', 14010); +define('WRENCHBOARD_CONTRACT_MESSAGE', 14010); +define('WRENCHBOARD_CONTRACT_MSGLIST', 14011); + define('WRENCHBOARD_CONTRACT_STATUS', 14015); diff --git a/www-api/public/svs/user/userve.php b/www-api/public/svs/user/userve.php index 307fc7e2..a3bb10e9 100755 --- a/www-api/public/svs/user/userve.php +++ b/www-api/public/svs/user/userve.php @@ -41,6 +41,7 @@ $endpoints = array( 'getpendingjobs' => array('POST'), 'taskmessage' => array('POST'), 'sendtaskmessage' => array('POST'), + 'activejobmsglist' => array('POST'), 'getwallets' => array('POST'), 'sitecontact' => array('POST'), 'signupcountry' => array('POST'), @@ -383,7 +384,9 @@ switch ($endpoint) { break; case 'sendtaskmessage': $in["action"] = WRENCHBOARD_MOBILE_SENDTASKMESSAGE; break; - + case 'activejobmsglist': + $in["action"] = WRENCHBOARD_CONTRACT_MSGLIST; + break; case 'getwallets': $in["action"] = WRENCHBOARD_ACCOUNT_WALLETS; break;