From 6087239d4d03e80895ac157e2edb816a8098c8da Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Sun, 24 Dec 2023 15:25:31 -0500 Subject: [PATCH] JOB GROUP --- wrenchboard/src/include/wrenchboard_api.h | 3 + wrenchboard/src/shared_tool/jobs.cc | 76 +++++++++++++++++++++++ www-api/app/Config/Constants.php | 3 + www-api/app/Controllers/WrenchApi.php | 6 +- 4 files changed, 86 insertions(+), 2 deletions(-) diff --git a/wrenchboard/src/include/wrenchboard_api.h b/wrenchboard/src/include/wrenchboard_api.h index 2fdebf5b..2ea536d9 100644 --- a/wrenchboard/src/include/wrenchboard_api.h +++ b/wrenchboard/src/include/wrenchboard_api.h @@ -315,6 +315,9 @@ enum { PARTNER_STRIPE }; #define WRENCHBOARD_JOB_RESEND_MESSAGE 13042 #define WRENCHBOARD_JOB_CANCEL_OFFER 13043 +#define WRENCHBOARD_JOB_JOBGROUPS 13045 +#define WRENCHBOARD_JOB_JOBGROUPADD 13046 + #define WRENCHBOARD_JOBS_END 13999 //************************************************************** #define WRENCHBOARD_CONTRACT_START 14000 diff --git a/wrenchboard/src/shared_tool/jobs.cc b/wrenchboard/src/shared_tool/jobs.cc index 9957ad82..689e5922 100644 --- a/wrenchboard/src/shared_tool/jobs.cc +++ b/wrenchboard/src/shared_tool/jobs.cc @@ -31,6 +31,7 @@ long WrenchSendJobsOfferFamily(CVars in, CVars &out); long WrenchSendJobsOfferCreateAssign(CVars in, CVars &out); long WrenchJobsOfferInterestList(CVars in, CVars &out); long WrenchUserJobsInterestList(CVars in, CVars &out); +long WrenchJobsGroupList(CVars in, CVars &out); long jobs_calls(CVars in, CVars &out) { logfmt(logINFO, "jobs_calls()"); @@ -152,6 +153,15 @@ long jobs_calls(CVars in, CVars &out) { case WRENCHBOARD_JOB_CANCEL_OFFER: return WrenchJobPostCancelOffer(in, out); break; + + case WRENCHBOARD_JOB_JOBGROUPS: // 13045 + return WrenchJobsGroupList(in, out); + break; + + case WRENCHBOARD_JOB_JOBGROUPADD: + + break; + } logfmt(logINFO, "/jobs_calls()"); return 0; @@ -1759,6 +1769,72 @@ long WrenchSendJobsOfferGroup(CVars in, CVars &out) { return ret; } +long WrenchJobsGroupList(CVars in, CVars &out) { + long ret = PHP_API_BAD_PARAM; + char vname[30]; + CVars rec; + out = in; + try { + long member_id = REQ_LONG(in, "member_id", 1, -1); + // long offset = REQ_LONG(in, "offset", 1, -1); + // long limit = REQ_LONG(in, "limit", 1, -1); + + const PGresult *res = pgsql_query("SELECT * FROM members_job_group " + " WHERE member_id= %lu AND status = 1 " + " ORDER BY group_name ASC",member_id); + 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; + map_to_cvars(f, rec); + snprintf(vname, sizeof (vname), "group_uid_%05d", i); + out[vname] = rec["uid"]; + + snprintf(vname, sizeof (vname), "group_id_%05d", i); + out[vname] = rec["id"]; + + snprintf(vname, sizeof (vname), "group_name_%05d", i); + out[vname] = rec["group_name"]; + } + + } + + const PGresult *res1 = pgsql_query("SELECT * FROM members_job_groupmember " + " WHERE member_id= %lu AND status =1",member_id); + if (res1 != NULL && pgsql_num_rows(res1) > 0) { + out["gm_total_record"] = pgsql_num_rows(res1); + for (int i = 0, n = pgsql_num_rows(res1); i < n; i++) { + mapf = pgsql_fetch_assoc(res1, i); + if (f.empty()) continue; + map_to_cvars(f, rec); + snprintf(vname, sizeof (vname), "gm_uid_%05d", i); + out[vname] = rec["uid"]; + + snprintf(vname, sizeof (vname), "gm_group_id_%05d", i); + out[vname] = rec["group_id"]; + + snprintf(vname, sizeof (vname), "gm_firstname_%05d", i); + out[vname] = rec["firstname"]; + + snprintf(vname, sizeof (vname), "gm_lastname_%05d", i); + out[vname] = rec["lastname"]; + + snprintf(vname, sizeof (vname), "gm_email_%05d", i); + out[vname] = rec["email"]; + } + } + + ret = PHP_API_OK; + + } catch (bad_parameter) { + out["log_status"] = "Error WrenchJobsGroupList"; + } + return ret; +} + + + long WrenchDeleteJobsGroup(CVars in, CVars &out) { long ret = PHP_API_BAD_PARAM; try { diff --git a/www-api/app/Config/Constants.php b/www-api/app/Config/Constants.php index d7016940..c3771e2c 100644 --- a/www-api/app/Config/Constants.php +++ b/www-api/app/Config/Constants.php @@ -316,6 +316,9 @@ define('WRENCHBOARD_JOB_EXTEND_EXPIRE' ,13041); define('WRENCHBOARD_JOB_RESEND_MESSAGE',13042); define('WRENCHBOARD_JOB_CANCEL_OFFER' ,13043); +define('WRENCHBOARD_JOB_JOBGROUPS' ,13045); +define('WRENCHBOARD_JOB_JOBGROUPADD' ,13046); + //define('WRENCHBOARD_JOB_SEND_QUESTION',13036); define('WRENCHBOARD_GROUP_START', 12000); diff --git a/www-api/app/Controllers/WrenchApi.php b/www-api/app/Controllers/WrenchApi.php index ca90a1e1..fbc5bc02 100644 --- a/www-api/app/Controllers/WrenchApi.php +++ b/www-api/app/Controllers/WrenchApi.php @@ -212,10 +212,12 @@ class WrenchApi extends BaseController $in["action"] = WRENCHBOARD_JOB_LISTJOBS; break; case 'jobgrouplist': - $in["action"] = 0; + $in["action"] = WRENCHBOARD_JOB_JOBGROUPS; + // $in["action"] = 0; break; case 'jobgroupadd': - $in["action"] = 0; + $in["action"] = WRENCHBOARD_JOB_JOBGROUPADD; + // $in["action"] = 0; break; case 'homebanners': $in["action"] = WRENCHBOARD_ACCOUNT_HOMEBANNERS ;