This commit is contained in:
Mr Swift
2024-09-26 12:48:09 +03:30
parent 628bd6a782
commit dbb98d455c
4 changed files with 161 additions and 140 deletions
+145 -138
View File
@@ -173,148 +173,155 @@ module.exports.add_representation = [
checkValidations(validationResult),
async (req, res) => {
const { user_id } = req
if (!user_id) throw new Error('invalid user id')
const {
representation_type,
full_name,
birth_date,
id_number,
place_of_issue,
national_code,
fathers_name,
education_level,
military_status,
certificates,
store_name,
province_name,
province_id,
city_name,
city_id,
postal_code,
mobile_number,
tel_number,
fax_number,
economic_code,
email,
address,
business_license,
ownership_type,
total_area,
repair_area,
stock_area,
customer_reference_floor,
place_location,
geo_location,
banner_info,
repair_technicians,
repair_masters,
office_workers,
bike_deliveries,
computer_repair_exp,
multimedia_repair_exp,
business_exp,
know_asanServ_from,
introducer_info,
asanServ_products_knowledge,
computer_saling_exp,
computer_saling_description,
other_representations,
more_descriptions
} = req.body
const data = {
user_id,
representation_type,
full_name,
birth_date,
id_number,
place_of_issue,
national_code,
fathers_name,
education_level,
military_status,
certificates,
store_name,
province_name,
province_id,
city_name,
city_id,
postal_code,
mobile_number,
tel_number,
fax_number,
economic_code,
email,
address,
business_license,
ownership_type,
total_area,
repair_area,
stock_area,
customer_reference_floor,
place_location,
geo_location,
banner_info,
repair_technicians,
repair_masters,
office_workers,
bike_deliveries,
computer_repair_exp,
multimedia_repair_exp,
business_exp,
know_asanServ_from,
introducer_info,
asanServ_products_knowledge,
computer_saling_exp,
computer_saling_description,
other_representations,
more_descriptions
}
const userData = await User.findById(user_id)
try {
const checkUserRepresentations = await Representation.find({ user_id, archived: false })
if (checkUserRepresentations.length)
return res406(res, 'تا زمانی که درخواست قبلی توسط کارشناسان تعیین وضعیت نشود نمیتوانید درخواست جدیدی ثبت کنید.')
const allRepresentations = await Representation.find()
const representation_code =
'ASAREP' +
moment(Date.now()).format('jMMM').toUpperCase() +
allRepresentations.length.toString().padStart(4, '0')
if (!userData || !userData.confirmed){
res.status(400).json({msg:'اول شماره تلفن و ایمیل خود را تایید کنید'})
data.representation_code = representation_code
const representation = new Representation(data)
const user = await User.findById(user_id)
if(!user){
res404(res,"آین کاربر در دیتای ما وجود ندارد")
}else{
await representation.save()
}else{
const {
representation_type,
full_name,
birth_date,
id_number,
place_of_issue,
national_code,
fathers_name,
education_level,
military_status,
certificates,
store_name,
province_name,
province_id,
city_name,
city_id,
postal_code,
mobile_number,
tel_number,
fax_number,
economic_code,
email,
address,
business_license,
ownership_type,
total_area,
repair_area,
stock_area,
customer_reference_floor,
place_location,
geo_location,
banner_info,
repair_technicians,
repair_masters,
office_workers,
bike_deliveries,
computer_repair_exp,
multimedia_repair_exp,
business_exp,
know_asanServ_from,
introducer_info,
asanServ_products_knowledge,
computer_saling_exp,
computer_saling_description,
other_representations,
more_descriptions
} = req.body
const data = {
user_id,
representation_type,
full_name,
birth_date,
id_number,
place_of_issue,
national_code,
fathers_name,
education_level,
military_status,
certificates,
store_name,
province_name,
province_id,
city_name,
city_id,
postal_code,
mobile_number,
tel_number,
fax_number,
economic_code,
email,
address,
business_license,
ownership_type,
total_area,
repair_area,
stock_area,
customer_reference_floor,
place_location,
geo_location,
banner_info,
repair_technicians,
repair_masters,
office_workers,
bike_deliveries,
computer_repair_exp,
multimedia_repair_exp,
business_exp,
know_asanServ_from,
introducer_info,
asanServ_products_knowledge,
computer_saling_exp,
computer_saling_description,
other_representations,
more_descriptions
}
try {
const checkUserRepresentations = await Representation.find({ user_id, archived: false })
if (checkUserRepresentations.length)
return res406(res, 'تا زمانی که درخواست قبلی توسط کارشناسان تعیین وضعیت نشود نمیتوانید درخواست جدیدی ثبت کنید.')
const allRepresentations = await Representation.find()
const representation_code =
'ASAREP' +
moment(Date.now()).format('jMMM').toUpperCase() +
allRepresentations.length.toString().padStart(4, '0')
data.representation_code = representation_code
const representation = new Representation(data)
const user = await User.findById(user_id)
if(!user){
res404(res,"آین کاربر در دیتای ما وجود ندارد")
}else{
await representation.save()
}
user.askedForRepresentation = true
user.representation_code = representation_code
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]
SMS([mobile_number], smsMessage.join(''))
notifyAdmin('updateNewRepresentations')
return res.json({ message: responseMsg.join('') })
} catch (e) {
return res500(res, e)
}
user.askedForRepresentation = true
user.representation_code = representation_code
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]
SMS([mobile_number], smsMessage.join(''))
notifyAdmin('updateNewRepresentations')
return res.json({ message: responseMsg.join('') })
} catch (e) {
return res500(res, e)
}
}
]
+1 -1
View File
@@ -5,7 +5,7 @@ const inHostUrl = 'mongodb://root:KPTt76tImNBBMm4Kor8QA9gB@asan-service:27017/as
const outHostUrl = 'mongodb://root:KPTt76tImNBBMm4Kor8QA9gB@hotaka.liara.cloud:33794/asanserv_database?authSource=admin'
const init = ()=>{
try {
mongoose.connect(inHostUrl, {
mongoose.connect(outHostUrl, {
useNewUrlParser: true,
useUnifiedTopology: true,
useFindAndModify: false,