Merge branch 'main' of https://github.com/Danakcorp/asan-service
This commit is contained in:
Generated
+4813
-3001
File diff suppressed because it is too large
Load Diff
@@ -5,9 +5,8 @@ const { secretKey } = require('../authentication')
|
|||||||
const { _sr } = require('../plugins/serverResponses')
|
const { _sr } = require('../plugins/serverResponses')
|
||||||
const { checkValidations } = require('../plugins/controllersHelperFunctions')
|
const { checkValidations } = require('../plugins/controllersHelperFunctions')
|
||||||
const UserGPS = require('../models/GPS.User')
|
const UserGPS = require('../models/GPS.User')
|
||||||
const { generateRandomDigits
|
const { generateRandomDigits } = require('../plugins/controllersHelperFunctions')
|
||||||
} = require('../plugins/controllersHelperFunctions')
|
const sms = require('../plugins/SMS_Module')
|
||||||
const { SMS } = require('../plugins/SMS_Module')
|
|
||||||
module.exports.login_with_pass = [
|
module.exports.login_with_pass = [
|
||||||
[
|
[
|
||||||
body('username')
|
body('username')
|
||||||
@@ -56,7 +55,7 @@ module.exports.login_with_pass = [
|
|||||||
})
|
})
|
||||||
// eslint-disable-next-line eqeqeq
|
// eslint-disable-next-line eqeqeq
|
||||||
if (user?.lastIP && user?.lastIP != req.ip) {
|
if (user?.lastIP && user?.lastIP != req.ip) {
|
||||||
SMS([user.mobile_number], "کاربر گرامی، \n با دستگاه جدیدی به اکانت شما در آسان سرویس وارد شدند")
|
await sms.auth.deviceLogin(user.mobile_number, req.ip)
|
||||||
}
|
}
|
||||||
user.lastIP = req.ip
|
user.lastIP = req.ip
|
||||||
user.token = token
|
user.token = token
|
||||||
@@ -72,12 +71,8 @@ module.exports.login_with_pass = [
|
|||||||
|
|
||||||
module.exports.login_with_otp = [
|
module.exports.login_with_otp = [
|
||||||
[
|
[
|
||||||
body('mobile_number')
|
body('mobile_number').notEmpty().withMessage(_sr.fa.required.phone_number),
|
||||||
.notEmpty()
|
body('otp').notEmpty().withMessage(_sr.fa.required.phone_number)
|
||||||
.withMessage(_sr.fa.required.phone_number),
|
|
||||||
body('otp')
|
|
||||||
.notEmpty()
|
|
||||||
.withMessage(_sr.fa.required.phone_number)
|
|
||||||
],
|
],
|
||||||
checkValidations(validationResult),
|
checkValidations(validationResult),
|
||||||
async (req, res) => {
|
async (req, res) => {
|
||||||
@@ -85,7 +80,7 @@ module.exports.login_with_otp = [
|
|||||||
const { mobile_number, otp } = req.body
|
const { mobile_number, otp } = req.body
|
||||||
const user = await UserGPS.findOne({ mobile_number })
|
const user = await UserGPS.findOne({ mobile_number })
|
||||||
if (!user) throw new Error(_sr.fa.not_found.user_id)
|
if (!user) throw new Error(_sr.fa.not_found.user_id)
|
||||||
if (user.otp !== otp) throw new Error("کد اشتباه است")
|
if (user.otp !== otp) throw new Error('کد اشتباه است')
|
||||||
if (user.otp === otp) {
|
if (user.otp === otp) {
|
||||||
if (!user.active) {
|
if (!user.active) {
|
||||||
throw new Error('حساب شما هنوز تاییده نشده است')
|
throw new Error('حساب شما هنوز تاییده نشده است')
|
||||||
@@ -95,21 +90,18 @@ module.exports.login_with_otp = [
|
|||||||
})
|
})
|
||||||
// eslint-disable-next-line eqeqeq
|
// eslint-disable-next-line eqeqeq
|
||||||
if (user?.lastIP && user?.lastIP != req.ip) {
|
if (user?.lastIP && user?.lastIP != req.ip) {
|
||||||
SMS([user.mobile_number], "کاربر گرامی، \n با دستگاه جدیدی به اکانت شما در آسان سرویس وارد شدند")
|
await sms.auth.deviceLogin(user.mobile_number, req.ip)
|
||||||
}
|
}
|
||||||
user.otp = generateRandomDigits(6)
|
user.otp = generateRandomDigits(6)
|
||||||
user.lastIP = req.ip
|
user.lastIP = req.ip
|
||||||
user.token = token
|
user.token = token
|
||||||
user.save()
|
user.save()
|
||||||
return res.status(200).json({ token })
|
return res.status(200).json({ token })
|
||||||
|
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
return res.status(422).json({
|
return res.status(422).json({
|
||||||
validation: { otp: { msg: err.message } }
|
validation: { otp: { msg: err.message } }
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -4,7 +4,7 @@ const { body, validationResult, param } = require('express-validator')
|
|||||||
const uid = require('uuid')
|
const uid = require('uuid')
|
||||||
const User = require('../models/GPS.User')
|
const User = require('../models/GPS.User')
|
||||||
const { _sr } = require('../plugins/serverResponses')
|
const { _sr } = require('../plugins/serverResponses')
|
||||||
const { SMS } = require('../plugins/SMS_Module')
|
const sms = require('../plugins/SMS_Module')
|
||||||
const {
|
const {
|
||||||
res500,
|
res500,
|
||||||
checkValidations,
|
checkValidations,
|
||||||
@@ -29,9 +29,7 @@ function sendConfirmationSMS(userId) {
|
|||||||
user.otp = mobileKey
|
user.otp = mobileKey
|
||||||
await user.save()
|
await user.save()
|
||||||
|
|
||||||
const smsMsg = ['این شماره در وبسایت آسان سرویس ثبت گردیده.', ' کد تایید شماره همراه: ', mobileKey]
|
await sms.auth.mobileVerificationCode(user.mobile_number, mobileKey, new Date())
|
||||||
|
|
||||||
await SMS([user.mobile_number], smsMsg.join(''))
|
|
||||||
|
|
||||||
resolve()
|
resolve()
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ const {
|
|||||||
checkValidations,
|
checkValidations,
|
||||||
generateRandomDigits
|
generateRandomDigits
|
||||||
} = require('../plugins/controllersHelperFunctions')
|
} = require('../plugins/controllersHelperFunctions')
|
||||||
const { SMS } = require('../plugins/SMS_Module')
|
const sms = require('../plugins/SMS_Module')
|
||||||
// const { phrases } = require('../plugins/SMS_Phrases')
|
// const { phrases } = require('../plugins/SMS_Phrases')
|
||||||
// const { notifyAgent } = require('../WebSocket/controllers/agent_EventsController')
|
// const { notifyAgent } = require('../WebSocket/controllers/agent_EventsController')
|
||||||
const { notifyAdmin } = require('../WebSocket/controllers/admin_EventsController')
|
const { notifyAdmin } = require('../WebSocket/controllers/admin_EventsController')
|
||||||
@@ -20,10 +20,6 @@ function ArpaDateFormat(date) {
|
|||||||
return moment(date).format('YYYY-MM-DD HH:mm:ss')
|
return moment(date).format('YYYY-MM-DD HH:mm:ss')
|
||||||
}
|
}
|
||||||
|
|
||||||
function SmsDateFormat(date) {
|
|
||||||
return moment(date).format('jYYYY/jMM/jDD')
|
|
||||||
}
|
|
||||||
|
|
||||||
/// ///////////////// agent
|
/// ///////////////// agent
|
||||||
module.exports.add_buffer_request = [
|
module.exports.add_buffer_request = [
|
||||||
async (req, res) => {
|
async (req, res) => {
|
||||||
@@ -172,15 +168,7 @@ module.exports.change_br_status_to_sent_by_agent = [
|
|||||||
br.sendDate = ArpaDateFormat(thisTime)
|
br.sendDate = ArpaDateFormat(thisTime)
|
||||||
|
|
||||||
// send sms for agent
|
// send sms for agent
|
||||||
const smsMsg = [
|
await sms.bufferRequest.sent(br.agent_id.mobile_number, trackingCode, thisTime)
|
||||||
' نماینده گرامی درخواست کالای بافر شما در تاریخ ',
|
|
||||||
SmsDateFormat(thisTime),
|
|
||||||
' با کد پیگیری ',
|
|
||||||
trackingCode,
|
|
||||||
' برای شرکت ارسال شد. '
|
|
||||||
]
|
|
||||||
|
|
||||||
SMS([br.agent_id.mobile_number], smsMsg.join(''))
|
|
||||||
|
|
||||||
await br.save()
|
await br.save()
|
||||||
notifyAdmin('updateNewBufferRequests')
|
notifyAdmin('updateNewBufferRequests')
|
||||||
@@ -244,15 +232,7 @@ module.exports.get_one_br_for_admin = [
|
|||||||
br.statusHistory.push({ status: 'ongoing', date: thisTime })
|
br.statusHistory.push({ status: 'ongoing', date: thisTime })
|
||||||
await br.save()
|
await br.save()
|
||||||
|
|
||||||
const smsMsg = [
|
await sms.bufferRequest.ongoing(br.agent_id.mobile_number, br.trackingCode, thisTime)
|
||||||
' نماینده گرامی درخواست کالای بافر شما با کد پیگیری ',
|
|
||||||
br.trackingCode,
|
|
||||||
' در تاریخ ',
|
|
||||||
SmsDateFormat(thisTime),
|
|
||||||
' در دست اقدام قرار گرفت. '
|
|
||||||
]
|
|
||||||
|
|
||||||
SMS([br.agent_id.mobile_number], smsMsg.join(''))
|
|
||||||
notifyAdmin('updateNewBufferRequests')
|
notifyAdmin('updateNewBufferRequests')
|
||||||
}
|
}
|
||||||
return res.json(br)
|
return res.json(br)
|
||||||
@@ -294,38 +274,15 @@ module.exports.change_br_status_by_admin = [
|
|||||||
br.status = status
|
br.status = status
|
||||||
br.statusHistory.push({ status, date: thisTime })
|
br.statusHistory.push({ status, date: thisTime })
|
||||||
|
|
||||||
let smsMessage
|
// different status methods
|
||||||
// differenet status methods
|
|
||||||
if (status === 'waiting') {
|
if (status === 'waiting') {
|
||||||
smsMessage = [
|
await sms.bufferRequest.waiting(br.agent_id.mobile_number, br.trackingCode, thisTime)
|
||||||
' نماینده گرامی درخواست کالای بافر شما با کد پیگیری ',
|
|
||||||
br.trackingCode,
|
|
||||||
' در تاریخ ',
|
|
||||||
SmsDateFormat(thisTime),
|
|
||||||
' در انتظار قطعه میباشد. '
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (status === 'delivered') {
|
if (status === 'delivered') {
|
||||||
if (deliveryCode) br.deliveryCode = deliveryCode
|
if (deliveryCode) br.deliveryCode = deliveryCode
|
||||||
|
await sms.bufferRequest.delivered(br.agent_id.mobile_number, br.trackingCode, deliveryCode, thisTime)
|
||||||
function deliveryCodePhrase() {
|
|
||||||
if (deliveryCode.length) return `کد پیگیری مرسوله: ${deliveryCode}` + '\n'
|
|
||||||
else return ''
|
|
||||||
}
|
|
||||||
|
|
||||||
smsMessage = [
|
|
||||||
' نماینده گرامی درخواست کالای بافر شما با کد پیگیری ',
|
|
||||||
br.trackingCode,
|
|
||||||
' در تاریخ ',
|
|
||||||
SmsDateFormat(thisTime),
|
|
||||||
' تحویل شد. ',
|
|
||||||
'\n',
|
|
||||||
deliveryCodePhrase()
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
await SMS([br.agent_id.mobile_number], smsMessage.join(''))
|
|
||||||
await br.save()
|
await br.save()
|
||||||
return res.json({ message: _faSr.response.success_save })
|
return res.json({ message: _faSr.response.success_save })
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ const {
|
|||||||
checkValidations,
|
checkValidations,
|
||||||
generateRandomDigits
|
generateRandomDigits
|
||||||
} = require('../plugins/controllersHelperFunctions')
|
} = require('../plugins/controllersHelperFunctions')
|
||||||
const { SMS } = require('../plugins/SMS_Module')
|
const sms = require('../plugins/SMS_Module')
|
||||||
const { notifyAdmin } = require('../WebSocket/controllers/admin_EventsController')
|
const { notifyAdmin } = require('../WebSocket/controllers/admin_EventsController')
|
||||||
const _faSr = _sr.fa
|
const _faSr = _sr.fa
|
||||||
|
|
||||||
@@ -18,10 +18,6 @@ function ArpaDateFormat(date) {
|
|||||||
return moment(date).format('YYYY-MM-DD HH:mm:ss')
|
return moment(date).format('YYYY-MM-DD HH:mm:ss')
|
||||||
}
|
}
|
||||||
|
|
||||||
function SmsDateFormat(date) {
|
|
||||||
return moment(date).format('jYYYY/jMM/jDD')
|
|
||||||
}
|
|
||||||
|
|
||||||
/// ///////////////// agent
|
/// ///////////////// agent
|
||||||
module.exports.add_guaranteeReport = [
|
module.exports.add_guaranteeReport = [
|
||||||
async (req, res) => {
|
async (req, res) => {
|
||||||
@@ -201,15 +197,7 @@ module.exports.change_gr_status_to_sent_by_agent = [
|
|||||||
gr.sendDate = ArpaDateFormat(thisTime)
|
gr.sendDate = ArpaDateFormat(thisTime)
|
||||||
|
|
||||||
// send sms for agent
|
// send sms for agent
|
||||||
const smsMsg = [
|
await sms.guaranteeReport.sent(gr.agent_id.mobile_number, trackingCode, thisTime)
|
||||||
' نماینده گرامی فرم گزارش عملکرد گارانتی شما در تاریخ ',
|
|
||||||
SmsDateFormat(thisTime),
|
|
||||||
' با کد پیگیری ',
|
|
||||||
trackingCode,
|
|
||||||
' برای شرکت ارسال شد. '
|
|
||||||
]
|
|
||||||
|
|
||||||
SMS([gr.agent_id.mobile_number], smsMsg.join(''))
|
|
||||||
|
|
||||||
await gr.save()
|
await gr.save()
|
||||||
notifyAdmin('updateNewGuaranteeReports')
|
notifyAdmin('updateNewGuaranteeReports')
|
||||||
|
|||||||
@@ -14,17 +14,11 @@ const {
|
|||||||
checkMobileNumber,
|
checkMobileNumber,
|
||||||
normalizeMobileNumber
|
normalizeMobileNumber
|
||||||
} = require('../plugins/controllersHelperFunctions')
|
} = require('../plugins/controllersHelperFunctions')
|
||||||
const { SMS } = require('../plugins/SMS_Module')
|
const sms = require('../plugins/SMS_Module')
|
||||||
const { phrases } = require('../plugins/SMS_Phrases')
|
|
||||||
|
|
||||||
///
|
///
|
||||||
const _faSr = _sr.fa
|
const _faSr = _sr.fa
|
||||||
|
|
||||||
// date formaters
|
|
||||||
function SmsDateFormat(date) {
|
|
||||||
return moment(date).format('jYYYY/jMM/jDD')
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports.addLottery = [
|
module.exports.addLottery = [
|
||||||
[
|
[
|
||||||
body('title').notEmpty().withMessage(_faSr.required.title),
|
body('title').notEmpty().withMessage(_faSr.required.title),
|
||||||
@@ -338,18 +332,7 @@ module.exports.enrollParticipant = [
|
|||||||
lottery.markModified('participants')
|
lottery.markModified('participants')
|
||||||
await lottery.save()
|
await lottery.save()
|
||||||
|
|
||||||
const msg = [
|
await sms.lottery.enrollment(normalizedMN, fullName, enrollCode, Date.now())
|
||||||
fullName,
|
|
||||||
' عزیز، اطلاعات شما در تاریخ ',
|
|
||||||
SmsDateFormat(Date.now()),
|
|
||||||
' برای شرکت در قرعه کشی آسان سرویس ثبت گردید. ',
|
|
||||||
'\n',
|
|
||||||
'کد پیگیری: ',
|
|
||||||
enrollCode,
|
|
||||||
'\n',
|
|
||||||
phrases.signature
|
|
||||||
]
|
|
||||||
SMS([normalizedMN], msg.join(''))
|
|
||||||
return res.json({ message: 'اطلاعات شما با موفیقت در سیستم ثبت شد. کد پیگیری به تلفن همراه شما ارسال گردید' })
|
return res.json({ message: 'اطلاعات شما با موفیقت در سیستم ثبت شد. کد پیگیری به تلفن همراه شما ارسال گردید' })
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return res500(res, `there is an error here --- ${e}`)
|
return res500(res, `there is an error here --- ${e}`)
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ const {
|
|||||||
checkValidations,
|
checkValidations,
|
||||||
generateRandomDigits
|
generateRandomDigits
|
||||||
} = require('../plugins/controllersHelperFunctions')
|
} = require('../plugins/controllersHelperFunctions')
|
||||||
const { SMS } = require('../plugins/SMS_Module')
|
const sms = require('../plugins/SMS_Module')
|
||||||
const { notifyAdmin } = require('../WebSocket/controllers/admin_EventsController')
|
const { notifyAdmin } = require('../WebSocket/controllers/admin_EventsController')
|
||||||
const _faSr = _sr.fa
|
const _faSr = _sr.fa
|
||||||
|
|
||||||
@@ -18,10 +18,6 @@ function ArpaDateFormat(date) {
|
|||||||
return moment(date).format('YYYY-MM-DD HH:mm:ss')
|
return moment(date).format('YYYY-MM-DD HH:mm:ss')
|
||||||
}
|
}
|
||||||
|
|
||||||
function SmsDateFormat(date) {
|
|
||||||
return moment(date).format('jYYYY/jMM/jDD')
|
|
||||||
}
|
|
||||||
|
|
||||||
/// ///////////////// agent
|
/// ///////////////// agent
|
||||||
module.exports.add_oldPiece_request = [
|
module.exports.add_oldPiece_request = [
|
||||||
async (req, res) => {
|
async (req, res) => {
|
||||||
@@ -177,15 +173,7 @@ module.exports.change_opr_status_to_sent_by_agent = [
|
|||||||
opr.sendDate = ArpaDateFormat(thisTime)
|
opr.sendDate = ArpaDateFormat(thisTime)
|
||||||
|
|
||||||
// send sms for agent
|
// send sms for agent
|
||||||
const smsMsg = [
|
await sms.oldPieceRequest.sent(opr.agent_id.mobile_number, trackingCode, thisTime)
|
||||||
' نماینده گرامی درخواست قطعه داغی شما در تاریخ ',
|
|
||||||
SmsDateFormat(thisTime),
|
|
||||||
' با کد پیگیری ',
|
|
||||||
trackingCode,
|
|
||||||
' برای شرکت ارسال شد. '
|
|
||||||
]
|
|
||||||
|
|
||||||
SMS([opr.agent_id.mobile_number], smsMsg.join(''))
|
|
||||||
|
|
||||||
await opr.save()
|
await opr.save()
|
||||||
notifyAdmin('updateNewOldPieceRequests')
|
notifyAdmin('updateNewOldPieceRequests')
|
||||||
@@ -247,15 +235,7 @@ module.exports.get_one_opr_for_admin = [
|
|||||||
opr.statusHistory.push({ status: 'ongoing', date: thisTime })
|
opr.statusHistory.push({ status: 'ongoing', date: thisTime })
|
||||||
await opr.save()
|
await opr.save()
|
||||||
|
|
||||||
const smsMsg = [
|
await sms.oldPieceRequest.ongoing(opr.agent_id.mobile_number, opr.trackingCode, thisTime)
|
||||||
' نماینده گرامی درخواست قطعه داغی شما با کد پیگیری ',
|
|
||||||
opr.trackingCode,
|
|
||||||
' در تاریخ ',
|
|
||||||
SmsDateFormat(thisTime),
|
|
||||||
' در دست اقدام قرار گرفت. '
|
|
||||||
]
|
|
||||||
|
|
||||||
SMS([opr.agent_id.mobile_number], smsMsg.join(''))
|
|
||||||
notifyAdmin('updateNewOldPieceRequests')
|
notifyAdmin('updateNewOldPieceRequests')
|
||||||
}
|
}
|
||||||
return res.json(opr)
|
return res.json(opr)
|
||||||
@@ -297,38 +277,15 @@ module.exports.change_opr_status_by_admin = [
|
|||||||
opr.status = status
|
opr.status = status
|
||||||
opr.statusHistory.push({ status, date: thisTime })
|
opr.statusHistory.push({ status, date: thisTime })
|
||||||
|
|
||||||
let smsMessage
|
// different status methods
|
||||||
// differenet status methods
|
|
||||||
if (status === 'waiting') {
|
if (status === 'waiting') {
|
||||||
smsMessage = [
|
await sms.oldPieceRequest.waiting(opr.agent_id.mobile_number, opr.trackingCode, thisTime)
|
||||||
' نماینده گرامی درخواست قطعه داغی شما با کد پیگیری ',
|
|
||||||
opr.trackingCode,
|
|
||||||
' در تاریخ ',
|
|
||||||
SmsDateFormat(thisTime),
|
|
||||||
' در انتظار قطعه میباشد. '
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (status === 'delivered') {
|
if (status === 'delivered') {
|
||||||
if (deliveryCode) opr.deliveryCode = deliveryCode
|
if (deliveryCode) opr.deliveryCode = deliveryCode
|
||||||
|
await sms.oldPieceRequest.delivered(opr.agent_id.mobile_number, opr.trackingCode, deliveryCode, thisTime)
|
||||||
function deliveryCodePhrase() {
|
|
||||||
if (deliveryCode.length) return `کد پیگیری مرسوله: ${deliveryCode}` + '\n'
|
|
||||||
else return ''
|
|
||||||
}
|
|
||||||
|
|
||||||
smsMessage = [
|
|
||||||
' نماینده گرامی درخواست قطعه داغی شما با کد پیگیری ',
|
|
||||||
opr.trackingCode,
|
|
||||||
' در تاریخ ',
|
|
||||||
SmsDateFormat(thisTime),
|
|
||||||
' تحویل شد. ',
|
|
||||||
'\n',
|
|
||||||
deliveryCodePhrase()
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
await SMS([opr.agent_id.mobile_number], smsMessage.join(''))
|
|
||||||
await opr.save()
|
await opr.save()
|
||||||
return res.json({ message: _faSr.response.success_save })
|
return res.json({ message: _faSr.response.success_save })
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ const {
|
|||||||
checkValidations,
|
checkValidations,
|
||||||
generateRandomDigits
|
generateRandomDigits
|
||||||
} = require('../plugins/controllersHelperFunctions')
|
} = require('../plugins/controllersHelperFunctions')
|
||||||
const { SMS } = require('../plugins/SMS_Module')
|
const sms = require('../plugins/SMS_Module')
|
||||||
const { notifyAdmin } = require('../WebSocket/controllers/admin_EventsController')
|
const { notifyAdmin } = require('../WebSocket/controllers/admin_EventsController')
|
||||||
const _faSr = _sr.fa
|
const _faSr = _sr.fa
|
||||||
|
|
||||||
@@ -18,10 +18,6 @@ function ArpaDateFormat(date) {
|
|||||||
return moment(date).format('YYYY-MM-DD HH:mm:ss')
|
return moment(date).format('YYYY-MM-DD HH:mm:ss')
|
||||||
}
|
}
|
||||||
|
|
||||||
function SmsDateFormat(date) {
|
|
||||||
return moment(date).format('jYYYY/jMM/jDD')
|
|
||||||
}
|
|
||||||
|
|
||||||
/// ///////////////// agent
|
/// ///////////////// agent
|
||||||
module.exports.add_piece_request = [
|
module.exports.add_piece_request = [
|
||||||
async (req, res) => {
|
async (req, res) => {
|
||||||
@@ -197,16 +193,7 @@ module.exports.change_pr_status_to_sent_by_agent = [
|
|||||||
pr.trackingCode = trackingCode
|
pr.trackingCode = trackingCode
|
||||||
pr.sendDate = ArpaDateFormat(thisTime)
|
pr.sendDate = ArpaDateFormat(thisTime)
|
||||||
|
|
||||||
// send sms for agent
|
await sms.pieceRequest.sent(pr.agent_id.mobile_number, trackingCode, thisTime)
|
||||||
const smsMsg = [
|
|
||||||
' نماینده گرامی درخواست قطعه شما در تاریخ ',
|
|
||||||
SmsDateFormat(thisTime),
|
|
||||||
' با کد پیگیری ',
|
|
||||||
trackingCode,
|
|
||||||
' برای شرکت ارسال شد. '
|
|
||||||
]
|
|
||||||
|
|
||||||
SMS([pr.agent_id.mobile_number], smsMsg.join(''))
|
|
||||||
|
|
||||||
await pr.save()
|
await pr.save()
|
||||||
notifyAdmin('updateNewPieceRequests')
|
notifyAdmin('updateNewPieceRequests')
|
||||||
@@ -268,15 +255,7 @@ module.exports.get_one_pr_for_admin = [
|
|||||||
pr.statusHistory.push({ status: 'ongoing', date: thisTime })
|
pr.statusHistory.push({ status: 'ongoing', date: thisTime })
|
||||||
await pr.save()
|
await pr.save()
|
||||||
|
|
||||||
const smsMsg = [
|
await sms.pieceRequest.ongoing(pr.agent_id.mobile_number, pr.trackingCode, thisTime)
|
||||||
' نماینده گرامی درخواست قطعه شما با کد پیگیری ',
|
|
||||||
pr.trackingCode,
|
|
||||||
' در تاریخ ',
|
|
||||||
SmsDateFormat(thisTime),
|
|
||||||
' در دست اقدام قرار گرفت. '
|
|
||||||
]
|
|
||||||
|
|
||||||
SMS([pr.agent_id.mobile_number], smsMsg.join(''))
|
|
||||||
notifyAdmin('updateNewPieceRequests')
|
notifyAdmin('updateNewPieceRequests')
|
||||||
}
|
}
|
||||||
return res.json(pr)
|
return res.json(pr)
|
||||||
@@ -318,38 +297,14 @@ module.exports.change_pr_status_by_admin = [
|
|||||||
pr.status = status
|
pr.status = status
|
||||||
pr.statusHistory.push({ status, date: thisTime })
|
pr.statusHistory.push({ status, date: thisTime })
|
||||||
|
|
||||||
let smsMessage
|
|
||||||
// differenet status methods
|
|
||||||
if (status === 'waiting') {
|
if (status === 'waiting') {
|
||||||
smsMessage = [
|
await sms.pieceRequest.waiting(pr.agent_id.mobile_number, pr.trackingCode, thisTime)
|
||||||
' نماینده گرامی درخواست قطعه شما با کد پیگیری ',
|
|
||||||
pr.trackingCode,
|
|
||||||
' در تاریخ ',
|
|
||||||
SmsDateFormat(thisTime),
|
|
||||||
' در انتظار قطعه میباشد. '
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (status === 'delivered') {
|
if (status === 'delivered') {
|
||||||
if (deliveryCode) pr.deliveryCode = deliveryCode
|
if (deliveryCode) pr.deliveryCode = deliveryCode
|
||||||
|
await sms.pieceRequest.delivered(pr.agent_id.mobile_number, pr.trackingCode, deliveryCode, thisTime)
|
||||||
function deliveryCodePhrase() {
|
|
||||||
if (deliveryCode.length) return `کد پیگیری مرسوله: ${deliveryCode}` + '\n'
|
|
||||||
else return ''
|
|
||||||
}
|
|
||||||
|
|
||||||
smsMessage = [
|
|
||||||
' نماینده گرامی درخواست قطعه شما با کد پیگیری ',
|
|
||||||
pr.trackingCode,
|
|
||||||
' در تاریخ ',
|
|
||||||
SmsDateFormat(thisTime),
|
|
||||||
' تحویل شد. ',
|
|
||||||
'\n',
|
|
||||||
deliveryCodePhrase()
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
await SMS([pr.agent_id.mobile_number], smsMessage.join(''))
|
|
||||||
await pr.save()
|
await pr.save()
|
||||||
return res.json({ message: _faSr.response.success_save })
|
return res.json({ message: _faSr.response.success_save })
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ const moment = require('moment-jalaali')
|
|||||||
const Mongoose = require('mongoose')
|
const Mongoose = require('mongoose')
|
||||||
const Representation = require('../models/Representation')
|
const Representation = require('../models/Representation')
|
||||||
const User = require('../models/User')
|
const User = require('../models/User')
|
||||||
const { SMS } = require('../plugins/SMS_Module')
|
const sms = require('../plugins/SMS_Module')
|
||||||
const { phrases } = require('../plugins/SMS_Phrases')
|
|
||||||
const { _sr } = require('../plugins/serverResponses')
|
const { _sr } = require('../plugins/serverResponses')
|
||||||
const { notifyAdmin } = require('../WebSocket/controllers/admin_EventsController')
|
const { notifyAdmin } = require('../WebSocket/controllers/admin_EventsController')
|
||||||
const {
|
const {
|
||||||
@@ -26,10 +26,6 @@ const _faSr = _sr.fa
|
|||||||
// return moment(date).format('YYYY-MM-DD HH:mm:ss')
|
// return moment(date).format('YYYY-MM-DD HH:mm:ss')
|
||||||
// }
|
// }
|
||||||
|
|
||||||
function SmsDateFormat(date) {
|
|
||||||
return moment(date).format('jYYYY/jMM/jDD')
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports.add_representation = [
|
module.exports.add_representation = [
|
||||||
[
|
[
|
||||||
body('representation_type')
|
body('representation_type')
|
||||||
@@ -302,23 +298,9 @@ module.exports.add_representation = [
|
|||||||
user.representation_code = representation_code
|
user.representation_code = representation_code
|
||||||
await user.save()
|
await user.save()
|
||||||
|
|
||||||
const smsMessage = [
|
|
||||||
' متقاضی گرامی درخواست شما با کد پیگیری ',
|
|
||||||
representation_code,
|
|
||||||
' در تاریخ ',
|
|
||||||
SmsDateFormat(Date.now()),
|
|
||||||
' در سامانه ثبت شد. ',
|
|
||||||
'\n',
|
|
||||||
' بعد از بررسی مدارک توسط کارشناسان نتیجه از طریق پیامک برای شما ارسال خواهد شد، همچنین میتوانید با کد پیگیری از طریق نشانی زیر وضعیت درخواست خود را بررسی کند. ',
|
|
||||||
'\n',
|
|
||||||
'https://asan-service.com/representation',
|
|
||||||
'\n',
|
|
||||||
phrases.signature
|
|
||||||
]
|
|
||||||
|
|
||||||
const responseMsg = ['درخواست شما باموفقیت ثبت شد.', '\n', ' کد پیگیری: ', representation_code]
|
const responseMsg = ['درخواست شما باموفقیت ثبت شد.', '\n', ' کد پیگیری: ', representation_code]
|
||||||
|
|
||||||
SMS([mobile_number], smsMessage.join(''))
|
await sms.representation.submitted(mobile_number, representation_code, Date.now())
|
||||||
notifyAdmin('updateNewRepresentations')
|
notifyAdmin('updateNewRepresentations')
|
||||||
return res.json({ message: responseMsg.join('') })
|
return res.json({ message: responseMsg.join('') })
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
@@ -610,16 +592,12 @@ module.exports.getOne = [
|
|||||||
if (representation.status === 'registered') {
|
if (representation.status === 'registered') {
|
||||||
representation.status = 'ongoing'
|
representation.status = 'ongoing'
|
||||||
await representation.save()
|
await representation.save()
|
||||||
const smsMsg = [
|
|
||||||
' متقاصی گرامی درخواست شما برای اخذ نمایندگی آسان سرویس به کد پیگیری ',
|
await sms.representation.underReview(
|
||||||
|
representation.mobile_number,
|
||||||
representation.representation_code,
|
representation.representation_code,
|
||||||
' مورخ ',
|
Date.now()
|
||||||
SmsDateFormat(Date.now()),
|
)
|
||||||
' توسط کارشناسان آسان سرویس مشاهده و مورد بررسی قرار گرفت. ',
|
|
||||||
'\n',
|
|
||||||
phrases.signature
|
|
||||||
]
|
|
||||||
SMS([representation.mobile_number], smsMsg.join(''))
|
|
||||||
notifyAdmin('updateNewRepresentations')
|
notifyAdmin('updateNewRepresentations')
|
||||||
return res.json(representation)
|
return res.json(representation)
|
||||||
} else return res.json(representation)
|
} else return res.json(representation)
|
||||||
@@ -683,14 +661,11 @@ module.exports.change_form_status = [
|
|||||||
if (status === 'uploadOn') {
|
if (status === 'uploadOn') {
|
||||||
representation.upload = true
|
representation.upload = true
|
||||||
await representation.save()
|
await representation.save()
|
||||||
const smsMsg = [
|
await sms.representation.uploadAccess(
|
||||||
' متقاصی گرامی دسرسی آپلود مدارک برای درخواست ',
|
representation.mobile_number,
|
||||||
representation.representation_code,
|
representation.representation_code,
|
||||||
' ایجاد شد، لطفا هرچه سریع تر نسبت به آپلود مدارک خود اقدام کنید. ',
|
Date.now()
|
||||||
'\n',
|
)
|
||||||
phrases.signature
|
|
||||||
]
|
|
||||||
SMS([representation.mobile_number], smsMsg.join(''))
|
|
||||||
return res.json({ message: 'وضعیت جدید در سیستم ثبت شد و پیامک اطلاع رسانی برای متقاضی ارسال شد' })
|
return res.json({ message: 'وضعیت جدید در سیستم ثبت شد و پیامک اطلاع رسانی برای متقاضی ارسال شد' })
|
||||||
}
|
}
|
||||||
if (status === 'uploadOff') {
|
if (status === 'uploadOff') {
|
||||||
@@ -702,12 +677,7 @@ module.exports.change_form_status = [
|
|||||||
if (status === 'editAccessOn') {
|
if (status === 'editAccessOn') {
|
||||||
representation.editAccess = true
|
representation.editAccess = true
|
||||||
await representation.save()
|
await representation.save()
|
||||||
const smsMsg = [
|
await sms.representation.editAccess(representation.mobile_number, Date.now())
|
||||||
' نماینده گرامی دسرسی ویرایش اطلاعات نمایندگی برای شما ایجاد شد، لطفا هرچه سریع تر نسبت به ویرایش اطلاعات خود اقدام کنید.',
|
|
||||||
'\n',
|
|
||||||
phrases.signature
|
|
||||||
]
|
|
||||||
SMS([representation.mobile_number], smsMsg.join(''))
|
|
||||||
return res.json({ message: 'وضعیت جدید در سیستم ثبت شد و پیامک اطلاع رسانی برای متقاضی ارسال شد' })
|
return res.json({ message: 'وضعیت جدید در سیستم ثبت شد و پیامک اطلاع رسانی برای متقاضی ارسال شد' })
|
||||||
}
|
}
|
||||||
if (status === 'editAccessOff') {
|
if (status === 'editAccessOff') {
|
||||||
@@ -763,16 +733,12 @@ module.exports.change_form_status = [
|
|||||||
else return ' مورد قبول قرار گرفت. برای ادامه ی فرایند از طرف شرکت با شما تماس گرفته خواهد شد. '
|
else return ' مورد قبول قرار گرفت. برای ادامه ی فرایند از طرف شرکت با شما تماس گرفته خواهد شد. '
|
||||||
}
|
}
|
||||||
|
|
||||||
const smsMsg = [
|
await sms.representation.statusUpdate(
|
||||||
' متقاصی گرامی درخواست شما برای اخذ نمایندگی آسان سرویس به کد پیگیری ',
|
representation.mobile_number,
|
||||||
representation.representation_code,
|
representation.representation_code,
|
||||||
' مورخ ',
|
|
||||||
SmsDateFormat(Date.now()),
|
|
||||||
statusToPhrase(),
|
statusToPhrase(),
|
||||||
'\n',
|
Date.now()
|
||||||
phrases.signature
|
)
|
||||||
]
|
|
||||||
SMS([representation.mobile_number], smsMsg.join(''))
|
|
||||||
return res.json({ message: 'وضعیت جدید در سیستم ثبت شد و پیامک اطلاع رسانی برای متقاضی ارسال شد' })
|
return res.json({ message: 'وضعیت جدید در سیستم ثبت شد و پیامک اطلاع رسانی برای متقاضی ارسال شد' })
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return res404(res, `there is an error here --- ${e}`)
|
return res404(res, `there is an error here --- ${e}`)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ const { body, validationResult } = require('express-validator')
|
|||||||
const SMSBroadcast = require('../models/SMSBroadcast')
|
const SMSBroadcast = require('../models/SMSBroadcast')
|
||||||
const { _sr } = require('../plugins/serverResponses')
|
const { _sr } = require('../plugins/serverResponses')
|
||||||
const { res500, checkValidations } = require('../plugins/controllersHelperFunctions')
|
const { res500, checkValidations } = require('../plugins/controllersHelperFunctions')
|
||||||
const { SMS } = require('../plugins/SMS_Module')
|
const sms = require('../plugins/SMS_Module')
|
||||||
const _faSr = _sr.fa
|
const _faSr = _sr.fa
|
||||||
|
|
||||||
module.exports.broadcast = [
|
module.exports.broadcast = [
|
||||||
@@ -19,9 +19,8 @@ module.exports.broadcast = [
|
|||||||
const data = { message, recievers, _creator: user_id }
|
const data = { message, recievers, _creator: user_id }
|
||||||
const smsBroadcast = new SMSBroadcast(data)
|
const smsBroadcast = new SMSBroadcast(data)
|
||||||
await smsBroadcast.save()
|
await smsBroadcast.save()
|
||||||
for await (const item of recievers) {
|
const mobileNumbers = recievers.map(item => item.mobile_number)
|
||||||
await SMS([item.mobile_number], message)
|
await sms.broadcast(mobileNumbers, message)
|
||||||
}
|
|
||||||
return res.json({ message: 'پیامک برای همه مخاطبین ارسال گردید' })
|
return res.json({ message: 'پیامک برای همه مخاطبین ارسال گردید' })
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return res500(res, e)
|
return res500(res, e)
|
||||||
|
|||||||
@@ -2,8 +2,7 @@ const { body, validationResult } = require('express-validator')
|
|||||||
const User = require('../models/User')
|
const User = require('../models/User')
|
||||||
const SurveyCheck = require('../models/SurveyCheck')
|
const SurveyCheck = require('../models/SurveyCheck')
|
||||||
const { res406, res500, checkValidations } = require('../plugins/controllersHelperFunctions')
|
const { res406, res500, checkValidations } = require('../plugins/controllersHelperFunctions')
|
||||||
const { SMS } = require('../plugins/SMS_Module')
|
const sms = require('../plugins/SMS_Module')
|
||||||
const { phrases } = require('../plugins/SMS_Phrases')
|
|
||||||
|
|
||||||
module.exports.reception = [
|
module.exports.reception = [
|
||||||
[
|
[
|
||||||
@@ -19,23 +18,13 @@ module.exports.reception = [
|
|||||||
const user = await User.findOne({ $or: [{ verity_businessID: BusinessID }, { panatech_businessID: BusinessID }] })
|
const user = await User.findOne({ $or: [{ verity_businessID: BusinessID }, { panatech_businessID: BusinessID }] })
|
||||||
if (!user) return res406(res, 'Incorrect BusinessID')
|
if (!user) return res406(res, 'Incorrect BusinessID')
|
||||||
|
|
||||||
function getMessageTxt() {
|
await sms.warranty.reception(
|
||||||
const msgArray = [
|
user.mobile_number,
|
||||||
'مشتری گرامی',
|
user.first_name + ' ' + user.last_name,
|
||||||
user.first_name + ' ' + user.last_name,
|
TempReceiptTransNumber,
|
||||||
'\n',
|
ItemReceptionTransNumber,
|
||||||
'کالاهای شما با شماره پذیرش موقت',
|
Date.now()
|
||||||
TempReceiptTransNumber,
|
)
|
||||||
'توسط واحد گارانتی آسان سرویس دریافت شد و با شماره پذیرش دائم',
|
|
||||||
ItemReceptionTransNumber,
|
|
||||||
'دردست بررسی می باشد. به محض آماده شدن کالاها به شما اطلاع رسانی خواهد شد.',
|
|
||||||
'\n',
|
|
||||||
phrases.signature
|
|
||||||
]
|
|
||||||
return msgArray.join(' ')
|
|
||||||
}
|
|
||||||
|
|
||||||
SMS([user.mobile_number], getMessageTxt())
|
|
||||||
return res.json({ message: 'Message sent successfully' })
|
return res.json({ message: 'Message sent successfully' })
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return res500(res, e)
|
return res500(res, e)
|
||||||
@@ -57,23 +46,13 @@ module.exports.repair = [
|
|||||||
const user = await User.findOne({ $or: [{ verity_businessID: BusinessID }, { panatech_businessID: BusinessID }] })
|
const user = await User.findOne({ $or: [{ verity_businessID: BusinessID }, { panatech_businessID: BusinessID }] })
|
||||||
if (!user) return res406(res, 'Incorrect BusinessID')
|
if (!user) return res406(res, 'Incorrect BusinessID')
|
||||||
|
|
||||||
function getMessageTxt() {
|
await sms.warranty.repairCompleted(
|
||||||
const msgArray = [
|
user.mobile_number,
|
||||||
'مشتری گرامی',
|
user.first_name + ' ' + user.last_name,
|
||||||
user.first_name + ' ' + user.last_name,
|
ItemReceptionTransNumber,
|
||||||
'\n',
|
TransNumber,
|
||||||
'مراحل تعمیر و بررسی کالاهای ارسالی شما با شماره پذیرش',
|
Date.now()
|
||||||
ItemReceptionTransNumber,
|
)
|
||||||
'توسط واحد گارانتی آسان سرویس انجام شد و با شماره فاکتور گارانتی',
|
|
||||||
TransNumber,
|
|
||||||
'ثبت شد. به زودی کالاها به آدرس شما ارسال می گردد. ',
|
|
||||||
'\n',
|
|
||||||
phrases.signature
|
|
||||||
]
|
|
||||||
return msgArray.join(' ')
|
|
||||||
}
|
|
||||||
|
|
||||||
SMS([user.mobile_number], getMessageTxt())
|
|
||||||
return res.json({ message: 'Message sent successfully' })
|
return res.json({ message: 'Message sent successfully' })
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return res500(res, e)
|
return res500(res, e)
|
||||||
@@ -95,22 +74,6 @@ module.exports.sendBack = [
|
|||||||
const user = await User.findOne({ $or: [{ verity_businessID: BusinessID }, { panatech_businessID: BusinessID }] })
|
const user = await User.findOne({ $or: [{ verity_businessID: BusinessID }, { panatech_businessID: BusinessID }] })
|
||||||
if (!user) return res406(res, 'Incorrect BusinessID')
|
if (!user) return res406(res, 'Incorrect BusinessID')
|
||||||
|
|
||||||
function getMessageTxt() {
|
|
||||||
const msgArray = [
|
|
||||||
'مشتری گرامی',
|
|
||||||
user.first_name + ' ' + user.last_name,
|
|
||||||
'\n',
|
|
||||||
'کالاهای ارسالی شما با شماره پذیرش',
|
|
||||||
ItemReceptionTransNumber,
|
|
||||||
'پس از انجام مراحل گارانتی توسط واحد گارانتی به آدرس شما ارسال شد. شماره بیجک بسته ارسالی',
|
|
||||||
DeliveryCode,
|
|
||||||
'می باشد. از همراهی و خرید شما سپاس گزاریم. ',
|
|
||||||
'\n',
|
|
||||||
phrases.signature
|
|
||||||
]
|
|
||||||
return msgArray.join(' ')
|
|
||||||
}
|
|
||||||
|
|
||||||
const surveyData = {
|
const surveyData = {
|
||||||
code: ItemReceptionTransNumber,
|
code: ItemReceptionTransNumber,
|
||||||
user: user._id,
|
user: user._id,
|
||||||
@@ -121,7 +84,13 @@ module.exports.sendBack = [
|
|||||||
if (err) console.log('surveyCheck save error', err)
|
if (err) console.log('surveyCheck save error', err)
|
||||||
})
|
})
|
||||||
|
|
||||||
SMS([user.mobile_number], getMessageTxt())
|
await sms.warranty.sendback(
|
||||||
|
user.mobile_number,
|
||||||
|
user.first_name + ' ' + user.last_name,
|
||||||
|
ItemReceptionTransNumber,
|
||||||
|
DeliveryCode,
|
||||||
|
Date.now()
|
||||||
|
)
|
||||||
return res.json({ message: 'Message sent successfully' })
|
return res.json({ message: 'Message sent successfully' })
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return res500(res, e)
|
return res500(res, e)
|
||||||
|
|||||||
@@ -13,8 +13,7 @@ const {
|
|||||||
checkValidations,
|
checkValidations,
|
||||||
generateRandomDigits
|
generateRandomDigits
|
||||||
} = require('../plugins/controllersHelperFunctions')
|
} = require('../plugins/controllersHelperFunctions')
|
||||||
const { SMS } = require('../plugins/SMS_Module')
|
const sms = require('../plugins/SMS_Module')
|
||||||
const { phrases } = require('../plugins/SMS_Phrases')
|
|
||||||
const { notifyAgent } = require('../WebSocket/controllers/agent_EventsController')
|
const { notifyAgent } = require('../WebSocket/controllers/agent_EventsController')
|
||||||
const { notifyUser } = require('../WebSocket/controllers/user_EventsController')
|
const { notifyUser } = require('../WebSocket/controllers/user_EventsController')
|
||||||
const _faSr = _sr.fa
|
const _faSr = _sr.fa
|
||||||
@@ -24,10 +23,6 @@ function ArpaDateFormat(date) {
|
|||||||
return moment(date).format('YYYY-MM-DD HH:mm:ss')
|
return moment(date).format('YYYY-MM-DD HH:mm:ss')
|
||||||
}
|
}
|
||||||
|
|
||||||
function SmsDateFormat(date) {
|
|
||||||
return moment(date).format('jYYYY/jMM/jDD')
|
|
||||||
}
|
|
||||||
|
|
||||||
/// ///////////////// users
|
/// ///////////////// users
|
||||||
module.exports.add_transaction = [
|
module.exports.add_transaction = [
|
||||||
[
|
[
|
||||||
@@ -60,24 +55,10 @@ module.exports.add_transaction = [
|
|||||||
if (user.isAgent && agent !== 'main')
|
if (user.isAgent && agent !== 'main')
|
||||||
return res406(res, 'نمایندگان فقط میتوانند به خود شرکت آسان سرویس فرم ارسال نمایند')
|
return res406(res, 'نمایندگان فقط میتوانند به خود شرکت آسان سرویس فرم ارسال نمایند')
|
||||||
|
|
||||||
function getMessageTxt(transNumber) {
|
|
||||||
const msgArray = [
|
|
||||||
'مشتری گرامی',
|
|
||||||
user.first_name + ' ' + user.last_name,
|
|
||||||
'\n',
|
|
||||||
'کالاهای شما با شماره پذیرش موقت',
|
|
||||||
transNumber,
|
|
||||||
'در سایت آسان سرویس ثبت گردید. کالاهای ارسالی شما پس از دریافت توسط واحد گارانتی، بررسی شده و به شما اطلاع رسانی خواهد شد.',
|
|
||||||
'\n',
|
|
||||||
phrases.signature
|
|
||||||
]
|
|
||||||
return msgArray.join(' ')
|
|
||||||
}
|
|
||||||
// TODO: here arpa service
|
|
||||||
if (agent === 'main') {
|
if (agent === 'main') {
|
||||||
const ArpaResponse = await saveTransactionToArpa(data, items, db_name)
|
const ArpaResponse = await saveTransactionToArpa(data, items, db_name)
|
||||||
await TransactionDraft.findByIdAndRemove(draftId)
|
await TransactionDraft.findByIdAndRemove(draftId)
|
||||||
SMS([user.mobile_number], getMessageTxt(ArpaResponse))
|
await sms.transaction.submitted(user.mobile_number, ArpaResponse, thisTime)
|
||||||
notifyUser('updateDraftsCount', userId)
|
notifyUser('updateDraftsCount', userId)
|
||||||
return res.json({
|
return res.json({
|
||||||
host: 'ar',
|
host: 'ar',
|
||||||
@@ -97,7 +78,7 @@ module.exports.add_transaction = [
|
|||||||
const transaction = new Transaction(data)
|
const transaction = new Transaction(data)
|
||||||
await transaction.save()
|
await transaction.save()
|
||||||
await TransactionDraft.findByIdAndRemove(draftId)
|
await TransactionDraft.findByIdAndRemove(draftId)
|
||||||
SMS([user.mobile_number], getMessageTxt(transaction.TempReceiptTransNumber))
|
await sms.transaction.submitted(user.mobile_number, transaction.TempReceiptTransNumber, thisTime)
|
||||||
notifyUser('updateDraftsCount', userId)
|
notifyUser('updateDraftsCount', userId)
|
||||||
notifyAgent('newAgentInbox', agent)
|
notifyAgent('newAgentInbox', agent)
|
||||||
notifyAgent('updateAgentInbox', agent)
|
notifyAgent('updateAgentInbox', agent)
|
||||||
@@ -202,69 +183,27 @@ module.exports.change_transaction_status_by_agent = [
|
|||||||
transaction.status = status
|
transaction.status = status
|
||||||
transaction.statusHistory.push({ status, date: thisTime })
|
transaction.statusHistory.push({ status, date: thisTime })
|
||||||
|
|
||||||
let smsMessage
|
|
||||||
// different status methods
|
// different status methods
|
||||||
if (status === 'recieved') {
|
if (status === 'recieved') {
|
||||||
const receiptTN = transaction.TempReceiptTransNumber + 'R' + generateRandomDigits(2)
|
const receiptTN = transaction.TempReceiptTransNumber + 'R' + generateRandomDigits(2)
|
||||||
transaction.ItemReceptionTransNumber = receiptTN
|
transaction.ItemReceptionTransNumber = receiptTN
|
||||||
transaction.ItemReceptionTransDate = ArpaDateFormat(thisTime)
|
transaction.ItemReceptionTransDate = ArpaDateFormat(thisTime)
|
||||||
|
|
||||||
smsMessage = [
|
await sms.transaction.received(transaction.cTel1, transaction.TempReceiptTransNumber, receiptTN, thisTime)
|
||||||
' کاربر گرامی فرم گارانتی شما با کد پذیرش موقت ',
|
|
||||||
transaction.TempReceiptTransNumber,
|
|
||||||
' در تاریخ ',
|
|
||||||
SmsDateFormat(thisTime),
|
|
||||||
' تحویل دفتر نمایندگی و پذیرش شد. ',
|
|
||||||
'\n',
|
|
||||||
' کد پذیرش: ',
|
|
||||||
receiptTN,
|
|
||||||
'\n',
|
|
||||||
phrases.signature
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (status === 'ongoing') {
|
if (status === 'ongoing') {
|
||||||
smsMessage = [
|
await sms.transaction.ongoing(transaction.cTel1, transaction.ItemReceptionTransNumber, thisTime)
|
||||||
' کاربر گرامی فرم گارانتی شما با کد پذیرش ',
|
|
||||||
transaction.ItemReceptionTransNumber,
|
|
||||||
' در تاریخ ',
|
|
||||||
SmsDateFormat(thisTime),
|
|
||||||
' در دست اقدام قرار گرفت. ',
|
|
||||||
'\n',
|
|
||||||
phrases.signature
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (status === 'waiting') {
|
if (status === 'waiting') {
|
||||||
smsMessage = [
|
await sms.transaction.waiting(transaction.cTel1, transaction.ItemReceptionTransNumber, thisTime)
|
||||||
' کاربر گرامی فرم گارانتی شما با کد پذیرش ',
|
|
||||||
transaction.ItemReceptionTransNumber,
|
|
||||||
' در تاریخ ',
|
|
||||||
SmsDateFormat(thisTime),
|
|
||||||
' در انتظار قطعه میباشد. ',
|
|
||||||
'\n',
|
|
||||||
phrases.signature
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (status === 'delivered') {
|
if (status === 'delivered') {
|
||||||
if (deliveryCode) transaction.deliveryCode = deliveryCode
|
if (deliveryCode) transaction.deliveryCode = deliveryCode
|
||||||
|
|
||||||
function deliveryCodePhrase() {
|
await sms.transaction.delivered(transaction.cTel1, transaction.ItemReceptionTransNumber, deliveryCode, thisTime)
|
||||||
if (deliveryCode.length) return `کد پیگیری مرسوله: ${deliveryCode}` + '\n'
|
|
||||||
else return ''
|
|
||||||
}
|
|
||||||
|
|
||||||
smsMessage = [
|
|
||||||
' کاربر گرامی فرم گارانتی شما با کد پذیرش ',
|
|
||||||
transaction.ItemReceptionTransNumber,
|
|
||||||
' در تاریخ ',
|
|
||||||
SmsDateFormat(thisTime),
|
|
||||||
' تحویل شد. ',
|
|
||||||
'\n',
|
|
||||||
deliveryCodePhrase(),
|
|
||||||
phrases.signature
|
|
||||||
]
|
|
||||||
|
|
||||||
const surveyData = {
|
const surveyData = {
|
||||||
code: transaction.ItemReceptionTransNumber,
|
code: transaction.ItemReceptionTransNumber,
|
||||||
@@ -277,7 +216,7 @@ module.exports.change_transaction_status_by_agent = [
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
await SMS([transaction.cTel1], smsMessage.join(''))
|
// SMS call now handled above in the individual status methods
|
||||||
await transaction.save()
|
await transaction.save()
|
||||||
|
|
||||||
return res.json({ message: _faSr.response.success_save })
|
return res.json({ message: _faSr.response.success_save })
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ const User = require('../models/User')
|
|||||||
const { secretKey } = require('../authentication')
|
const { secretKey } = require('../authentication')
|
||||||
const permissions = require('../plugins/permissions')
|
const permissions = require('../plugins/permissions')
|
||||||
const { _sr } = require('../plugins/serverResponses')
|
const { _sr } = require('../plugins/serverResponses')
|
||||||
const { SMS } = require('../plugins/SMS_Module')
|
const sms = require('../plugins/SMS_Module')
|
||||||
const { notifyAdmin } = require('../WebSocket/controllers/admin_EventsController')
|
const { notifyAdmin } = require('../WebSocket/controllers/admin_EventsController')
|
||||||
const { saveUserToArpa, updateUserOnArpa } = require('../ArpaWebservice.js')
|
const { saveUserToArpa, updateUserOnArpa } = require('../ArpaWebservice.js')
|
||||||
const {
|
const {
|
||||||
@@ -98,13 +98,7 @@ function sendConfirmationSMS(userId) {
|
|||||||
user.mobileConfirmationKey = mobileKey
|
user.mobileConfirmationKey = mobileKey
|
||||||
await user.save()
|
await user.save()
|
||||||
|
|
||||||
// const smsMsg = [
|
await sms.auth.mobileVerificationCode(user.mobile_number, mobileKey, new Date())
|
||||||
// 'این شماره در وبسایت آسان سرویس جهت ارائه خدمات گارانتی ثبت گردیده.',
|
|
||||||
// ' کد تایید شماره همراه: ',
|
|
||||||
// mobileKey
|
|
||||||
// ]
|
|
||||||
|
|
||||||
await SMS(user.mobile_number, mobileKey)
|
|
||||||
|
|
||||||
resolve()
|
resolve()
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
@@ -676,10 +670,12 @@ module.exports.generate_reset_user_password_link = [
|
|||||||
if (type === 'email') query.email = email.toLowerCase().trim()
|
if (type === 'email') query.email = email.toLowerCase().trim()
|
||||||
if (type === 'mobile') query.mobile_number = normalizeMobileNumber(mobile)
|
if (type === 'mobile') query.mobile_number = normalizeMobileNumber(mobile)
|
||||||
|
|
||||||
|
console.log('queryyyy', query)
|
||||||
|
|
||||||
const user = await User.findOne(query)
|
const user = await User.findOne(query)
|
||||||
if (!user) throw new Error('err')
|
if (!user) throw new Error('err')
|
||||||
|
|
||||||
const resetPassKey = await crypto.randomBytes(20).toString('hex')
|
const resetPassKey = crypto.randomBytes(5).toString('hex')
|
||||||
user.resetPassToken = resetPassKey
|
user.resetPassToken = resetPassKey
|
||||||
const hostURL = 'www.asan-service.com'
|
const hostURL = 'www.asan-service.com'
|
||||||
|
|
||||||
@@ -715,11 +711,10 @@ module.exports.generate_reset_user_password_link = [
|
|||||||
html: emailHTMLTemplate
|
html: emailHTMLTemplate
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
const smsMsg = [
|
// const resetLink = `asan-service.com/auth/resetpass-newpass/${resetPassKey}`
|
||||||
' لینک بازیابی کلمه عبور آسان سرویس: ',
|
const resetLink = `${resetPassKey}`
|
||||||
`https://${hostURL}/auth/resetpass-newpass/${resetPassKey}`
|
console.log(resetLink)
|
||||||
]
|
await sms.auth.passwordReset(user.mobile_number, resetLink, new Date())
|
||||||
await SMS([user.mobile_number], smsMsg.join(''))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
await user.save()
|
await user.save()
|
||||||
@@ -730,7 +725,7 @@ module.exports.generate_reset_user_password_link = [
|
|||||||
return res.json({ message: responseMsg })
|
return res.json({ message: responseMsg })
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
let errMsg = _faSr.not_found.user_id
|
let errMsg = _faSr.not_found.user_id
|
||||||
if (err.code === 'EENVELOPE') errMsg = 'مشکلی در ارسال ایمیل پیش آمد لطفا دوباره تلاش کنید'
|
if (err.code === 'EENVELOPE' || err.code === 400) errMsg = 'مشکلی در ارسال ایمیل پیش آمد لطفا دوباره تلاش کنید'
|
||||||
return res404(res, errMsg)
|
return res404(res, errMsg)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1072
-56
File diff suppressed because it is too large
Load Diff
+15
-16
@@ -7,10 +7,10 @@ const Survey = require('../models/Survey')
|
|||||||
const Announcement = require('../models/Announcement')
|
const Announcement = require('../models/Announcement')
|
||||||
const { saveUserToArpa, updateUserOnArpa } = require('../ArpaWebservice')
|
const { saveUserToArpa, updateUserOnArpa } = require('../ArpaWebservice')
|
||||||
const { generateRandomDigitsInRangeOf } = require('./controllersHelperFunctions')
|
const { generateRandomDigitsInRangeOf } = require('./controllersHelperFunctions')
|
||||||
const { SMS } = require('./SMS_Module')
|
const sms = require('./SMS_Module')
|
||||||
const { phrases } = require('./SMS_Phrases')
|
const { phrases } = require('./SMS_Phrases')
|
||||||
// eslint-disable-next-line import/order
|
// eslint-disable-next-line import/order
|
||||||
const Cron = require("cron").CronJob;
|
const Cron = require('cron').CronJob
|
||||||
|
|
||||||
/// /////// times
|
/// /////// times
|
||||||
const minute = 1000 * 60
|
const minute = 1000 * 60
|
||||||
@@ -19,33 +19,32 @@ const day = hour * 24
|
|||||||
|
|
||||||
/// /////// jobs
|
/// /////// jobs
|
||||||
|
|
||||||
const job = new Cron("0 0 * * *", async () => {
|
const job = new Cron('0 0 * * *', async () => {
|
||||||
console.log('✅ --job: check devices for activation is running')
|
console.log('✅ --job: check devices for activation is running')
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const devices = await InstalledDevice.find({
|
const devices = await InstalledDevice.find({
|
||||||
$or: [
|
$or: [{ status: 0 }, { status: 2 }]
|
||||||
{ status: 0 },
|
})
|
||||||
{ status: 2 }
|
.populate('userId', 'mobile_number')
|
||||||
]
|
.populate('deviceId', 'model')
|
||||||
}).populate('userId', 'mobile_number').populate('deviceId', 'model')
|
|
||||||
|
|
||||||
for await (const device of devices) {
|
for await (const device of devices) {
|
||||||
// item time and timeout
|
// item time and timeout
|
||||||
const itemTime = Date.parse(device.created_at)
|
const itemTime = Date.parse(device.created_at)
|
||||||
const timeout = itemTime + (day * 3)
|
const timeout = itemTime + day * 3
|
||||||
if (Date.now() >= timeout && !device.check) {
|
if (Date.now() >= timeout && !device.check) {
|
||||||
device.check = true;
|
device.check = true
|
||||||
await device.save()
|
await device.save()
|
||||||
SMS([device.userId.mobile_number], `کاربر گرامی\n \n \nجهت ثبت سیمکارت برای دستگاه ${device.deviceId.model} \nبا شناسه : ${device.IMEI} \nلطفا زود تر اقدام کنید `)
|
await sms.auth.sendOTP(
|
||||||
|
device.userId.mobile_number,
|
||||||
|
`کاربر گرامی\n \n \nجهت ثبت سیمکارت برای دستگاه ${device.deviceId.model} \nبا شناسه : ${device.IMEI} \nلطفا زود تر اقدام کنید `
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(e)
|
console.log(e)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
})
|
})
|
||||||
const jobs = {
|
const jobs = {
|
||||||
checkUserActivation() {
|
checkUserActivation() {
|
||||||
@@ -179,7 +178,7 @@ const jobs = {
|
|||||||
phrases.signature
|
phrases.signature
|
||||||
]
|
]
|
||||||
|
|
||||||
SMS([item.mobile], msg.join(''))
|
await sms.auth.sendOTP(item.mobile, msg.join(''))
|
||||||
}
|
}
|
||||||
|
|
||||||
/// /////////////////////////////////////////////////////// fake data for tests
|
/// /////////////////////////////////////////////////////// fake data for tests
|
||||||
@@ -227,7 +226,7 @@ const jobs = {
|
|||||||
'\n',
|
'\n',
|
||||||
`https://asan-service.com/account/survey?code=${item.code}`
|
`https://asan-service.com/account/survey?code=${item.code}`
|
||||||
]
|
]
|
||||||
SMS([item.user.mobile_number], msg.join(' '))
|
await sms.auth.sendOTP(item.user.mobile_number, msg.join(' '))
|
||||||
item.smsSent = true
|
item.smsSent = true
|
||||||
await item.save()
|
await item.save()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user