not round price
This commit is contained in:
@@ -67,11 +67,11 @@ const productVariantSchema = new Schema<IProductVariant>(
|
|||||||
productVariantSchema.pre("save", function (next) {
|
productVariantSchema.pre("save", function (next) {
|
||||||
if (this.price) {
|
if (this.price) {
|
||||||
if (this.price.retailPrice) {
|
if (this.price.retailPrice) {
|
||||||
this.price.retailPrice = Math.round(this.price.retailPrice / 10000) * 10000;
|
this.price.retailPrice = Number(this.price.retailPrice);
|
||||||
const sellingPrice =
|
const sellingPrice =
|
||||||
this.price.discount_percent > 0 ? this.price.retailPrice * ((100 - this.price.discount_percent) / 100) : this.price.retailPrice;
|
this.price.discount_percent > 0 ? this.price.retailPrice * ((100 - this.price.discount_percent) / 100) : this.price.retailPrice;
|
||||||
|
|
||||||
this.price.selling_price = Math.round(sellingPrice / 10000) * 10000;
|
this.price.selling_price = Number(sellingPrice);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,15 +84,15 @@ productVariantSchema.pre(["findOneAndUpdate", "updateOne", "updateMany"], functi
|
|||||||
|
|
||||||
// ensure price object exists in the update object
|
// ensure price object exists in the update object
|
||||||
if (update.price && update.price.retailPrice !== undefined) {
|
if (update.price && update.price.retailPrice !== undefined) {
|
||||||
const retailPrice = Math.round(update.price.retailPrice / 10000) * 10000;
|
const retailPrice = Number(update.price.retailPrice);
|
||||||
const discountPercent = Math.round(update.price.discount_percent) || 0;
|
const discountPercent = update.price.discount_percent || 0;
|
||||||
|
|
||||||
// calculate selling price based on retailPrice and discount_percent
|
// calculate selling price based on retailPrice and discount_percent
|
||||||
const sellingPrice = discountPercent > 0 ? retailPrice * ((100 - discountPercent) / 100) : retailPrice;
|
const sellingPrice = discountPercent > 0 ? retailPrice * ((100 - discountPercent) / 100) : retailPrice;
|
||||||
|
|
||||||
// set the calculated selling price in the update object
|
// set the calculated selling price in the update object
|
||||||
update.price.retailPrice = retailPrice;
|
update.price.retailPrice = retailPrice;
|
||||||
update.price.selling_price = Math.round(sellingPrice / 10000) * 10000;
|
update.price.selling_price = Number(sellingPrice);
|
||||||
update.price.discount_percent = discountPercent;
|
update.price.discount_percent = discountPercent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user