- edit campi prodotti

- edit ordini
This commit is contained in:
Surya Paolo
2024-01-13 00:28:53 +01:00
parent c63e345285
commit 7bf549569d
6 changed files with 126 additions and 8 deletions

View File

@@ -106,6 +106,7 @@ module.exports.updateCartByCartId = async function (cartId, newCart) {
const items = newCart.items; const items = newCart.items;
const totalQty = newCart.totalQty; const totalQty = newCart.totalQty;
const totalPrice = newCart.totalPrice; const totalPrice = newCart.totalPrice;
const note = newCart.note;
const modify_at = new Date(); const modify_at = new Date();
@@ -114,7 +115,8 @@ module.exports.updateCartByCartId = async function (cartId, newCart) {
items, items,
totalPrice, totalPrice,
totalQty, totalQty,
modify_at, note,
modify_at: new Date(),
}, },
}, { new: false }).lean().then((ris) => { }, { new: false }).lean().then((ris) => {
return ris; return ris;

View File

@@ -282,6 +282,19 @@ module.exports.updateStatusOrdersElements = async function (arrOrders, myelement
} }
module.exports.updateOrderByParams = async function (idOrder, paramstoupdate) {
const ris = await Order.findOneAndUpdate({ _id: idOrder }, { $set: paramstoupdate });
let myorder = await Order.findOne({ _id: idOrder }).lean();
this.updateTotals(myorder);
await Order.findOneAndUpdate({ _id: idOrder }, { $set: myorder });
return myorder;
}
module.exports.updateTotals = function (order) { module.exports.updateTotals = function (order) {
try { try {

View File

@@ -14,6 +14,9 @@ const ProductInfo = require('../models/productInfo');
const { Circuit } = require('../models/circuit'); const { Circuit } = require('../models/circuit');
const CartClass = require('../modules/Cart')
const Cart = require('../models/cart');
const tools = require('../tools/general'); const tools = require('../tools/general');
const { ObjectID } = require('mongodb'); const { ObjectID } = require('mongodb');
@@ -794,6 +797,46 @@ OrdersCartSchema.pre('save', async function (next) {
} }
}); });
module.exports.updateOrdersCartByParams = async function (idOrdersCart, paramstoupdate) {
const ris = await OrdersCart.findOneAndUpdate({ _id: idOrdersCart }, { $set: paramstoupdate });
let myorderscart = await Order.findOne({ _id: idOrder });
return myorderscart;
}
module.exports.updateOrdersCartTotals = async function (idOrdersCart, update) {
try {
let orderscart = await OrdersCart.getOrdersCartById(idOrdersCart);
if (orderscart) {
let newOrdersCart = CartClass.constructByCart(orderscart);
await newOrdersCart.updatetotals();
if (update) {
await OrdersCart.findOneAndUpdate({ _id: idOrdersCart }, {
$set: {
totalPrice: newOrdersCart.totalPrice,
totalQty: newOrdersCart.totalQty,
note: newOrdersCart.note,
modify_at: new Date(),
},
}
)
}
orderscart = await OrdersCart.getOrdersCartById(idOrdersCart);
return orderscart;
}
} catch (e) {
console.error('err', e);
}
};
module.exports.getmsgorderTelegram = async function (ordersCart) { module.exports.getmsgorderTelegram = async function (ordersCart) {
try { try {
const statusstr = shared_consts.getStatusStr(ordersCart.status); const statusstr = shared_consts.getStatusStr(ordersCart.status);

View File

@@ -360,7 +360,7 @@ router.post('/:userId/ordercartstatus', authenticate, async function (req, res,
const { User } = require('../models/user'); const { User } = require('../models/user');
let orderCart = await OrdersCart.findOne({ idapp, _id: order_id }).lean(); let orderscart = await OrdersCart.findOne({ idapp, _id: order_id }).lean();
if ((userId !== String(req.user._id)) && !User.isManager(req.user.perm)) { if ((userId !== String(req.user._id)) && !User.isManager(req.user.perm)) {
// I'm trying to write something not mine! // I'm trying to write something not mine!
@@ -368,19 +368,19 @@ router.post('/:userId/ordercartstatus', authenticate, async function (req, res,
} }
try { try {
if (!!orderCart) { if (!!orderscart) {
let fields_to_update = { status }; let fields_to_update = { status };
await OrdersCart.findOneAndUpdate({ _id: order_id }, { $set: fields_to_update } await OrdersCart.findOneAndUpdate({ _id: order_id }, { $set: fields_to_update }
, { new: false }) , { new: false })
.then(async (ris) => { .then(async (ris) => {
const userDest = await User.findById(orderCart.userId).lean(); const userDest = await User.findById(ordersCart.userId).lean();
if (ris) { if (ris) {
// Aggiorna gli Stati Interni ! // Aggiorna gli Stati Interni !
orderCart = await OrdersCart.updateCmd(orderCart, status, true, options); ordersCart = await OrdersCart.updateCmd(ordersCart, status, true, options);
let ordertype = ''; let ordertype = '';
@@ -393,7 +393,7 @@ router.post('/:userId/ordercartstatus', authenticate, async function (req, res,
} }
if (ordertype !== '') { if (ordertype !== '') {
sendemail.sendEmail_Order(userDest.lang, idapp, orderCart, userDest, ordertype, status) sendemail.sendEmail_Order(userDest.lang, idapp, ordersCart, userDest, ordertype, status)
.then((ris) => { .then((ris) => {
}) })

View File

@@ -42,6 +42,52 @@ router.get('/:userId', authenticate, function (req, res, next) {
}); });
router.post('/updateord', authenticate, async (req, res) => {
const idOrdersCart = req.body.idOrdersCart;
const idOrder = req.body.idOrder;
const paramstoupdate = req.body.paramstoupdate;
try {
// Aggiorno l'Ordine Singolo
await Order.updateOrderByParams(idOrder, paramstoupdate);
// Aggiorno il Totale degli Ordini (OrdersCart)
await OrdersCart.updateOrdersCartTotals(idOrdersCart, true)
.then((orderscart) => {
return res.send({ code: server_constants.RIS_CODE_OK, orderscart });
}).catch(err => {
console.log('ERR:', err);
res.status(400).send();
});
} catch (e) {
console.error('Err', e);
}
});
router.post('/update', authenticate, async (req, res) => {
const idOrdersCart = req.body.idOrdersCart;
const paramstoupdate = req.body.paramstoupdate;
try {
// Aggiorno Orderscart con i parametri passati
await OrdersCart.updateOrdersCartByParams(idOrdersCart, paramstoupdate);
// Aggiorno il Totale degli Ordini (OrdersCart)
await OrdersCart.updateOrdersCartTotals(idOrdersCart, true)
.then((orderscart) => {
return res.send({ code: server_constants.RIS_CODE_OK, orderscart });
}).catch(err => {
console.log('ERR:', err);
res.status(400).send();
});
} catch (e) {
console.error('Err', e);
}
});
router.post('/sendmail', authenticate, async function (req, res, next) { router.post('/sendmail', authenticate, async function (req, res, next) {
const idOrdersCart = req.body.idOrdersCart; const idOrdersCart = req.body.idOrdersCart;
const idapp = req.body.idapp; const idapp = req.body.idapp;

View File

@@ -74,4 +74,18 @@ router.post('/:code', auth_default, async function (req, res, next) {
}); });
router.get('/id/:id', async function (req, res) {
const id = req.params.id;
var product = await Product.getProductById(id);
if (product) {
return res.send({ code: server_constants.RIS_CODE_OK, product: product });
} else {
return res.send({ code: server_constants.RIS_CODE_OK, product: null });
}
});
module.exports = router; module.exports = router;