feat: sms module
This commit is contained in:
@@ -13,8 +13,7 @@ const {
|
||||
checkValidations,
|
||||
generateRandomDigits
|
||||
} = require('../plugins/controllersHelperFunctions')
|
||||
const { SMS } = require('../plugins/SMS_Module')
|
||||
const { phrases } = require('../plugins/SMS_Phrases')
|
||||
const sms = require('../plugins/SMS_Module')
|
||||
const { notifyAgent } = require('../WebSocket/controllers/agent_EventsController')
|
||||
const { notifyUser } = require('../WebSocket/controllers/user_EventsController')
|
||||
const _faSr = _sr.fa
|
||||
@@ -24,10 +23,6 @@ function ArpaDateFormat(date) {
|
||||
return moment(date).format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
|
||||
function SmsDateFormat(date) {
|
||||
return moment(date).format('jYYYY/jMM/jDD')
|
||||
}
|
||||
|
||||
/// ///////////////// users
|
||||
module.exports.add_transaction = [
|
||||
[
|
||||
@@ -60,24 +55,10 @@ module.exports.add_transaction = [
|
||||
if (user.isAgent && agent !== 'main')
|
||||
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') {
|
||||
const ArpaResponse = await saveTransactionToArpa(data, items, db_name)
|
||||
await TransactionDraft.findByIdAndRemove(draftId)
|
||||
SMS([user.mobile_number], getMessageTxt(ArpaResponse))
|
||||
await sms.transaction.submitted(user.mobile_number, ArpaResponse, thisTime)
|
||||
notifyUser('updateDraftsCount', userId)
|
||||
return res.json({
|
||||
host: 'ar',
|
||||
@@ -97,7 +78,7 @@ module.exports.add_transaction = [
|
||||
const transaction = new Transaction(data)
|
||||
await transaction.save()
|
||||
await TransactionDraft.findByIdAndRemove(draftId)
|
||||
SMS([user.mobile_number], getMessageTxt(transaction.TempReceiptTransNumber))
|
||||
await sms.transaction.submitted(user.mobile_number, transaction.TempReceiptTransNumber, thisTime)
|
||||
notifyUser('updateDraftsCount', userId)
|
||||
notifyAgent('newAgentInbox', agent)
|
||||
notifyAgent('updateAgentInbox', agent)
|
||||
@@ -202,69 +183,27 @@ module.exports.change_transaction_status_by_agent = [
|
||||
transaction.status = status
|
||||
transaction.statusHistory.push({ status, date: thisTime })
|
||||
|
||||
let smsMessage
|
||||
// different status methods
|
||||
if (status === 'recieved') {
|
||||
const receiptTN = transaction.TempReceiptTransNumber + 'R' + generateRandomDigits(2)
|
||||
transaction.ItemReceptionTransNumber = receiptTN
|
||||
transaction.ItemReceptionTransDate = ArpaDateFormat(thisTime)
|
||||
|
||||
smsMessage = [
|
||||
' کاربر گرامی فرم گارانتی شما با کد پذیرش موقت ',
|
||||
transaction.TempReceiptTransNumber,
|
||||
' در تاریخ ',
|
||||
SmsDateFormat(thisTime),
|
||||
' تحویل دفتر نمایندگی و پذیرش شد. ',
|
||||
'\n',
|
||||
' کد پذیرش: ',
|
||||
receiptTN,
|
||||
'\n',
|
||||
phrases.signature
|
||||
]
|
||||
await sms.transaction.received(transaction.cTel1, transaction.TempReceiptTransNumber, receiptTN, thisTime)
|
||||
}
|
||||
|
||||
if (status === 'ongoing') {
|
||||
smsMessage = [
|
||||
' کاربر گرامی فرم گارانتی شما با کد پذیرش ',
|
||||
transaction.ItemReceptionTransNumber,
|
||||
' در تاریخ ',
|
||||
SmsDateFormat(thisTime),
|
||||
' در دست اقدام قرار گرفت. ',
|
||||
'\n',
|
||||
phrases.signature
|
||||
]
|
||||
await sms.transaction.ongoing(transaction.cTel1, transaction.ItemReceptionTransNumber, thisTime)
|
||||
}
|
||||
|
||||
if (status === 'waiting') {
|
||||
smsMessage = [
|
||||
' کاربر گرامی فرم گارانتی شما با کد پذیرش ',
|
||||
transaction.ItemReceptionTransNumber,
|
||||
' در تاریخ ',
|
||||
SmsDateFormat(thisTime),
|
||||
' در انتظار قطعه میباشد. ',
|
||||
'\n',
|
||||
phrases.signature
|
||||
]
|
||||
await sms.transaction.waiting(transaction.cTel1, transaction.ItemReceptionTransNumber, thisTime)
|
||||
}
|
||||
|
||||
if (status === 'delivered') {
|
||||
if (deliveryCode) transaction.deliveryCode = deliveryCode
|
||||
|
||||
function deliveryCodePhrase() {
|
||||
if (deliveryCode.length) return `کد پیگیری مرسوله: ${deliveryCode}` + '\n'
|
||||
else return ''
|
||||
}
|
||||
|
||||
smsMessage = [
|
||||
' کاربر گرامی فرم گارانتی شما با کد پذیرش ',
|
||||
transaction.ItemReceptionTransNumber,
|
||||
' در تاریخ ',
|
||||
SmsDateFormat(thisTime),
|
||||
' تحویل شد. ',
|
||||
'\n',
|
||||
deliveryCodePhrase(),
|
||||
phrases.signature
|
||||
]
|
||||
await sms.transaction.delivered(transaction.cTel1, transaction.ItemReceptionTransNumber, deliveryCode, thisTime)
|
||||
|
||||
const surveyData = {
|
||||
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()
|
||||
|
||||
return res.json({ message: _faSr.response.success_save })
|
||||
|
||||
Reference in New Issue
Block a user