This commit is contained in:
Mr Swift
2024-08-25 22:34:18 +03:30
parent 98183f3c57
commit 11d8507e3c
8 changed files with 337 additions and 42 deletions
+35 -29
View File
@@ -3,6 +3,7 @@ const { _sr } = require('../plugins/serverResponses');
const { checkValidations } = require('../plugins/controllersHelperFunctions');
const User = require('../models/GPS.User');
const Withdraw = require('../models/GPS.Withdraw');
const { notifyAdmin } = require('../WebSocket/controllers/admin_EventsController')
module.exports.createRequest = [
@@ -12,35 +13,36 @@ module.exports.createRequest = [
checkValidations(validationResult),
async (req, res) => {
try {
const withdraw = await Withdraw.findOne({userId: req.user_id, status:0})
if(withdraw){
res.status(400).json({ msg: 'شما درخواست درحال بررسی دارید' })
}else{
const user = await User.findById(req.user_id)
if(user.walletBalance < 50000){
const data = {
card: req.body.card,
userId: req.user_id,
amount: user.walletBalance,
dollarAmount: user.dollarBalance,
status: 0
}
const request = await Withdraw.create(data)
user.dollarBalance = 0;
user.walletBalance = 0;
user.save()
// res.status(201).json({ msg: _sr.fa.response.success_save, data: request })
res.status(201).json(request)
}else{
res.status(400).json({ msg: 'حداقل موجودی باید 50 هزار تومان باشد' })
}
const withdraw = await Withdraw.findOne({ userId: req.user_id, status: 0 })
if (withdraw) {
res.status(400).json({ msg: 'شما درخواست درحال بررسی دارید' })
} else {
const user = await User.findById(req.user_id)
if (user.walletBalance < 50000) {
const data = {
card: req.body.card,
userId: req.user_id,
amount: user.walletBalance,
dollarAmount: user.dollarBalance,
status: 0
}
}
const request = await Withdraw.create(data)
user.dollarBalance = 0;
user.walletBalance = 0;
user.save()
// res.status(201).json({ msg: _sr.fa.response.success_save, data: request })
notifyAdmin('newWithdrawRequest')
res.status(201).json(request)
} else {
res.status(400).json({ msg: 'حداقل موجودی باید 50 هزار تومان باشد' })
}
}
} catch (error) {
res.status(500).json({ msg: error })
}
}
]
@@ -67,14 +69,14 @@ module.exports.getAllForUser = async (req, res) => {
// const search = req.query?.search ? req.query.search : 0
const data = await Withdraw.find({
const data = await Withdraw.find({
userId: req.user_id,
// $or: [
// { amount: { $regex: search } },
// { dollarAmount: { $regex: search } },
// { trackingNumber: { $regex: search } },
// ],
}).skip(page).limit(rows).sort({ created_at: -1 });
}).skip(page).limit(rows).sort({ created_at: -1 });
const total = Math.ceil((await Withdraw.countDocuments({ userId: req.user_id })))
res.status(200).json({ data, total })
}
@@ -119,8 +121,10 @@ module.exports.updateReq = [
case "accept": {
request.status = 1;
request.save()
notifyAdmin('newWithdrawRequest')
res.status(201).json({ msg: _sr.fa.response.success_save, data: request })
break;
}
case "deposit": {
@@ -128,8 +132,10 @@ module.exports.updateReq = [
request.depositDate = new Date();
request.trackingNumber = req.body.trackingNumber || 0;
request.save()
notifyAdmin('newWithdrawRequest')
res.status(201).json({ msg: _sr.fa.response.success_save, data: request })
break;
}
default: {