interest list

This commit is contained in:
CHIEFSOFT\ameye
2023-06-13 11:48:18 -04:00
parent a14bc7cacb
commit e7876578da
9 changed files with 119 additions and 15 deletions
@@ -254,6 +254,8 @@ enum { PARTNER_STRIPE };
#define WRENCHBOARD_JOB_CREATE_GROUP 13020
#define WRENCHBOARD_JOB_DELETE_GROUP 13023
#define WRENCHBOARD_JOB_OFFER_INTLIST 13024 // offers interest list
#define WRENCHBOARD_JOB_OFFER_SYSTEM 13025
#define WRENCHBOARD_JOB_OFFER_FAMILY 13029
#define WRENCHBOARD_JOB_OFFER_INDVI 13030
+3 -1
View File
@@ -909,7 +909,9 @@ long WrenchReturnPendingJobList(CVars in, CVars &out) {
*/
res = pgsql_query("SELECT mo.member_id, to_char(mo.added, 'Day Mon dd, yyyy HH:MI AM') AS sent,j.title,j.description,m.job_id,to_char( m.expire, 'Day Mon dd, yyyy HH:MI AM') AS expire FROM members_offer_interest mo "
res = pgsql_query("SELECT mo.member_id, 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 "
" 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 "
" WHERE m.status = 1 AND m.client_id=0 "
+23 -14
View File
@@ -55,32 +55,41 @@ long WrenchContractStatus( CVars in, CVars &out )
switch( job_action )
{
case CONTRACT_NOTIFY_COMPLETE:
ret = load_db_record( out, "SELECT * FROM members_jobs_contract WHERE status IN (1,2) AND contract='%s' AND id=%lu AND client_id =%lu",in["job_contract"].c_str(),in["job_id"].Long(),in["member_id"].Long() );
ret = load_db_record( out, "SELECT id AS jobs_contract_id, * FROM members_jobs_contract WHERE status IN (1,2) "
" AND contract='%s' AND id=%lu AND client_id =%lu",in["job_contract"].c_str(),in["job_id"].Long(),in["member_id"].Long() );
logfmt( logINFO, "~~~~ ~~~~~ WrenchContractStatus() ret 1 = %lu",ret );
if (ret)
{
pgsql_exec("UPDATE members_jobs_contract SET status = %lu,updated=now() WHERE id = %lu",CONTRACT_NOTIFY_COMPLETE, in["job_id"].Long() );
if ( out["jobs_contract_id"].Long() > 0 ){
pgsql_exec("UPDATE members_jobs_contract SET status = %lu,updated=now() WHERE id = %lu",CONTRACT_NOTIFY_COMPLETE, in["job_id"].Long() );
if ( load_db_record( out, "SELECT * FROM members_jobs_contract WHERE status = %lu AND id=%lu AND client_id =%lu",CONTRACT_NOTIFY_COMPLETE,in["job_id"].Long(),in["member_id"].Long() ) )
{
project_email(CONTRACT_NOTIFY_COMPLETE, in, out);
out["result"] = "We have notify the task owner of your completion. Expect a response soon";
}
if ( load_db_record( out, "SELECT * FROM members_jobs_contract "
" WHERE status = %lu AND id=%lu AND client_id =%lu",CONTRACT_NOTIFY_COMPLETE,in["job_id"].Long(),in["member_id"].Long() ) )
{
project_email(CONTRACT_NOTIFY_COMPLETE, in, out);
out["result"] = "We have notify the task owner of your completion. Expect a response soon";
}
}
}
break;
case CONTRACT_REQUEST_CANCEL:
ret = load_db_record( out, "SELECT * FROM members_jobs_contract WHERE status IN (1,2) AND contract='%s' AND id=%lu AND client_id =%lu",in["job_contract"].c_str(),in["job_id"].Long(),in["member_id"].Long() );
ret = load_db_record( out, "SELECT id AS jobs_contract_id,* FROM members_jobs_contract WHERE status IN (1,2) "
" AND contract='%s' AND id=%lu AND client_id =%lu",in["job_contract"].c_str(),in["job_id"].Long(),in["member_id"].Long() );
logfmt( logINFO, "~~~~ ~~~~~ WrenchContractStatus() ret 1 = %lu",ret );
if (ret)
{
pgsql_exec("UPDATE members_jobs_contract SET status = %lu,updated=now() WHERE id = %lu",CONTRACT_REQUEST_CANCEL, in["job_id"].Long() );
if ( out["jobs_contract_id"].Long() > 0 ){
pgsql_exec("UPDATE members_jobs_contract SET status = %lu,updated=now() "
" WHERE id = %lu",CONTRACT_REQUEST_CANCEL, in["job_id"].Long() );
if ( load_db_record( out, "SELECT * FROM members_jobs_contract WHERE status = %lu "
" AND id=%lu AND client_id =%lu",CONTRACT_REQUEST_CANCEL,in["job_id"].Long(),in["member_id"].Long() ) )
{
project_email(CONTRACT_REQUEST_CANCEL, in, out);
out["result"] = "We have notify the task owner of your request for cancellation.";
}
}
if ( load_db_record( out, "SELECT * FROM members_jobs_contract WHERE status = %lu AND id=%lu AND client_id =%lu",CONTRACT_REQUEST_CANCEL,in["job_id"].Long(),in["member_id"].Long() ) )
{
project_email(CONTRACT_REQUEST_CANCEL, in, out);
out["result"] = "We have notify the task owner of your request for cancellation.";
}
}
break;
+80
View File
@@ -27,6 +27,7 @@ long WrenchJobPostNotifyOffer(CVars in, CVars &out);
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 jobs_calls(CVars in, CVars &out) {
logfmt(logINFO, "jobs_calls()");
@@ -105,6 +106,10 @@ long jobs_calls(CVars in, CVars &out) {
return WrenchConcludeJobsOffer(in, out);
break;
case WRENCHBOARD_JOB_OFFER_INTLIST:
return WrenchJobsOfferInterestList(in, out);
break;
case WRENCHBOARD_JOB_SEND_INTEREST:
return WrenchJobsOfferInterest(in, out);
break;
@@ -252,6 +257,81 @@ long WrenchJobPostAgree(CVars in, CVars &out) {
return ret;
}
long WrenchJobsOfferInterestList(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, 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 "
" 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), "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), "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"];
}
}
ret = PHP_CREATED_OK;
} catch (bad_parameter) {
out["log_status"] = "Error WrenchJobsOfferInterestList";
}
return ret;
}
long WrenchReplyMessage(CVars in, CVars &out) {
long member_id = REQ_LONG(in, "member_id", 1, -1);
long message_id = REQ_LONG(in, "message_id", 1, -1);
+1
View File
@@ -237,6 +237,7 @@ define('WRENCHBOARD_JOB_DELETE_GROUPMEMBER',13017);
define('WRENCHBOARD_JOB_CREATE_GROUP', 13020);
define('WRENCHBOARD_JOB_DELETE_GROUP',13023);
define('WRENCHBOARD_JOB_OFFER_INTLIST', 13024); // offers interest list
define('WRENCHBOARD_JOB_OFFER_SYSTEM', 13025);
define('WRENCHBOARD_JOB_OFFER_FAMILY', 13029);
define('WRENCHBOARD_JOB_OFFER_INDVI',13030);
+1
View File
@@ -144,6 +144,7 @@ $routes->post('/en/wrench/api/v1/activetaskstatus', 'WrenchApi::apigate');
//$routes->post('/en/wrench/api/v1/blogdata', 'WrenchBlog::apigate');
//$routes->post('/en/wrench/api/v1/blogitem', 'WrenchBlog::apigate');
$routes->post('/en/wrench/api/v1/offersinterestlist', 'WrenchApi::apigate');
$routes->post('/en/wrench/api/v1/resources', 'WrenchResources::website');
$routes->get('/en/wrench/api/v1/blogdata/', 'WrenchBlog::website');
+4
View File
@@ -106,12 +106,16 @@ class WrenchApi extends BaseController
'marketinterest'=> ['POST'],
'activejobstatus'=> ['POST'],
'activetaskstatus'=> ['POST'],
'offersinterestlist' => ['POST'],
];
return $endpoints;
}
private function prepareEndPointData($endpoint, $in, &$call_backend=true,&$local_out=[]){
switch ($endpoint) {
case 'offersinterestlist':
$in["action"] = WRENCHBOARD_JOB_OFFER_INTLIST;
break;
case 'activejobstatus':
case 'activetaskstatus':
$in = $this->processJobStatus($in);
+1
View File
@@ -146,6 +146,7 @@ define('WRENCHBOARD_JOB_DELETE_GROUPMEMBER',13017);
define('WRENCHBOARD_JOB_CREATE_GROUP', 13020);
define('WRENCHBOARD_JOB_DELETE_GROUP',13023);
define('WRENCHBOARD_JOB_OFFER_INTLIST', 13024); // offers interest list
define('WRENCHBOARD_JOB_OFFER_SYSTEM', 13025);
define('WRENCHBOARD_JOB_OFFER_FAMILY', 13029);
define('WRENCHBOARD_JOB_OFFER_INDVI',13030);
+4
View File
@@ -86,6 +86,7 @@ $endpoints = array(
'marketinterest'=> array('POST'),
'activejobstatus'=> array('POST'),
'activetaskstatus'=> array('POST'),
'offersinterestlist' => array('POST'),
);
$call_backend = true; // sometimes we need to overwite the call to the extenstion API
@@ -177,6 +178,9 @@ if ($_SERVER["REQUEST_METHOD"] == "GET") {
}
$in["loc"] = $_SERVER["REMOTE_ADDR"];
switch ($endpoint) {
case 'offersinterestlist':
$in["action"] = WRENCHBOARD_JOB_OFFER_INTLIST;
break;
case 'activejobstatus':
case 'activetaskstatus':
$in = processJobStatus($in);