131 lines
5.0 KiB
JavaScript
131 lines
5.0 KiB
JavaScript
const { body, validationResult } = require('express-validator')
|
|
const User = require('../models/User')
|
|
const SurveyCheck = require('../models/SurveyCheck')
|
|
const { res406, res500, checkValidations } = require('../plugins/controllersHelperFunctions')
|
|
const { SMS } = require('../plugins/SMS_Module')
|
|
const { phrases } = require('../plugins/SMS_Phrases')
|
|
|
|
module.exports.reception = [
|
|
[
|
|
body('BusinessID').notEmpty().withMessage('BusinessID is required'),
|
|
body('TempReceiptTransNumber').notEmpty().withMessage('TempReceiptTransNumber is required'),
|
|
body('ItemReceptionTransNumber').notEmpty().withMessage('ItemReceptionTransNumber is required')
|
|
],
|
|
checkValidations(validationResult),
|
|
async (req, res) => {
|
|
const { BusinessID, TempReceiptTransNumber, ItemReceptionTransNumber } = req.body
|
|
try {
|
|
// check user id and agent status
|
|
const user = await User.findOne({ $or: [{ verity_businessID: BusinessID }, { panatech_businessID: BusinessID }] })
|
|
if (!user) return res406(res, 'Incorrect BusinessID')
|
|
|
|
function getMessageTxt() {
|
|
const msgArray = [
|
|
'مشتری گرامی',
|
|
user.first_name + ' ' + user.last_name,
|
|
'\n',
|
|
'کالاهای شما با شماره پذیرش موقت',
|
|
TempReceiptTransNumber,
|
|
'توسط واحد گارانتی آسان سرویس دریافت شد و با شماره پذیرش دائم',
|
|
ItemReceptionTransNumber,
|
|
'دردست بررسی می باشد. به محض آماده شدن کالاها به شما اطلاع رسانی خواهد شد.',
|
|
'\n',
|
|
phrases.signature
|
|
]
|
|
return msgArray.join(' ')
|
|
}
|
|
|
|
SMS([user.mobile_number], getMessageTxt())
|
|
return res.json({ message: 'Message sent successfully' })
|
|
} catch (e) {
|
|
return res500(res, e)
|
|
}
|
|
}
|
|
]
|
|
|
|
module.exports.repair = [
|
|
[
|
|
body('BusinessID').notEmpty().withMessage('BusinessID is required'),
|
|
body('TransNumber').notEmpty().withMessage('TransNumber is required'),
|
|
body('ItemReceptionTransNumber').notEmpty().withMessage('ItemReceptionTransNumber is required')
|
|
],
|
|
checkValidations(validationResult),
|
|
async (req, res) => {
|
|
const { BusinessID, ItemReceptionTransNumber, TransNumber } = req.body
|
|
try {
|
|
// check user id and agent status
|
|
const user = await User.findOne({ $or: [{ verity_businessID: BusinessID }, { panatech_businessID: BusinessID }] })
|
|
if (!user) return res406(res, 'Incorrect BusinessID')
|
|
|
|
function getMessageTxt() {
|
|
const msgArray = [
|
|
'مشتری گرامی',
|
|
user.first_name + ' ' + user.last_name,
|
|
'\n',
|
|
'مراحل تعمیر و بررسی کالاهای ارسالی شما با شماره پذیرش',
|
|
ItemReceptionTransNumber,
|
|
'توسط واحد گارانتی آسان سرویس انجام شد و با شماره فاکتور گارانتی',
|
|
TransNumber,
|
|
'ثبت شد. به زودی کالاها به آدرس شما ارسال می گردد. ',
|
|
'\n',
|
|
phrases.signature
|
|
]
|
|
return msgArray.join(' ')
|
|
}
|
|
|
|
SMS([user.mobile_number], getMessageTxt())
|
|
return res.json({ message: 'Message sent successfully' })
|
|
} catch (e) {
|
|
return res500(res, e)
|
|
}
|
|
}
|
|
]
|
|
|
|
module.exports.sendBack = [
|
|
[
|
|
body('BusinessID').notEmpty().withMessage('BusinessID is required'),
|
|
body('DeliveryCode').notEmpty().withMessage('DeliveryCode is required'),
|
|
body('ItemReceptionTransNumber').notEmpty().withMessage('ItemReceptionTransNumber is required')
|
|
],
|
|
checkValidations(validationResult),
|
|
async (req, res) => {
|
|
const { BusinessID, ItemReceptionTransNumber, DeliveryCode } = req.body
|
|
try {
|
|
// check user id and agent status
|
|
const user = await User.findOne({ $or: [{ verity_businessID: BusinessID }, { panatech_businessID: 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 = {
|
|
code: ItemReceptionTransNumber,
|
|
user: user._id,
|
|
timeAdded: Date.now()
|
|
}
|
|
const surveyCheck = new SurveyCheck(surveyData)
|
|
surveyCheck.save(err => {
|
|
if (err) console.log('surveyCheck save error', err)
|
|
})
|
|
|
|
SMS([user.mobile_number], getMessageTxt())
|
|
return res.json({ message: 'Message sent successfully' })
|
|
} catch (e) {
|
|
return res500(res, e)
|
|
}
|
|
}
|
|
]
|