'use strict'; const request = require('request'); const db = require('../app/db') const logger = require('../app/logger'); var jobs = { getmarketjobs: function (req, res, next) { //console.log("REQ---->",req.body.uid); logger.info("------lll---->"); logger.info(req.query); var data = { "uid": req.query.uid, "member_id": req.query.member_id, "limit": (req.query.limit != null && req.query.limit !== "") ? req.query.limit : 40, "sessionid": req.query.sessionid, "page": req.query.page }; let Qstring =""; // "SELECT uid,id,username FROM members LIMIT 10"; let QextraString =""; if ( req.body.uid != null && req.body.uid !== ""){ QextraString= " AND j.country IN (SELECT c.country FROM members_wallet w " + " LEFT JOIN currency c ON c.code =w.currency " + " LEFT JOIN members m ON m.id = w.member_id " + " WHERE m.uid = '"+req.body.uid+"' )"; } Qstring = " SELECT j.title,j.description,m.id AS job_id,m.expire,m.job_description,j.price, m.depend_uid AS offer_depend_uid, " + " m.offer_code,j.timeline_days, to_char(m.expire, 'Dy Mon dd, yyyy HH:MI AM') AS expire2," + " m.uid AS offer_uid,j.uid AS job_uid,m.added::date AS offer_added,j.country AS job_country, " + " c.code AS currency_code, c.description AS currency_description,j.country, j.category,mb.uid AS market_uid, 0 AS interest_count " + " FROM members_jobs_offer m " + " LEFT JOIN members_jobs j ON j.id=m.job_id " + " LEFT JOIN members mb ON mb.id = m.member_id " + " LEFT JOIN currency c ON c.country=j.country " + " WHERE m.status = 1 AND m.client_id=0 " + " AND m.expire IS NOT NULL " + " AND m.public_view = 1 AND m.expire> now() AND j.status = 1 " + QextraString + " ORDER BY m.expire DESC LIMIT "+ data.limit; // logger.info(Qstring); db.query(Qstring, function (err, result) { try { if (err) throw err; let resultItem ={ "result": result.rows, "total_record": result.rowCount } // logger.info(result); next(null, resultItem); // pass control to the next handler // next(null, result.rows); // pass control to the next handler } catch (e) { next(e.message, null); // pass control to the next handler } }); }, getpromojobs: function (req, res, next) { //console.log("REQ---->",req.body.uid); logger.info("------lll---->"); logger.info(req.query); var data = { "promo": req.query.promo, "promo_owner": req.query.promo_owner, "owner_uid": req.query.owner_uid }; let Qstring =""; // "SELECT uid,id,username FROM members LIMIT 10"; let QextraString =""; // if ( req.body.uid != null && req.body.uid !== ""){ // QextraString= " AND j.country IN (SELECT c.country FROM members_wallet w " + // " LEFT JOIN currency c ON c.code =w.currency " + // " LEFT JOIN members m ON m.id = w.member_id " + // " WHERE m.uid = '"+req.body.uid+"' )"; // } //Qstring = "SELECT uid AS job_uid, * FROM members_jobs WHERE member_id = 474 ORDER BY id ASC"; Qstring = "SELECT uid AS job_uid, * FROM members_jobs WHERE member_id = (SELECT member_id FROM members WHERE uid::text='"+data.owner_uid+"') ORDER BY id ASC"; logger.info(Qstring); db.query(Qstring, function (err, result) { try { if (err) throw err; let resultItem ={ "result": result.rows, "total_record": result.rowCount } // logger.info(result); next(null, resultItem); // pass control to the next handler // next(null, result.rows); // pass control to the next handler } catch (e) { next(e.message, null); // pass control to the next handler } }); }, getmarketInterestCount: function (req, res, next) { logger.info("------ ********** getmarketInterestCount() ********** ---->"); //logger.info(req.query); // var data = { // "member_uid": req.query.member_uid, // "job_uid": req.query.job_uid, // "sessionid": req.query.sessionid // }; // logger.info(data); let Qstring =""; Qstring = "SELECT j.uid AS job_uid,count(i.id) AS interest_count FROM members_jobs_offer o LEFT JOIN members_jobs j ON j.id=o.job_id LEFT JOIN members_offer_interest i ON i.offer_id=o.id WHERE o.expire > now() GROUP BY j.uid "; logger.info(Qstring); db.query(Qstring, function (err, result) { try { if (err) throw err; let resultItem ={ "result": result.rows, "total_record": result.rowCount } next(null, resultItem); // pass control to the next handler } catch (e) { next(e.message, null); // pass control to the next handler } }); }, getmarketjobsFiles: function (req, res, next) { logger.info("------ ********** ********** ---->"); logger.info(req.query); var data = { "member_uid": req.query.member_uid, "job_uid": req.query.job_uid, "sessionid": req.query.sessionid }; logger.info(data); let Qstring =""; Qstring = "SELECT id,uid,job_uid,originalname FROM from members_jobs_files WHERE job_uid= '"+ data.job_uid +"'"; logger.info(Qstring); db.query(Qstring, function (err, result) { try { if (err) throw err; let resultItem ={ "result": result.rows, "total_record": result.rowCount } next(null, resultItem); // pass control to the next handler } catch (e) { next(e.message, null); // pass control to the next handler } }); }, contractHx: function (req, res, next) { logger.info("------ ********** ********** ---->"); logger.info(req.query); var data = { "member_uid": req.query.uid, "member_id": req.query.member_id, "sessionid": req.query.sessionid }; logger.info(data); let Qstring =""; //Qstring = "SELECT * FROM members_jobs_contract WHERE client_id ="+ data.member_id+" ORDER BY id desc LIMIT 40"; Qstring = "SELECT * FROM members_jobs_contract WHERE client_id::text = 2::text ORDER BY id desc LIMIT 40"; //" SELECT id,uid,job_uid,originalname FROM from members_jobs_files WHERE job_uid= '"+ data.job_uid +"'"; logger.info(Qstring); db.query(Qstring, function (err, result) { try { if (err) throw err; let resultItem ={ "result": result.rows, "total_record": result.rowCount } next(null, resultItem); // pass control to the next handler } catch (e) { next(e.message, null); // pass control to the next handler } }); }, completedHx: function (req, res, next) { logger.info("------======BODY ==----------",req.body,"-----------LET SEE ----------"); logger.info("------======QUERY==----------",req.query,"-----------LET SEE ----------"); var data = { "member_uid": req.query.uid, "member_id": req.query.member_id, "sessionid": req.query.sessionid, "offer_depend_uid" : req.query.offer_depend_uid }; logger.info(data); let Qstring =""; Qstring = "SELECT c.job_id,c.client_id, c.status,j.uid AS job_uid " + " FROM members_jobs_contract c " + " LEFT JOIN members_jobs j ON j.id =c.job_id " + " LEFT JOIN members m ON m.id = c.client_id " + " WHERE c.status =5 AND m.uid::TEXT = '"+ data.member_uid+"'"; logger.info(Qstring); db.query(Qstring, function (err, result) { try { if (err) throw err; let resultItem ={ "result": result.rows, "total_record": result.rowCount } next(null, resultItem); // pass control to the next handler } catch (e) { next(e.message, null); // pass control to the next handler } }); } }; module.exports = jobs;