feat: sms module

This commit is contained in:
mahyargdz
2025-07-09 11:55:58 +03:30
parent 43e49f96f7
commit ac1391f9ce
15 changed files with 1175 additions and 464 deletions
+5 -50
View File
@@ -9,7 +9,7 @@ const {
checkValidations,
generateRandomDigits
} = require('../plugins/controllersHelperFunctions')
const { SMS } = require('../plugins/SMS_Module')
const sms = require('../plugins/SMS_Module')
const { notifyAdmin } = require('../WebSocket/controllers/admin_EventsController')
const _faSr = _sr.fa
@@ -18,10 +18,6 @@ function ArpaDateFormat(date) {
return moment(date).format('YYYY-MM-DD HH:mm:ss')
}
function SmsDateFormat(date) {
return moment(date).format('jYYYY/jMM/jDD')
}
/// ///////////////// agent
module.exports.add_piece_request = [
async (req, res) => {
@@ -197,16 +193,7 @@ module.exports.change_pr_status_to_sent_by_agent = [
pr.trackingCode = trackingCode
pr.sendDate = ArpaDateFormat(thisTime)
// send sms for agent
const smsMsg = [
' نماینده گرامی درخواست قطعه شما در تاریخ ',
SmsDateFormat(thisTime),
' با کد پیگیری ',
trackingCode,
' برای شرکت ارسال شد. '
]
SMS([pr.agent_id.mobile_number], smsMsg.join(''))
await sms.pieceRequest.sent(pr.agent_id.mobile_number, trackingCode, thisTime)
await pr.save()
notifyAdmin('updateNewPieceRequests')
@@ -268,15 +255,7 @@ module.exports.get_one_pr_for_admin = [
pr.statusHistory.push({ status: 'ongoing', date: thisTime })
await pr.save()
const smsMsg = [
' نماینده گرامی درخواست قطعه شما با کد پیگیری ',
pr.trackingCode,
' در تاریخ ',
SmsDateFormat(thisTime),
' در دست اقدام قرار گرفت. '
]
SMS([pr.agent_id.mobile_number], smsMsg.join(''))
await sms.pieceRequest.ongoing(pr.agent_id.mobile_number, pr.trackingCode, thisTime)
notifyAdmin('updateNewPieceRequests')
}
return res.json(pr)
@@ -318,38 +297,14 @@ module.exports.change_pr_status_by_admin = [
pr.status = status
pr.statusHistory.push({ status, date: thisTime })
let smsMessage
// differenet status methods
if (status === 'waiting') {
smsMessage = [
' نماینده گرامی درخواست قطعه شما با کد پیگیری ',
pr.trackingCode,
' در تاریخ ',
SmsDateFormat(thisTime),
' در انتظار قطعه میباشد. '
]
await sms.pieceRequest.waiting(pr.agent_id.mobile_number, pr.trackingCode, thisTime)
}
if (status === 'delivered') {
if (deliveryCode) pr.deliveryCode = deliveryCode
function deliveryCodePhrase() {
if (deliveryCode.length) return `کد پیگیری مرسوله: ${deliveryCode}` + '\n'
else return ''
}
smsMessage = [
' نماینده گرامی درخواست قطعه شما با کد پیگیری ',
pr.trackingCode,
' در تاریخ ',
SmsDateFormat(thisTime),
' تحویل شد. ',
'\n',
deliveryCodePhrase()
]
await sms.pieceRequest.delivered(pr.agent_id.mobile_number, pr.trackingCode, deliveryCode, thisTime)
}
await SMS([pr.agent_id.mobile_number], smsMessage.join(''))
await pr.save()
return res.json({ message: _faSr.response.success_save })
} catch (e) {