diff --git a/packages/medusa-plugin-brightpearl/loaders/inventory.js b/packages/medusa-plugin-brightpearl/loaders/inventory.js index e4d5ce58ba..edbcb5c6bb 100644 --- a/packages/medusa-plugin-brightpearl/loaders/inventory.js +++ b/packages/medusa-plugin-brightpearl/loaders/inventory.js @@ -18,39 +18,38 @@ var inventorySync = /*#__PURE__*/function () { case 0: brightpearlService = container.resolve("brightpearlService"); eventBus = container.resolve("eventBusService"); - console.log("hi inventory"); - _context.prev = 3; - _context.next = 6; + _context.prev = 2; + _context.next = 5; return brightpearlService.getClient(); - case 6: + case 5: client = _context.sent; pattern = "43 4,10,14,20 * * *"; // nice for tests "*/10 * * * * *" eventBus.createCronJob("inventory-sync", {}, pattern, brightpearlService.syncInventory()); - _context.next = 16; + _context.next = 15; break; - case 11: - _context.prev = 11; - _context.t0 = _context["catch"](3); + case 10: + _context.prev = 10; + _context.t0 = _context["catch"](2); if (!(_context.t0.name === "not_allowed")) { - _context.next = 15; + _context.next = 14; break; } return _context.abrupt("return"); - case 15: + case 14: throw _context.t0; - case 16: + case 15: case "end": return _context.stop(); } } - }, _callee, null, [[3, 11]]); + }, _callee, null, [[2, 10]]); })); return function inventorySync(_x) { diff --git a/packages/medusa-plugin-brightpearl/src/services/brightpearl.js b/packages/medusa-plugin-brightpearl/src/services/brightpearl.js index 2e873eb46e..61340292b4 100644 --- a/packages/medusa-plugin-brightpearl/src/services/brightpearl.js +++ b/packages/medusa-plugin-brightpearl/src/services/brightpearl.js @@ -524,7 +524,7 @@ class BrightpearlService extends BaseService { ) let lineDiscounts = [] if (discount) { - lineDiscounts = this.discountService_.getLineDiscounts( + lineDiscounts = this.totalsService_.getLineDiscounts( fromOrder, discount ) diff --git a/packages/medusa/src/services/totals.js b/packages/medusa/src/services/totals.js index 0f836c1a79..fe361e58a9 100644 --- a/packages/medusa/src/services/totals.js +++ b/packages/medusa/src/services/totals.js @@ -50,7 +50,7 @@ class TotalsService extends BaseService { item.content.unit_price * item.content.quantity * item.quantity } }) - return subtotal + return this.rounded(subtotal) } /** @@ -77,12 +77,12 @@ class TotalsService extends BaseService { const discountTotal = await this.getDiscountTotal(object) const region = await this.regionService_.retrieve(object.region_id) const { tax_rate } = region - return (subtotal - discountTotal + shippingTotal) * tax_rate + return this.rounded((subtotal - discountTotal + shippingTotal) * tax_rate) } getRefundedTotal(object) { const total = object.refunds.reduce((acc, next) => acc + next.amount, 0) - return total + return this.rounded(total) } getLineItemRefund(order, lineItem) { @@ -105,9 +105,9 @@ class TotalsService extends BaseService { const discountAmount = (discountedLine.amount / discountedLine.item.quantity) * lineItem.quantity - return ( + return this.rounded( (lineItem.content.unit_price * lineItem.quantity - discountAmount) * - (1 + taxRate) + (1 + taxRate) ) } @@ -121,7 +121,7 @@ class TotalsService extends BaseService { */ getRefundTotal(order, lineItems) { const refunds = lineItems.map(i => this.getLineItemRefund(order, i)) - return refunds.reduce((acc, next) => acc + next, 0) + return this.rounded(refunds.reduce((acc, next) => acc + next, 0)) } /** @@ -292,7 +292,14 @@ class TotalsService extends BaseService { toReturn = _.sumBy(itemFixedDiscounts, d => d.amount) } - return Math.min(subtotal, toReturn) + return this.rounded(Math.min(subtotal, toReturn)) + } + + rounded(value) { + const decimalPlaces = 4 + return Number( + Math.round(parseFloat(value + "e" + decimalPlaces)) + "e-" + decimalPlaces + ) } }