New waiying list

This commit is contained in:
CHIEFSOFT\ameye
2023-06-26 08:47:18 -04:00
parent 00afe4a019
commit 838f5167ad
4 changed files with 110 additions and 1 deletions
@@ -270,6 +270,7 @@ enum { PARTNER_STRIPE };
#define WRENCHBOARD_JOB_MRKTINT_QUEST 13037
#define WRENCHBOARD_JOB_REPLY_QUESTION 13038
#define WRENCHBOARD_JOB_INT_QUESTLST 13039
#define WRENCHBOARD_JOB_WAITING_INT 13040
#define WRENCHBOARD_JOB_EXTEND_EXPIRE 13041
#define WRENCHBOARD_JOB_RESEND_MESSAGE 13042
+105 -1
View File
@@ -29,6 +29,7 @@ long WrenchJobPostCancelOffer(CVars in, CVars &out);
long WrenchJobOfferSystems(CVars in, CVars &out);
long WrenchSendJobsOfferFamily(CVars in, CVars &out);
long WrenchJobsOfferInterestList(CVars in, CVars &out);
long WrenchUserJobsInterestList(CVars in, CVars &out);
long jobs_calls(CVars in, CVars &out) {
logfmt(logINFO, "jobs_calls()");
@@ -108,7 +109,11 @@ long jobs_calls(CVars in, CVars &out) {
break;
case WRENCHBOARD_JOB_OFFER_INTLIST:
return WrenchJobsOfferInterestList(in, out);
return WrenchJobsOfferInterestList(in, out); // people looking at your job
break;
case WRENCHBOARD_JOB_WAITING_INT: // waiting interest
return WrenchUserJobsInterestList(in, out); // me looking at your job
break;
case WRENCHBOARD_JOB_SEND_INTEREST:
@@ -262,6 +267,105 @@ long WrenchJobPostAgree(CVars in, CVars &out) {
return ret;
}
long WrenchUserJobsInterestList(CVars in, CVars &out) {
long ret = PHP_API_BAD_PARAM;
char vname[30];
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 mm.id AS client_id, mm.uid AS client_uid, "
" mm.firstname AS client_name, m.offer_code, m.uid AS offer_uid, "
" mo.member_id, mm.added::date AS client_added, to_char(mo.added, 'Dy Mon dd, yyyy HH:MI AM') AS sent, "
" j.title,j.description,m.job_id,to_char( m.expire, 'Dy Mon dd, yyyy HH:MI AM') AS expire,j.price AS job_price,mo.uid AS interest_uid "
" FROM members_offer_interest mo "
" LEFT JOIN members_jobs_offer m ON m.id = mo.offer_id "
" LEFT JOIN members_jobs j ON j.id=m.job_id "
" LEFT JOIN members mm ON mm.id = mo.member_id "
" WHERE m.status = 1 AND m.client_id=0 "
" AND m.expire IS NOT NULL AND m.expire> now() "
" AND m.member_id = %lu ORDER BY mo.added DESC LIMIT %lu OFFSET %lu",member_id, limit, offset);
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), "interest_uid_%05d", i);
out[vname] = rec["interest_uid"];
snprintf(vname, sizeof (vname), "client_id_%05d", i);
out[vname] = rec["client_id"];
snprintf(vname, sizeof (vname), "client_uid_%05d", i);
out[vname] = rec["client_uid"];
snprintf(vname, sizeof (vname), "client_name_%05d", i);
out[vname] = rec["client_name"];
snprintf(vname, sizeof (vname), "client_added_%05d", i);
out[vname] = rec["client_added"];
snprintf(vname, sizeof (vname), "client_jobs_completed_%05d", i);
out[vname] = "0";
snprintf(vname, sizeof (vname), "client_jobs_active_%05d", i);
out[vname] = "0";
snprintf(vname, sizeof (vname), "client_addedclient_jobs_missed_%05d", i);
out[vname] = "0";
snprintf(vname, sizeof (vname), "client_offers_pending_%05d", i);
out[vname] = "0";
snprintf(vname, sizeof (vname), "client_percent_completion_%05d", i);
out[vname] = "0";
snprintf(vname, sizeof (vname), "client_ratings_%05d", i);
out[vname] = "0";
snprintf(vname, sizeof (vname), "offer_code_%05d", i);
out[vname] = rec["offer_code"];
snprintf(vname, sizeof (vname), "offer_uid_%05d", i);
out[vname] = rec["offer_uid"];
snprintf(vname, sizeof (vname), "sent_%05d", i);
out[vname] = rec["sent"];
snprintf(vname, sizeof (vname), "title_%05d", i);
out[vname] = rec["title"];
snprintf(vname, sizeof (vname), "description_%05d", i);
out[vname] = rec["description"];
snprintf(vname, sizeof (vname), "job_id_%05d", i);
out[vname] = rec["job_id"];
snprintf(vname, sizeof (vname), "expire_%05d", i);
out[vname] = rec["expire"];
snprintf(vname, sizeof (vname), "price_%05d", i);
out[vname] = rec["job_price"];
}
}
ret = PHP_CREATED_OK;
} catch (bad_parameter) {
out["log_status"] = "Error WrenchJobsOfferInterestList";
}
return ret;
}
long WrenchJobsOfferInterestList(CVars in, CVars &out) {
long ret = PHP_API_BAD_PARAM;
+1
View File
@@ -256,6 +256,7 @@ define('WRENCHBOARD_JOB_MRKTINT_QUEST',13037);
define('WRENCHBOARD_JOB_REPLY_QUESTION',13038);
//define('WRENCHBOARD_JOB_REPLY_QUESTION',13038);
define('WRENCHBOARD_JOB_INT_QUESTLST', 13039);
define('WRENCHBOARD_JOB_WAITING_INT', 13040);
define('WRENCHBOARD_JOB_EXTEND_EXPIRE' ,13041);
define('WRENCHBOARD_JOB_RESEND_MESSAGE',13042);
+3
View File
@@ -438,6 +438,9 @@ class WrenchApi extends BaseController
case 'sendinterest':$in["action"] = WRENCHBOARD_USER_SENDJOBINT;
$out["internal_return"] = 0;
break;
case 'waitinginterest':
$in["action"] = WRENCHBOARD_JOB_WAITING_INT;
break;
case 'sendmoneyfee': $in["action"] = WRENCHBOARD_SMONEY_PROCFEE;
break;
case 'taskmessage': $in["action"] = WRENCHBOARD_MOBILE_TASKMESSAGE;