@things-factory/marketplace-base 6.0.0-alpha.6 → 6.0.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-server/graphql/resolvers/marketplace-order/auto-initialise-logistics-by-batch.js +3 -3
- package/dist-server/graphql/resolvers/marketplace-order/auto-initialise-logistics-by-batch.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-order/auto-update-order-ready-to-ship.js +1 -1
- package/dist-server/graphql/resolvers/marketplace-order/auto-update-order-ready-to-ship.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-order/generate-marketplace-order.js +6 -2
- package/dist-server/graphql/resolvers/marketplace-order/generate-marketplace-order.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-order/marketplace-orders-for-export.js +1 -1
- package/dist-server/graphql/resolvers/marketplace-order/marketplace-orders-for-export.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-order/split-orders-by-batch.js +6 -2
- package/dist-server/graphql/resolvers/marketplace-order/split-orders-by-batch.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-order/sync-marketplace-order.js +20 -8
- package/dist-server/graphql/resolvers/marketplace-order/sync-marketplace-order.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-order/update-marketplace-order.js +1 -1
- package/dist-server/graphql/resolvers/marketplace-order/update-marketplace-order.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-order/update-order-ready-to-ship.js +1 -1
- package/dist-server/graphql/resolvers/marketplace-order/update-order-ready-to-ship.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-order-shipping/update-marketplace-order-shipping.js +1 -1
- package/dist-server/graphql/resolvers/marketplace-order-shipping/update-marketplace-order-shipping.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-product/sync-all-marketplace-store-products.js +2 -2
- package/dist-server/graphql/resolvers/marketplace-product/sync-all-marketplace-store-products.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-refund-order/sync-all-marketplace-refund-orders.js +4 -4
- package/dist-server/graphql/resolvers/marketplace-refund-order/sync-all-marketplace-refund-orders.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-refund-order/sync-marketplace-refund-orders.js +4 -4
- package/dist-server/graphql/resolvers/marketplace-refund-order/sync-marketplace-refund-orders.js.map +1 -1
- package/dist-server/graphql/types/marketplace-order/index.js +1 -1
- package/dist-server/graphql/types/marketplace-order/index.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
- package/server/graphql/resolvers/marketplace-order/auto-initialise-logistics-by-batch.ts +3 -3
- package/server/graphql/resolvers/marketplace-order/auto-update-order-ready-to-ship.ts +1 -1
- package/server/graphql/resolvers/marketplace-order/generate-marketplace-order.ts +6 -2
- package/server/graphql/resolvers/marketplace-order/marketplace-orders-for-export.ts +1 -1
- package/server/graphql/resolvers/marketplace-order/split-orders-by-batch.ts +6 -2
- package/server/graphql/resolvers/marketplace-order/sync-marketplace-order.ts +20 -8
- package/server/graphql/resolvers/marketplace-order/update-marketplace-order.ts +1 -1
- package/server/graphql/resolvers/marketplace-order/update-order-ready-to-ship.ts +1 -1
- package/server/graphql/resolvers/marketplace-order-shipping/update-marketplace-order-shipping.ts +1 -1
- package/server/graphql/resolvers/marketplace-product/sync-all-marketplace-store-products.ts +2 -2
- package/server/graphql/resolvers/marketplace-refund-order/sync-all-marketplace-refund-orders.ts +4 -4
- package/server/graphql/resolvers/marketplace-refund-order/sync-marketplace-refund-orders.ts +4 -4
- package/server/graphql/types/marketplace-order/index.ts +1 -1
package/dist-server/graphql/resolvers/marketplace-order/auto-initialise-logistics-by-batch.js
CHANGED
|
@@ -22,7 +22,7 @@ exports.autoInitialiseLogisticsByBatch = {
|
|
|
22
22
|
if (marketplaceStore.platform == constants_1.MARKETPLACE_PLATFORM.LAZADA) {
|
|
23
23
|
marketplaceOrders = await (0, shell_1.getRepository)(entities_1.MarketplaceOrder).find({
|
|
24
24
|
where: {
|
|
25
|
-
marketplaceStore,
|
|
25
|
+
marketplaceStore: { id: marketplaceStore.id },
|
|
26
26
|
status: constants_1.ORDER_STATUS.PENDING
|
|
27
27
|
},
|
|
28
28
|
relations: [
|
|
@@ -37,7 +37,7 @@ exports.autoInitialiseLogisticsByBatch = {
|
|
|
37
37
|
if (marketplaceStore.isOwnTransport) {
|
|
38
38
|
marketplaceOrders = await (0, shell_1.getRepository)(entities_1.MarketplaceOrder).find({
|
|
39
39
|
where: {
|
|
40
|
-
marketplaceStore,
|
|
40
|
+
marketplaceStore: { id: marketplaceStore.id },
|
|
41
41
|
trackingNo: (0, typeorm_1.IsNull)(),
|
|
42
42
|
ownTrackingNo: (0, typeorm_1.Not)((0, typeorm_1.IsNull)()),
|
|
43
43
|
status: constants_1.ORDER_STATUS.READY_TO_SHIP
|
|
@@ -53,7 +53,7 @@ exports.autoInitialiseLogisticsByBatch = {
|
|
|
53
53
|
else {
|
|
54
54
|
marketplaceOrders = await (0, shell_1.getRepository)(entities_1.MarketplaceOrder).find({
|
|
55
55
|
where: {
|
|
56
|
-
marketplaceStore,
|
|
56
|
+
marketplaceStore: { id: marketplaceStore.id },
|
|
57
57
|
trackingNo: (0, typeorm_1.IsNull)(),
|
|
58
58
|
status: constants_1.ORDER_STATUS.READY_TO_SHIP
|
|
59
59
|
},
|
package/dist-server/graphql/resolvers/marketplace-order/auto-initialise-logistics-by-batch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-initialise-logistics-by-batch.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/marketplace-order/auto-initialise-logistics-by-batch.ts"],"names":[],"mappings":"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","sourcesContent":["import { IsNull, Not } from 'typeorm'\n\nimport { config } from '@things-factory/env'\nimport { MarketplaceStore, StoreAPI } from '@things-factory/integration-marketplace'\nimport { Domain, getRepository } from '@things-factory/shell'\n\nimport { MARKETPLACE_PLATFORM, ORDER_STATUS } from '../../../constants'\nimport { MarketplaceOrder, MarketplaceOrderItem } from '../../../entities'\nimport { getLogisticsParam } from '../marketplace-order/get-logistics-param'\n\nconst shopeeConfig = config.get('marketplaceIntegrationShopee', {})\nconst { v2 } = shopeeConfig\n\nexport const autoInitialiseLogisticsByBatch = {\n async autoInitialiseLogisticsByBatch(_: any, { companyDomainId }, context: ResolverContext) {\n const { user } = context.state\n\n const companyDomain: Domain = await getRepository(Domain).findOneBy({ id: companyDomainId })\n\n // Step 1: get all available marketplace-store\n const marketplaceStores: MarketplaceStore[] = await StoreAPI.getMarketplaceStores(companyDomain)\n\n for (var i = 0; i < marketplaceStores?.length; i++) {\n const marketplaceStore: MarketplaceStore = marketplaceStores[i]\n\n let marketplaceOrders: MarketplaceOrder[] = []\n if (marketplaceStore.platform == MARKETPLACE_PLATFORM.LAZADA) {\n marketplaceOrders = await getRepository(MarketplaceOrder).find({\n where: {\n marketplaceStore,\n status: ORDER_STATUS.PENDING\n },\n relations: [\n 'marketplaceOrderItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',\n 'marketplaceOrderItems.marketplaceProductVariation'\n ]\n })\n } else {\n if (marketplaceStore.isOwnTransport) {\n marketplaceOrders = await getRepository(MarketplaceOrder).find({\n where: {\n marketplaceStore,\n trackingNo: IsNull(),\n ownTrackingNo: Not(IsNull()),\n status: ORDER_STATUS.READY_TO_SHIP\n },\n relations: [\n 'marketplaceOrderItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',\n 'marketplaceOrderItems.marketplaceProductVariation'\n ]\n })\n } else {\n marketplaceOrders = await getRepository(MarketplaceOrder).find({\n where: {\n marketplaceStore,\n trackingNo: IsNull(),\n status: ORDER_STATUS.READY_TO_SHIP\n },\n relations: [\n 'marketplaceOrderItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',\n 'marketplaceOrderItems.marketplaceProductVariation'\n ]\n })\n }\n }\n\n for (var j = 0; j < marketplaceOrders?.length; j++) {\n const marketplaceOrder: MarketplaceOrder = marketplaceOrders[j]\n if (marketplaceStore.platform == MARKETPLACE_PLATFORM.SHOPEE) {\n let fullLogisticsDetail = await getLogisticsParam.getLogisticsParam(\n _,\n { storeId: marketplaceStore.id, orderNo: marketplaceOrder.orderNo },\n context\n )\n\n let deliveryType = {}\n if (fullLogisticsDetail.non_integrated) {\n deliveryType = {\n non_integrated: {\n trackingNo: marketplaceOrder.ownTrackingNo\n }\n }\n } else if (fullLogisticsDetail.dropoff) {\n const dropoff = fullLogisticsDetail.logisticsDetail.dropoff\n deliveryType = {\n dropoff: {}\n }\n\n if (dropoff.branchId) deliveryType['dropoff'] = { ...deliveryType['dropoff'], branchId: dropoff.branchId }\n if (dropoff.senderRealName)\n deliveryType['dropoff'] = {\n ...deliveryType['dropoff'],\n senderRealName: dropoff.senderRealName\n }\n if (dropoff.trackingNo)\n deliveryType['dropoff'] = { ...deliveryType['dropoff'], trackingNo: dropoff.trackingNo }\n } else {\n return false\n }\n\n await StoreAPI.initLogistics(marketplaceStore, { deliveryType, orderNo: marketplaceOrder.orderNo })\n if (marketplaceStore.platform == MARKETPLACE_PLATFORM.SHOPEE && v2) {\n await StoreAPI.createShippingDocument(marketplaceStore, { orderNo: marketplaceOrder.orderNo })\n }\n } else if (marketplaceStore.platform == MARKETPLACE_PLATFORM.LAZADA) {\n const shippingProviders: any[] = await StoreAPI.getStoreLogistics(marketplaceStore, {})\n const shippingProvider: string = shippingProviders[0].name\n const deliveryType: string = 'dropship'\n const storeOrder = await StoreAPI.getStoreOrder(marketplaceStore, { orderId: marketplaceOrder.orderNo })\n\n const arrItemIds = storeOrder.orderItems.reduce((newItemID, item) => {\n return [...newItemID, ...item.name.split(',')]\n }, [])\n\n if (storeOrder?.status == 'pending' && deliveryType && arrItemIds.length > 0 && shippingProvider) {\n const storeOrderItemsPBM = await StoreAPI.setStoreOrderStatusPackedByMarketplace(marketplaceStore, {\n deliveryType,\n orderItemId: arrItemIds,\n shippingProvider\n })\n\n marketplaceOrder.trackingNo = storeOrderItemsPBM.trackingNumber[0] || '[]'\n marketplaceOrder.otherInfoJSON = JSON.stringify({\n deliveryType: deliveryType,\n shippingProvider: shippingProvider\n })\n }\n\n let updatedOrder = await StoreAPI.getStoreOrder(marketplaceStore, { orderId: marketplaceOrder.name })\n\n await getRepository(MarketplaceOrder).save({\n ...marketplaceOrder,\n status: updatedOrder.status,\n orderUpdatedAt: storeOrder.orderUpdatedAt\n })\n\n for (let idx = 0; idx < marketplaceOrder.marketplaceOrderItems.length; idx++) {\n let matchItem = updatedOrder.orderItems.find(\n i => i.variationId == marketplaceOrder.marketplaceOrderItems[idx].marketplaceProductVariation.variationId\n )\n\n if (matchItem) {\n let targetMarketplaceOrderItem = {\n ...marketplaceOrder.marketplaceOrderItems[idx],\n shippingProvider: matchItem.shippingProvider,\n trackingCode: matchItem.trackingNo,\n status: matchItem.status\n }\n\n await getRepository(MarketplaceOrderItem).save(targetMarketplaceOrderItem)\n }\n }\n }\n }\n }\n return true\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"auto-initialise-logistics-by-batch.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/marketplace-order/auto-initialise-logistics-by-batch.ts"],"names":[],"mappings":"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","sourcesContent":["import { IsNull, Not } from 'typeorm'\n\nimport { config } from '@things-factory/env'\nimport { MarketplaceStore, StoreAPI } from '@things-factory/integration-marketplace'\nimport { Domain, getRepository } from '@things-factory/shell'\n\nimport { MARKETPLACE_PLATFORM, ORDER_STATUS } from '../../../constants'\nimport { MarketplaceOrder, MarketplaceOrderItem } from '../../../entities'\nimport { getLogisticsParam } from '../marketplace-order/get-logistics-param'\n\nconst shopeeConfig = config.get('marketplaceIntegrationShopee', {})\nconst { v2 } = shopeeConfig\n\nexport const autoInitialiseLogisticsByBatch = {\n async autoInitialiseLogisticsByBatch(_: any, { companyDomainId }, context: ResolverContext) {\n const { user } = context.state\n\n const companyDomain: Domain = await getRepository(Domain).findOneBy({ id: companyDomainId })\n\n // Step 1: get all available marketplace-store\n const marketplaceStores: MarketplaceStore[] = await StoreAPI.getMarketplaceStores(companyDomain)\n\n for (var i = 0; i < marketplaceStores?.length; i++) {\n const marketplaceStore: MarketplaceStore = marketplaceStores[i]\n\n let marketplaceOrders: MarketplaceOrder[] = []\n if (marketplaceStore.platform == MARKETPLACE_PLATFORM.LAZADA) {\n marketplaceOrders = await getRepository(MarketplaceOrder).find({\n where: {\n marketplaceStore: { id: marketplaceStore.id },\n status: ORDER_STATUS.PENDING\n },\n relations: [\n 'marketplaceOrderItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',\n 'marketplaceOrderItems.marketplaceProductVariation'\n ]\n })\n } else {\n if (marketplaceStore.isOwnTransport) {\n marketplaceOrders = await getRepository(MarketplaceOrder).find({\n where: {\n marketplaceStore: { id: marketplaceStore.id },\n trackingNo: IsNull(),\n ownTrackingNo: Not(IsNull()),\n status: ORDER_STATUS.READY_TO_SHIP\n },\n relations: [\n 'marketplaceOrderItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',\n 'marketplaceOrderItems.marketplaceProductVariation'\n ]\n })\n } else {\n marketplaceOrders = await getRepository(MarketplaceOrder).find({\n where: {\n marketplaceStore: { id: marketplaceStore.id },\n trackingNo: IsNull(),\n status: ORDER_STATUS.READY_TO_SHIP\n },\n relations: [\n 'marketplaceOrderItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',\n 'marketplaceOrderItems.marketplaceProductVariation'\n ]\n })\n }\n }\n\n for (var j = 0; j < marketplaceOrders?.length; j++) {\n const marketplaceOrder: MarketplaceOrder = marketplaceOrders[j]\n if (marketplaceStore.platform == MARKETPLACE_PLATFORM.SHOPEE) {\n let fullLogisticsDetail = await getLogisticsParam.getLogisticsParam(\n _,\n { storeId: marketplaceStore.id, orderNo: marketplaceOrder.orderNo },\n context\n )\n\n let deliveryType = {}\n if (fullLogisticsDetail.non_integrated) {\n deliveryType = {\n non_integrated: {\n trackingNo: marketplaceOrder.ownTrackingNo\n }\n }\n } else if (fullLogisticsDetail.dropoff) {\n const dropoff = fullLogisticsDetail.logisticsDetail.dropoff\n deliveryType = {\n dropoff: {}\n }\n\n if (dropoff.branchId) deliveryType['dropoff'] = { ...deliveryType['dropoff'], branchId: dropoff.branchId }\n if (dropoff.senderRealName)\n deliveryType['dropoff'] = {\n ...deliveryType['dropoff'],\n senderRealName: dropoff.senderRealName\n }\n if (dropoff.trackingNo)\n deliveryType['dropoff'] = { ...deliveryType['dropoff'], trackingNo: dropoff.trackingNo }\n } else {\n return false\n }\n\n await StoreAPI.initLogistics(marketplaceStore, { deliveryType, orderNo: marketplaceOrder.orderNo })\n if (marketplaceStore.platform == MARKETPLACE_PLATFORM.SHOPEE && v2) {\n await StoreAPI.createShippingDocument(marketplaceStore, { orderNo: marketplaceOrder.orderNo })\n }\n } else if (marketplaceStore.platform == MARKETPLACE_PLATFORM.LAZADA) {\n const shippingProviders: any[] = await StoreAPI.getStoreLogistics(marketplaceStore, {})\n const shippingProvider: string = shippingProviders[0].name\n const deliveryType: string = 'dropship'\n const storeOrder = await StoreAPI.getStoreOrder(marketplaceStore, { orderId: marketplaceOrder.orderNo })\n\n const arrItemIds = storeOrder.orderItems.reduce((newItemID, item) => {\n return [...newItemID, ...item.name.split(',')]\n }, [])\n\n if (storeOrder?.status == 'pending' && deliveryType && arrItemIds.length > 0 && shippingProvider) {\n const storeOrderItemsPBM = await StoreAPI.setStoreOrderStatusPackedByMarketplace(marketplaceStore, {\n deliveryType,\n orderItemId: arrItemIds,\n shippingProvider\n })\n\n marketplaceOrder.trackingNo = storeOrderItemsPBM.trackingNumber[0] || '[]'\n marketplaceOrder.otherInfoJSON = JSON.stringify({\n deliveryType: deliveryType,\n shippingProvider: shippingProvider\n })\n }\n\n let updatedOrder = await StoreAPI.getStoreOrder(marketplaceStore, { orderId: marketplaceOrder.name })\n\n await getRepository(MarketplaceOrder).save({\n ...marketplaceOrder,\n status: updatedOrder.status,\n orderUpdatedAt: storeOrder.orderUpdatedAt\n })\n\n for (let idx = 0; idx < marketplaceOrder.marketplaceOrderItems.length; idx++) {\n let matchItem = updatedOrder.orderItems.find(\n i => i.variationId == marketplaceOrder.marketplaceOrderItems[idx].marketplaceProductVariation.variationId\n )\n\n if (matchItem) {\n let targetMarketplaceOrderItem = {\n ...marketplaceOrder.marketplaceOrderItems[idx],\n shippingProvider: matchItem.shippingProvider,\n trackingCode: matchItem.trackingNo,\n status: matchItem.status\n }\n\n await getRepository(MarketplaceOrderItem).save(targetMarketplaceOrderItem)\n }\n }\n }\n }\n }\n return true\n }\n}\n"]}
|
|
@@ -16,7 +16,7 @@ exports.autoUpdateOrderReadyToShip = {
|
|
|
16
16
|
const marketplaceStore = lazadaStores[i];
|
|
17
17
|
let marketplaceOrders = await (0, shell_1.getRepository)(entities_1.MarketplaceOrder).find({
|
|
18
18
|
where: {
|
|
19
|
-
marketplaceStore,
|
|
19
|
+
marketplaceStore: { id: marketplaceStore.id },
|
|
20
20
|
trackingNo: (0, typeorm_1.Not)((0, typeorm_1.IsNull)()),
|
|
21
21
|
status: constants_1.ORDER_STATUS.PACKED
|
|
22
22
|
},
|
package/dist-server/graphql/resolvers/marketplace-order/auto-update-order-ready-to-ship.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-update-order-ready-to-ship.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/marketplace-order/auto-update-order-ready-to-ship.ts"],"names":[],"mappings":"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","sourcesContent":["import { IsNull, Not } from 'typeorm'\n\nimport { MarketplaceStore, StoreAPI } from '@things-factory/integration-marketplace'\nimport { Domain, getRepository } from '@things-factory/shell'\n\nimport { MARKETPLACE_PLATFORM, ORDER_STATUS } from '../../../constants'\nimport {\n MarketplaceOrder,\n MarketplaceOrderItem,\n MarketplaceOrderShipping,\n MarketplaceOrderShippingItem\n} from '../../../entities'\n\nexport const autoUpdateOrderReadyToShip = {\n async autoUpdateOrderReadyToShip(_: any, { companyDomainId }, context: ResolverContext) {\n const companyDomain: Domain = await getRepository(Domain).findOne(companyDomainId)\n\n // Step 1: get all available marketplace-store\n const marketplaceStores: MarketplaceStore[] = await StoreAPI.getMarketplaceStores(companyDomain)\n const lazadaStores: MarketplaceStore[] = marketplaceStores.filter(\n marketplaceStore => marketplaceStore.platform === MARKETPLACE_PLATFORM.LAZADA\n )\n\n for (var i = 0; i < lazadaStores?.length; i++) {\n const marketplaceStore: MarketplaceStore = lazadaStores[i]\n\n let marketplaceOrders: MarketplaceOrder[] = await getRepository(MarketplaceOrder).find({\n where: {\n marketplaceStore,\n trackingNo: Not(IsNull()),\n status: ORDER_STATUS.PACKED\n },\n relations: [\n 'marketplaceOrderItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',\n 'marketplaceOrderItems.marketplaceProductVariation'\n ]\n })\n\n for (var j = 0; j < marketplaceOrders?.length; j++) {\n const marketplaceOrder: MarketplaceOrder = marketplaceOrders[j]\n\n const otherInfo = JSON.parse(marketplaceOrder.otherInfoJSON)\n const shippingProvider: string = otherInfo.shippingProvider\n const deliveryType: string = otherInfo.deliveryType\n\n let trackingInfoArr: any[] = []\n let marketplaceOrderShippings: MarketplaceOrderShipping[] = []\n\n marketplaceOrder.marketplaceOrderItems.map(item => {\n const marketplaceOrderShippingItems: MarketplaceOrderShippingItem[] = item.marketplaceOrderShippingItems\n marketplaceOrderShippingItems.map(itm => {\n if (itm?.marketplaceOrderShipping) {\n marketplaceOrderShippings.push(itm.marketplaceOrderShipping)\n }\n })\n })\n\n const uniqueMarketplaceOrderShippings = Array.from(new Set(marketplaceOrderShippings.map(a => a.id))).map(\n id => {\n return marketplaceOrderShippings.find(a => a.id === id)\n }\n )\n\n if (\n uniqueMarketplaceOrderShippings.some(marketplaceOrderShipping => marketplaceOrderShipping.trackingNo != null)\n ) {\n uniqueMarketplaceOrderShippings.map((orderShipping: MarketplaceOrderShipping) => {\n if (orderShipping?.trackingNo) {\n const trackingNoInfo: any[] = JSON.parse(orderShipping.trackingNo)\n const orderTrackingNos: string[] = trackingNoInfo.map(item => item.tracking_code)\n const uniqueTrackingNos = [...new Set(orderTrackingNos)]\n\n let orderItemIds: string[] = []\n\n if (uniqueTrackingNos?.length == 1) {\n orderItemIds = trackingNoInfo.map(item => item.order_item_id)\n trackingInfoArr.push({ orderItemIds, trackingNo: uniqueTrackingNos[0] })\n } else {\n uniqueTrackingNos.map(trackingNo => {\n orderItemIds = trackingNoInfo\n .filter(info => info.tracking_code === trackingNo)\n .map(filteredInfo => filteredInfo.order_item_id)\n\n trackingInfoArr.push({ orderItemIds, trackingNo })\n })\n }\n }\n })\n }\n\n for (var i = 0; i < trackingInfoArr?.length; i++) {\n const trackingInfo = trackingInfoArr[i]\n const trackingNo = trackingInfo.trackingNo\n const orderItemId = trackingInfo.orderItemIds\n\n await StoreAPI.setStoreOrderStatusReadyToShip(marketplaceStore, {\n shipmentProvider: shippingProvider,\n deliveryType,\n orderItemId,\n trackingNo,\n orderId: marketplaceOrder.name\n })\n }\n\n const updatedOrder = await StoreAPI.getStoreOrder(marketplaceStore, { orderId: marketplaceOrder.name })\n\n marketplaceOrder.status = updatedOrder.status\n marketplaceOrder.orderUpdatedAt = updatedOrder.orderUpdatedAt\n marketplaceOrder.trackingNo = updatedOrder.trackingNo\n marketplaceOrder.shippingProvider = updatedOrder.shippingProvider\n await getRepository(MarketplaceOrder).save(marketplaceOrder)\n\n for (let idx = 0; idx < marketplaceOrder.marketplaceOrderItems.length; idx++) {\n let matchItem = updatedOrder.orderItems.find(\n i => i.variationId == marketplaceOrder.marketplaceOrderItems[idx].marketplaceProductVariation.variationId\n )\n\n if (matchItem) {\n let targetMarketplaceOrderItem = {\n ...marketplaceOrder.marketplaceOrderItems[idx],\n shippingProvider: matchItem.shippingProvider,\n trackingCode: matchItem.trackingNo,\n status: matchItem.status\n }\n\n await getRepository(MarketplaceOrderItem).save(targetMarketplaceOrderItem)\n }\n }\n }\n }\n\n return true\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"auto-update-order-ready-to-ship.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/marketplace-order/auto-update-order-ready-to-ship.ts"],"names":[],"mappings":"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","sourcesContent":["import { IsNull, Not } from 'typeorm'\n\nimport { MarketplaceStore, StoreAPI } from '@things-factory/integration-marketplace'\nimport { Domain, getRepository } from '@things-factory/shell'\n\nimport { MARKETPLACE_PLATFORM, ORDER_STATUS } from '../../../constants'\nimport {\n MarketplaceOrder,\n MarketplaceOrderItem,\n MarketplaceOrderShipping,\n MarketplaceOrderShippingItem\n} from '../../../entities'\n\nexport const autoUpdateOrderReadyToShip = {\n async autoUpdateOrderReadyToShip(_: any, { companyDomainId }, context: ResolverContext) {\n const companyDomain: Domain = await getRepository(Domain).findOne(companyDomainId)\n\n // Step 1: get all available marketplace-store\n const marketplaceStores: MarketplaceStore[] = await StoreAPI.getMarketplaceStores(companyDomain)\n const lazadaStores: MarketplaceStore[] = marketplaceStores.filter(\n marketplaceStore => marketplaceStore.platform === MARKETPLACE_PLATFORM.LAZADA\n )\n\n for (var i = 0; i < lazadaStores?.length; i++) {\n const marketplaceStore: MarketplaceStore = lazadaStores[i]\n\n let marketplaceOrders: MarketplaceOrder[] = await getRepository(MarketplaceOrder).find({\n where: {\n marketplaceStore: { id: marketplaceStore.id },\n trackingNo: Not(IsNull()),\n status: ORDER_STATUS.PACKED\n },\n relations: [\n 'marketplaceOrderItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',\n 'marketplaceOrderItems.marketplaceProductVariation'\n ]\n })\n\n for (var j = 0; j < marketplaceOrders?.length; j++) {\n const marketplaceOrder: MarketplaceOrder = marketplaceOrders[j]\n\n const otherInfo = JSON.parse(marketplaceOrder.otherInfoJSON)\n const shippingProvider: string = otherInfo.shippingProvider\n const deliveryType: string = otherInfo.deliveryType\n\n let trackingInfoArr: any[] = []\n let marketplaceOrderShippings: MarketplaceOrderShipping[] = []\n\n marketplaceOrder.marketplaceOrderItems.map(item => {\n const marketplaceOrderShippingItems: MarketplaceOrderShippingItem[] = item.marketplaceOrderShippingItems\n marketplaceOrderShippingItems.map(itm => {\n if (itm?.marketplaceOrderShipping) {\n marketplaceOrderShippings.push(itm.marketplaceOrderShipping)\n }\n })\n })\n\n const uniqueMarketplaceOrderShippings = Array.from(new Set(marketplaceOrderShippings.map(a => a.id))).map(\n id => {\n return marketplaceOrderShippings.find(a => a.id === id)\n }\n )\n\n if (\n uniqueMarketplaceOrderShippings.some(marketplaceOrderShipping => marketplaceOrderShipping.trackingNo != null)\n ) {\n uniqueMarketplaceOrderShippings.map((orderShipping: MarketplaceOrderShipping) => {\n if (orderShipping?.trackingNo) {\n const trackingNoInfo: any[] = JSON.parse(orderShipping.trackingNo)\n const orderTrackingNos: string[] = trackingNoInfo.map(item => item.tracking_code)\n const uniqueTrackingNos = [...new Set(orderTrackingNos)]\n\n let orderItemIds: string[] = []\n\n if (uniqueTrackingNos?.length == 1) {\n orderItemIds = trackingNoInfo.map(item => item.order_item_id)\n trackingInfoArr.push({ orderItemIds, trackingNo: uniqueTrackingNos[0] })\n } else {\n uniqueTrackingNos.map(trackingNo => {\n orderItemIds = trackingNoInfo\n .filter(info => info.tracking_code === trackingNo)\n .map(filteredInfo => filteredInfo.order_item_id)\n\n trackingInfoArr.push({ orderItemIds, trackingNo })\n })\n }\n }\n })\n }\n\n for (var i = 0; i < trackingInfoArr?.length; i++) {\n const trackingInfo = trackingInfoArr[i]\n const trackingNo = trackingInfo.trackingNo\n const orderItemId = trackingInfo.orderItemIds\n\n await StoreAPI.setStoreOrderStatusReadyToShip(marketplaceStore, {\n shipmentProvider: shippingProvider,\n deliveryType,\n orderItemId,\n trackingNo,\n orderId: marketplaceOrder.name\n })\n }\n\n const updatedOrder = await StoreAPI.getStoreOrder(marketplaceStore, { orderId: marketplaceOrder.name })\n\n marketplaceOrder.status = updatedOrder.status\n marketplaceOrder.orderUpdatedAt = updatedOrder.orderUpdatedAt\n marketplaceOrder.trackingNo = updatedOrder.trackingNo\n marketplaceOrder.shippingProvider = updatedOrder.shippingProvider\n await getRepository(MarketplaceOrder).save(marketplaceOrder)\n\n for (let idx = 0; idx < marketplaceOrder.marketplaceOrderItems.length; idx++) {\n let matchItem = updatedOrder.orderItems.find(\n i => i.variationId == marketplaceOrder.marketplaceOrderItems[idx].marketplaceProductVariation.variationId\n )\n\n if (matchItem) {\n let targetMarketplaceOrderItem = {\n ...marketplaceOrder.marketplaceOrderItems[idx],\n shippingProvider: matchItem.shippingProvider,\n trackingCode: matchItem.trackingNo,\n status: matchItem.status\n }\n\n await getRepository(MarketplaceOrderItem).save(targetMarketplaceOrderItem)\n }\n }\n }\n }\n\n return true\n }\n}\n"]}
|
|
@@ -79,13 +79,17 @@ async function generateMarketplaceOrder(_, marketplaceOrder, domain, marketplace
|
|
|
79
79
|
await Promise.all(marketplaceOrderItems.map(async (marketplaceOrderItem) => {
|
|
80
80
|
const marketplaceProductVariation = marketplaceOrderItem.marketplaceProductVariation;
|
|
81
81
|
let product = await tx.getRepository(product_base_1.Product).findOne({
|
|
82
|
-
where: {
|
|
82
|
+
where: {
|
|
83
|
+
domain: { id: marketplaceStore.domain.id },
|
|
84
|
+
sku: marketplaceProductVariation.sku,
|
|
85
|
+
deletedAt: (0, typeorm_1.IsNull)()
|
|
86
|
+
},
|
|
83
87
|
relations: ['productDetails']
|
|
84
88
|
});
|
|
85
89
|
let productBundle;
|
|
86
90
|
if (!product) {
|
|
87
91
|
productBundle = await tx.getRepository(product_base_1.ProductBundle).findOne({
|
|
88
|
-
where: { domain: marketplaceStore.domain, sku: marketplaceProductVariation.sku },
|
|
92
|
+
where: { domain: { id: marketplaceStore.domain.id }, sku: marketplaceProductVariation.sku },
|
|
89
93
|
relations: ['productBundleSettings', 'productBundleSettings.product']
|
|
90
94
|
});
|
|
91
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-marketplace-order.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/marketplace-order/generate-marketplace-order.ts"],"names":[],"mappings":"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","sourcesContent":["import { EntityManager, IsNull, SelectQueryBuilder } from 'typeorm'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport { User } from '@things-factory/auth-base'\nimport { MarketplaceStore as MarketplaceStoreEntity } from '@things-factory/integration-marketplace'\nimport { Product, ProductBundle, ProductBundleSetting } from '@things-factory/product-base'\nimport { Domain } from '@things-factory/shell'\n\nimport {\n MarketplaceOrder as MarketplaceOrderEntity,\n MarketplaceOrderItem as MarketplaceOrderItemEntity,\n MarketplaceOrderShipping as MarketplaceOrderShippingEntity,\n MarketplaceOrderShippingItem as MarketplaceOrderShippingItemEntity,\n MarketplaceProductVariation as MarketplaceProductVariationEntity\n} from '../../../entities'\nimport { NoGenerator } from '../../../utils/no-generator'\n\nexport const generateMarketplaceOrderResolver = {\n async generateMarketplaceOrder(_: any, { marketplaceOrder }, context: ResolverContext) {\n const { domain, user, tx, marketplaceStore } = context.state\n const createdMarketplaceOrder: MarketplaceOrderEntity = await generateMarketplaceOrder(\n _,\n marketplaceOrder,\n domain,\n marketplaceStore as MarketplaceStoreEntity,\n user,\n tx\n )\n\n return createdMarketplaceOrder\n }\n}\n\nexport async function generateMarketplaceOrder(\n _: any,\n marketplaceOrder: any,\n domain: Domain,\n marketplaceStore: MarketplaceStoreEntity,\n user: User,\n tx?: EntityManager\n): Promise<MarketplaceOrderEntity> {\n let marketplaceOrderItems: MarketplaceOrderItemEntity[] = []\n\n let newMarketplaceOrder: MarketplaceOrderEntity = Object.assign({}, marketplaceOrder)\n const itemCount: number = marketplaceOrder.marketplaceOrderItems?.length\n\n newMarketplaceOrder.name = marketplaceOrder?.name ? marketplaceOrder.name : NoGenerator.marketplaceOrder()\n newMarketplaceOrder.itemCount = itemCount\n newMarketplaceOrder.marketplaceStore = marketplaceStore\n newMarketplaceOrder.domain = domain\n newMarketplaceOrder.creator = user\n newMarketplaceOrder = await tx.getRepository(MarketplaceOrderEntity).save(newMarketplaceOrder)\n\n let newMarketplaceOrderShipping: MarketplaceOrderShippingEntity\n if (marketplaceOrder?.marketplaceOrderShipping) {\n const marketplaceOrderShipping: any = marketplaceOrder.marketplaceOrderShipping\n newMarketplaceOrderShipping = Object.assign({}, marketplaceOrderShipping)\n newMarketplaceOrderShipping.name = marketplaceOrderShipping?.shippingId\n ? marketplaceOrderShipping.shippingId\n : NoGenerator.orderShipping()\n newMarketplaceOrderShipping.transporter =\n marketplaceOrderShipping?.transporter === '' ? null : marketplaceOrderShipping.transporter\n newMarketplaceOrderShipping.ownTransporter =\n marketplaceOrderShipping?.transporter === '' ? null : marketplaceOrderShipping.transporter\n newMarketplaceOrderShipping.marketplaceStore = marketplaceStore\n newMarketplaceOrderShipping.orderNoRef = newMarketplaceOrder.orderNo\n newMarketplaceOrderShipping.subOrderNoRef = newMarketplaceOrder.orderNo\n newMarketplaceOrderShipping.domain = domain\n newMarketplaceOrderShipping.creator = user\n newMarketplaceOrderShipping = await tx\n .getRepository(MarketplaceOrderShippingEntity)\n .save(newMarketplaceOrderShipping)\n }\n\n marketplaceOrderItems = await Promise.all(\n marketplaceOrder?.marketplaceOrderItems.map(async orderItem => {\n let marketplaceOrderItem: MarketplaceOrderItemEntity = Object.assign({}, orderItem)\n\n const marketplaceProductVariation = orderItem.marketplaceProductVariation\n const qb: SelectQueryBuilder<MarketplaceProductVariationEntity> = await tx\n .getRepository(MarketplaceProductVariationEntity)\n .createQueryBuilder('mpv')\n .leftJoin('mpv.marketplaceProduct', 'mp')\n .leftJoin('mp.marketplaceStore', 'ms')\n .where('mpv.domain_id = :domainId')\n .andWhere('mpv.variation_id = :variationId')\n .andWhere('ms.id = :marketplaceStoreId')\n .setParameters({\n domainId: domain.id,\n variationId: marketplaceProductVariation.variationId,\n marketplaceStoreId: marketplaceStore.id\n })\n\n let foundVariation: MarketplaceProductVariationEntity = await qb.getOne()\n\n if (!foundVariation) {\n let newVariation: MarketplaceProductVariationEntity = Object.assign({}, marketplaceProductVariation)\n newVariation.status = 'ACTIVE'\n newVariation.domain = domain\n\n await tx.getRepository(MarketplaceProductVariationEntity).save(newVariation)\n foundVariation = newVariation\n }\n\n marketplaceOrderItem.marketplaceProductVariation = foundVariation\n marketplaceOrderItem.name = orderItem.orderItemId\n marketplaceOrderItem.marketplaceOrder = newMarketplaceOrder\n marketplaceOrderItem.domain = domain\n marketplaceOrderItem.creator = user\n\n return marketplaceOrderItem\n })\n )\n\n marketplaceOrderItems = await tx.getRepository(MarketplaceOrderItemEntity).save(marketplaceOrderItems)\n\n await Promise.all(\n marketplaceOrderItems.map(async marketplaceOrderItem => {\n const marketplaceProductVariation = marketplaceOrderItem.marketplaceProductVariation\n\n let product: Product = await tx.getRepository(Product).findOne({\n where: { domain: marketplaceStore.domain, sku: marketplaceProductVariation.sku, deletedAt: IsNull() },\n relations: ['productDetails']\n })\n\n let productBundle: ProductBundle\n if (!product) {\n productBundle = await tx.getRepository(ProductBundle).findOne({\n where: { domain: marketplaceStore.domain, sku: marketplaceProductVariation.sku },\n relations: ['productBundleSettings', 'productBundleSettings.product']\n })\n }\n\n let existingMarketplaceOrderShippingItems: MarketplaceOrderShippingItemEntity[] = await tx\n .getRepository(MarketplaceOrderShippingItemEntity)\n .find({\n where: { domain: { id: marketplaceStore.domain.id }, marketplaceOrderItem: { id: marketplaceOrderItem.id } }\n })\n\n if (existingMarketplaceOrderShippingItems && existingMarketplaceOrderShippingItems?.length) {\n } else {\n if (productBundle) {\n const productBundleSettings: ProductBundleSetting[] = productBundle.productBundleSettings\n let marketplaceOrderShippingItems: MarketplaceOrderShippingItemEntity[] = []\n productBundleSettings.map(productBundleSetting => {\n let marketplaceOrderShippingItem: MarketplaceOrderShippingItemEntity =\n new MarketplaceOrderShippingItemEntity()\n marketplaceOrderShippingItem.name = uuidv4()\n marketplaceOrderShippingItem.qty = marketplaceOrderItem.qty * productBundleSetting.bundleQty\n marketplaceOrderShippingItem.domain = marketplaceStore.domain\n marketplaceOrderShippingItem.marketplaceOrderItem = marketplaceOrderItem\n marketplaceOrderShippingItem.marketplaceOrderShipping = newMarketplaceOrderShipping\n marketplaceOrderShippingItem.product = productBundleSetting.product\n\n marketplaceOrderShippingItems.push(marketplaceOrderShippingItem)\n })\n\n await tx.getRepository(MarketplaceOrderShippingItemEntity).save(marketplaceOrderShippingItems)\n } else {\n let marketplaceOrderShippingItem: MarketplaceOrderShippingItemEntity =\n new MarketplaceOrderShippingItemEntity()\n marketplaceOrderShippingItem.name = uuidv4()\n marketplaceOrderShippingItem.qty = marketplaceOrderItem.qty\n marketplaceOrderShippingItem.domain = marketplaceStore.domain\n marketplaceOrderShippingItem.marketplaceOrderItem = marketplaceOrderItem\n marketplaceOrderShippingItem.marketplaceOrderShipping = newMarketplaceOrderShipping\n marketplaceOrderShippingItem.product = product ? product : null\n\n await tx.getRepository(MarketplaceOrderShippingItemEntity).save(marketplaceOrderShippingItem)\n }\n }\n })\n )\n\n return newMarketplaceOrder\n}\n"]}
|
|
1
|
+
{"version":3,"file":"generate-marketplace-order.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/marketplace-order/generate-marketplace-order.ts"],"names":[],"mappings":"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","sourcesContent":["import { EntityManager, IsNull, SelectQueryBuilder } from 'typeorm'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport { User } from '@things-factory/auth-base'\nimport { MarketplaceStore as MarketplaceStoreEntity } from '@things-factory/integration-marketplace'\nimport { Product, ProductBundle, ProductBundleSetting } from '@things-factory/product-base'\nimport { Domain } from '@things-factory/shell'\n\nimport {\n MarketplaceOrder as MarketplaceOrderEntity,\n MarketplaceOrderItem as MarketplaceOrderItemEntity,\n MarketplaceOrderShipping as MarketplaceOrderShippingEntity,\n MarketplaceOrderShippingItem as MarketplaceOrderShippingItemEntity,\n MarketplaceProductVariation as MarketplaceProductVariationEntity\n} from '../../../entities'\nimport { NoGenerator } from '../../../utils/no-generator'\n\nexport const generateMarketplaceOrderResolver = {\n async generateMarketplaceOrder(_: any, { marketplaceOrder }, context: ResolverContext) {\n const { domain, user, tx, marketplaceStore } = context.state\n const createdMarketplaceOrder: MarketplaceOrderEntity = await generateMarketplaceOrder(\n _,\n marketplaceOrder,\n domain,\n marketplaceStore as MarketplaceStoreEntity,\n user,\n tx\n )\n\n return createdMarketplaceOrder\n }\n}\n\nexport async function generateMarketplaceOrder(\n _: any,\n marketplaceOrder: any,\n domain: Domain,\n marketplaceStore: MarketplaceStoreEntity,\n user: User,\n tx?: EntityManager\n): Promise<MarketplaceOrderEntity> {\n let marketplaceOrderItems: MarketplaceOrderItemEntity[] = []\n\n let newMarketplaceOrder: MarketplaceOrderEntity = Object.assign({}, marketplaceOrder)\n const itemCount: number = marketplaceOrder.marketplaceOrderItems?.length\n\n newMarketplaceOrder.name = marketplaceOrder?.name ? marketplaceOrder.name : NoGenerator.marketplaceOrder()\n newMarketplaceOrder.itemCount = itemCount\n newMarketplaceOrder.marketplaceStore = marketplaceStore\n newMarketplaceOrder.domain = domain\n newMarketplaceOrder.creator = user\n newMarketplaceOrder = await tx.getRepository(MarketplaceOrderEntity).save(newMarketplaceOrder)\n\n let newMarketplaceOrderShipping: MarketplaceOrderShippingEntity\n if (marketplaceOrder?.marketplaceOrderShipping) {\n const marketplaceOrderShipping: any = marketplaceOrder.marketplaceOrderShipping\n newMarketplaceOrderShipping = Object.assign({}, marketplaceOrderShipping)\n newMarketplaceOrderShipping.name = marketplaceOrderShipping?.shippingId\n ? marketplaceOrderShipping.shippingId\n : NoGenerator.orderShipping()\n newMarketplaceOrderShipping.transporter =\n marketplaceOrderShipping?.transporter === '' ? null : marketplaceOrderShipping.transporter\n newMarketplaceOrderShipping.ownTransporter =\n marketplaceOrderShipping?.transporter === '' ? null : marketplaceOrderShipping.transporter\n newMarketplaceOrderShipping.marketplaceStore = marketplaceStore\n newMarketplaceOrderShipping.orderNoRef = newMarketplaceOrder.orderNo\n newMarketplaceOrderShipping.subOrderNoRef = newMarketplaceOrder.orderNo\n newMarketplaceOrderShipping.domain = domain\n newMarketplaceOrderShipping.creator = user\n newMarketplaceOrderShipping = await tx\n .getRepository(MarketplaceOrderShippingEntity)\n .save(newMarketplaceOrderShipping)\n }\n\n marketplaceOrderItems = await Promise.all(\n marketplaceOrder?.marketplaceOrderItems.map(async orderItem => {\n let marketplaceOrderItem: MarketplaceOrderItemEntity = Object.assign({}, orderItem)\n\n const marketplaceProductVariation = orderItem.marketplaceProductVariation\n const qb: SelectQueryBuilder<MarketplaceProductVariationEntity> = await tx\n .getRepository(MarketplaceProductVariationEntity)\n .createQueryBuilder('mpv')\n .leftJoin('mpv.marketplaceProduct', 'mp')\n .leftJoin('mp.marketplaceStore', 'ms')\n .where('mpv.domain_id = :domainId')\n .andWhere('mpv.variation_id = :variationId')\n .andWhere('ms.id = :marketplaceStoreId')\n .setParameters({\n domainId: domain.id,\n variationId: marketplaceProductVariation.variationId,\n marketplaceStoreId: marketplaceStore.id\n })\n\n let foundVariation: MarketplaceProductVariationEntity = await qb.getOne()\n\n if (!foundVariation) {\n let newVariation: MarketplaceProductVariationEntity = Object.assign({}, marketplaceProductVariation)\n newVariation.status = 'ACTIVE'\n newVariation.domain = domain\n\n await tx.getRepository(MarketplaceProductVariationEntity).save(newVariation)\n foundVariation = newVariation\n }\n\n marketplaceOrderItem.marketplaceProductVariation = foundVariation\n marketplaceOrderItem.name = orderItem.orderItemId\n marketplaceOrderItem.marketplaceOrder = newMarketplaceOrder\n marketplaceOrderItem.domain = domain\n marketplaceOrderItem.creator = user\n\n return marketplaceOrderItem\n })\n )\n\n marketplaceOrderItems = await tx.getRepository(MarketplaceOrderItemEntity).save(marketplaceOrderItems)\n\n await Promise.all(\n marketplaceOrderItems.map(async marketplaceOrderItem => {\n const marketplaceProductVariation = marketplaceOrderItem.marketplaceProductVariation\n\n let product: Product = await tx.getRepository(Product).findOne({\n where: {\n domain: { id: marketplaceStore.domain.id },\n sku: marketplaceProductVariation.sku,\n deletedAt: IsNull()\n },\n relations: ['productDetails']\n })\n\n let productBundle: ProductBundle\n if (!product) {\n productBundle = await tx.getRepository(ProductBundle).findOne({\n where: { domain: { id: marketplaceStore.domain.id }, sku: marketplaceProductVariation.sku },\n relations: ['productBundleSettings', 'productBundleSettings.product']\n })\n }\n\n let existingMarketplaceOrderShippingItems: MarketplaceOrderShippingItemEntity[] = await tx\n .getRepository(MarketplaceOrderShippingItemEntity)\n .find({\n where: { domain: { id: marketplaceStore.domain.id }, marketplaceOrderItem: { id: marketplaceOrderItem.id } }\n })\n\n if (existingMarketplaceOrderShippingItems && existingMarketplaceOrderShippingItems?.length) {\n } else {\n if (productBundle) {\n const productBundleSettings: ProductBundleSetting[] = productBundle.productBundleSettings\n let marketplaceOrderShippingItems: MarketplaceOrderShippingItemEntity[] = []\n productBundleSettings.map(productBundleSetting => {\n let marketplaceOrderShippingItem: MarketplaceOrderShippingItemEntity =\n new MarketplaceOrderShippingItemEntity()\n marketplaceOrderShippingItem.name = uuidv4()\n marketplaceOrderShippingItem.qty = marketplaceOrderItem.qty * productBundleSetting.bundleQty\n marketplaceOrderShippingItem.domain = marketplaceStore.domain\n marketplaceOrderShippingItem.marketplaceOrderItem = marketplaceOrderItem\n marketplaceOrderShippingItem.marketplaceOrderShipping = newMarketplaceOrderShipping\n marketplaceOrderShippingItem.product = productBundleSetting.product\n\n marketplaceOrderShippingItems.push(marketplaceOrderShippingItem)\n })\n\n await tx.getRepository(MarketplaceOrderShippingItemEntity).save(marketplaceOrderShippingItems)\n } else {\n let marketplaceOrderShippingItem: MarketplaceOrderShippingItemEntity =\n new MarketplaceOrderShippingItemEntity()\n marketplaceOrderShippingItem.name = uuidv4()\n marketplaceOrderShippingItem.qty = marketplaceOrderItem.qty\n marketplaceOrderShippingItem.domain = marketplaceStore.domain\n marketplaceOrderShippingItem.marketplaceOrderItem = marketplaceOrderItem\n marketplaceOrderShippingItem.marketplaceOrderShipping = newMarketplaceOrderShipping\n marketplaceOrderShippingItem.product = product ? product : null\n\n await tx.getRepository(MarketplaceOrderShippingItemEntity).save(marketplaceOrderShippingItem)\n }\n }\n })\n )\n\n return newMarketplaceOrder\n}\n"]}
|
|
@@ -8,7 +8,7 @@ exports.marketplaceOrdersForExport = {
|
|
|
8
8
|
async marketplaceOrdersForExport(_, { orderNos }, context) {
|
|
9
9
|
const { domain } = context.state;
|
|
10
10
|
const foundMarketplaceOrders = await (0, shell_1.getRepository)(entities_1.MarketplaceOrder).find({
|
|
11
|
-
where: { name: (0, typeorm_1.In)(orderNos), domain },
|
|
11
|
+
where: { name: (0, typeorm_1.In)(orderNos), domain: { id: domain.id } },
|
|
12
12
|
relations: [
|
|
13
13
|
'marketplaceStore',
|
|
14
14
|
'marketplaceOrderItems',
|
package/dist-server/graphql/resolvers/marketplace-order/marketplace-orders-for-export.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketplace-orders-for-export.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/marketplace-order/marketplace-orders-for-export.ts"],"names":[],"mappings":";;;AAAA,qCAA4B;AAE5B,iDAAqD;AAErD,gDAAwG;AAE3F,QAAA,0BAA0B,GAAG;IACxC,KAAK,CAAC,0BAA0B,CAAC,CAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAwB;QAC7E,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAChC,MAAM,sBAAsB,GAAuB,MAAM,IAAA,qBAAa,EAAC,2BAAgB,CAAC,CAAC,IAAI,CAAC;YAC5F,KAAK,EAAE,EAAE,IAAI,EAAE,IAAA,YAAE,EAAC,QAAQ,CAAC,EAAE,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"marketplace-orders-for-export.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/marketplace-order/marketplace-orders-for-export.ts"],"names":[],"mappings":";;;AAAA,qCAA4B;AAE5B,iDAAqD;AAErD,gDAAwG;AAE3F,QAAA,0BAA0B,GAAG;IACxC,KAAK,CAAC,0BAA0B,CAAC,CAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAwB;QAC7E,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAChC,MAAM,sBAAsB,GAAuB,MAAM,IAAA,qBAAa,EAAC,2BAAgB,CAAC,CAAC,IAAI,CAAC;YAC5F,KAAK,EAAE,EAAE,IAAI,EAAE,IAAA,YAAE,EAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE;YACxD,SAAS,EAAE;gBACT,kBAAkB;gBAClB,uBAAuB;gBACvB,qDAAqD;gBACrD,8EAA8E;gBAC9E,mDAAmD;aACpD;SACF,CAAC,CAAA;QAEF,IAAI,WAAW,GAAG,EAAE,CAAA;QACpB,IAAI,WAAW,GAAG,EAAE,CAAA;QACpB,MAAM,OAAO,CAAC,GAAG,CACf,sBAAsB,CAAC,GAAG,CAAC,CAAC,KAAuB,EAAE,EAAE;YACrD,MAAM,qBAAqB,GAA2B,KAAK,CAAC,qBAAqB,CAAA;YACjF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAA;YAC1B,MAAM,gBAAgB,GAAW,KAAK,CAAC,gBAAgB,CAAA;YACvD,MAAM,oBAAoB,GAAG,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAA;YAC7D,MAAM,wBAAwB,GAAG,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAA;YAChE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;YAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAA;YACtC,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAA;YAEtC,WAAW,GAAG,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBAClD,MAAM,6BAA6B,GAAmC,SAAS,CAAC,6BAA6B,CAAA;gBAE7G,MAAM,aAAa,GAAW,SAAS,CAAC,2BAA2B,CAAC,IAAI,CAAA;gBACxE,MAAM,wBAAwB,GAAG,6BAA6B,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAA;gBAC1F,MAAM,GAAG,GAAW,SAAS,CAAC,2BAA2B,CAAC,GAAG,CAAA;gBAC7D,MAAM,OAAO,GAAW,SAAS,CAAC,GAAG,CAAA;gBACrC,MAAM,UAAU,GAAW,wBAAwB,aAAxB,wBAAwB,uBAAxB,wBAAwB,CAAE,UAAU,CAAA;gBAE/D,MAAM,WAAW,GAAQ;oBACvB,OAAO;oBACP,oBAAoB;oBACpB,wBAAwB;oBACxB,GAAG;oBACH,aAAa;oBACb,UAAU;oBACV,gBAAgB;oBAChB,OAAO;oBACP,MAAM;oBACN,SAAS;oBACT,SAAS;iBACV,CAAA;gBACD,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAC/B,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CACH,CAAA;QAED,OAAO,WAAW,CAAA;IACpB,CAAC;CACF,CAAA","sourcesContent":["import { In } from 'typeorm'\n\nimport { getRepository } from '@things-factory/shell'\n\nimport { MarketplaceOrder, MarketplaceOrderItem, MarketplaceOrderShippingItem } from '../../../entities'\n\nexport const marketplaceOrdersForExport = {\n async marketplaceOrdersForExport(_: any, { orderNos }, context: ResolverContext) {\n const { domain } = context.state\n const foundMarketplaceOrders: MarketplaceOrder[] = await getRepository(MarketplaceOrder).find({\n where: { name: In(orderNos), domain: { id: domain.id } },\n relations: [\n 'marketplaceStore',\n 'marketplaceOrderItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',\n 'marketplaceOrderItems.marketplaceProductVariation'\n ]\n })\n\n let mergedOrder = []\n let exportOrder = []\n await Promise.all(\n foundMarketplaceOrders.map((order: MarketplaceOrder) => {\n const marketplaceOrderItems: MarketplaceOrderItem[] = order.marketplaceOrderItems\n const orderNo = order.name\n const shippingProvider: string = order.shippingProvider\n const marketplaceStoreName = order.marketplaceStore.storeName\n const marketplaceStorePlatform = order.marketplaceStore.platform\n const status = order.status\n const createdAt = order.orderCreatedAt\n const updatedAt = order.orderUpdatedAt\n\n mergedOrder = marketplaceOrderItems.map(orderItem => {\n const marketplaceOrderShippingItems: MarketplaceOrderShippingItem[] = orderItem.marketplaceOrderShippingItems\n\n const variationName: string = orderItem.marketplaceProductVariation.name\n const marketplaceOrderShipping = marketplaceOrderShippingItems[0].marketplaceOrderShipping\n const sku: string = orderItem.marketplaceProductVariation.sku\n const itemQty: number = orderItem.qty\n const trackingNo: string = marketplaceOrderShipping?.trackingNo\n\n const mergedOrder: any = {\n orderNo,\n marketplaceStoreName,\n marketplaceStorePlatform,\n sku,\n variationName,\n trackingNo,\n shippingProvider,\n itemQty,\n status,\n createdAt,\n updatedAt\n }\n exportOrder.push(mergedOrder)\n })\n })\n )\n\n return exportOrder\n }\n}\n"]}
|
|
@@ -23,7 +23,11 @@ exports.splitOrdersByBatch = {
|
|
|
23
23
|
throw new Error('No order is found');
|
|
24
24
|
const marketplaceStore = marketplaceOrder.marketplaceStore;
|
|
25
25
|
const maxWeightSetting = await tx.getRepository(integration_marketplace_1.MarketplaceSetting).findOne({
|
|
26
|
-
where: {
|
|
26
|
+
where: {
|
|
27
|
+
domain: { id: domain.id },
|
|
28
|
+
category: 'marketplace_order_max_weight',
|
|
29
|
+
marketplaceStore: { id: marketplaceStore.id }
|
|
30
|
+
}
|
|
27
31
|
});
|
|
28
32
|
if (!maxWeightSetting)
|
|
29
33
|
throw new Error('marketplace_order_max_weight setting not found');
|
|
@@ -36,7 +40,7 @@ exports.splitOrdersByBatch = {
|
|
|
36
40
|
where: {
|
|
37
41
|
domain: { id: domain.id },
|
|
38
42
|
orderNoRef: marketplaceOrder.orderNo,
|
|
39
|
-
marketplaceStore: marketplaceOrder.marketplaceStore
|
|
43
|
+
marketplaceStore: { id: marketplaceOrder.marketplaceStore.id }
|
|
40
44
|
},
|
|
41
45
|
relations: [
|
|
42
46
|
'marketplaceOrderShippingItems',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"split-orders-by-batch.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/marketplace-order/split-orders-by-batch.ts"],"names":[],"mappings":"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","sourcesContent":["import { v4 as uuidv4 } from 'uuid'\n\nimport { MarketplaceSetting, MarketplaceStore } from '@things-factory/integration-marketplace'\nimport { Product } from '@things-factory/product-base'\n\nimport {\n MarketplaceOrder,\n MarketplaceOrderItem,\n MarketplaceOrderShipping,\n MarketplaceOrderShippingItem,\n MarketplaceProductVariation\n} from '../../../entities'\nimport { NoGenerator } from '../../../utils'\n\nexport const splitOrdersByBatch = {\n async splitOrdersByBatch(_: any, { patches }, context: ResolverContext) {\n const { user, tx, domain } = context.state\n\n for (let i: number = 0; i < patches.length; i++) {\n const patch: any = patches[i]\n let marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({\n where: { id: patch.id },\n relations: [\n 'domain',\n 'marketplaceStore',\n 'marketplaceOrderItems',\n 'marketplaceOrderItems.marketplaceProductVariation'\n ]\n })\n if (!marketplaceOrder) throw new Error('No order is found')\n\n const marketplaceStore: MarketplaceStore = marketplaceOrder.marketplaceStore\n\n const maxWeightSetting: MarketplaceSetting = await tx.getRepository(MarketplaceSetting).findOne({\n where: { domain: { id: domain.id }, category: 'marketplace_order_max_weight', marketplaceStore }\n })\n if (!maxWeightSetting) throw new Error('marketplace_order_max_weight setting not found')\n\n const marketplaceOrderItems: MarketplaceOrderItem[] = marketplaceOrder.marketplaceOrderItems\n if (!marketplaceOrderItems.every(marketplaceOrderItem => marketplaceOrderItem.marketplaceProductVariation.sku))\n throw new Error('all items must be linked before split order')\n\n let originalMarketplaceOrderShipping: MarketplaceOrderShipping = await tx\n .getRepository(MarketplaceOrderShipping)\n .findOne({\n where: {\n domain: { id: domain.id },\n orderNoRef: marketplaceOrder.orderNo,\n marketplaceStore: marketplaceOrder.marketplaceStore\n },\n relations: [\n 'marketplaceOrderShippingItems',\n 'marketplaceOrderShippingItems.product',\n 'marketplaceOrderShippingItems.product.productDetails',\n 'marketplaceOrderShippingItems.marketplaceOrderItem',\n 'marketplaceOrderShippingItems.marketplaceOrderItem.marketplaceProductVariation'\n ]\n })\n\n const originalMarketplaceOrderShippingItems: MarketplaceOrderShippingItem[] =\n originalMarketplaceOrderShipping.marketplaceOrderShippingItems\n let newMarketplaceOrderShippingItems: MarketplaceOrderShippingItem[] = []\n let splittedShipmentItems: any[] = []\n\n for (let a: number = 0; a < originalMarketplaceOrderShippingItems.length; a++) {\n const marketplaceOrderShippingItem: MarketplaceOrderShippingItem = originalMarketplaceOrderShippingItems[a]\n\n for (let b: number = 0; b < marketplaceOrderShippingItem.qty; b++) {\n const newItem: MarketplaceOrderShippingItem = {\n ...marketplaceOrderShippingItem,\n qty: 1\n }\n newMarketplaceOrderShippingItems.push(newItem)\n }\n }\n\n newMarketplaceOrderShippingItems.sort(function (a, b) {\n if (\n a.marketplaceOrderItem.marketplaceProductVariation.primaryUnitValue <\n b.marketplaceOrderItem.marketplaceProductVariation.primaryUnitValue\n )\n return -1\n if (\n a.marketplaceOrderItem.marketplaceProductVariation.primaryUnitValue >\n b.marketplaceOrderItem.marketplaceProductVariation.primaryUnitValue\n )\n return 1\n return 0\n })\n\n for (let a: number = 0; a < newMarketplaceOrderShippingItems.length; a++) {\n let marketplaceOrderShippingItem: MarketplaceOrderShippingItem = newMarketplaceOrderShippingItems[a]\n const product: Product = marketplaceOrderShippingItem.product\n const marketplaceOrderItem: MarketplaceOrderItem = marketplaceOrderShippingItem.marketplaceOrderItem\n\n const marketplaceProductVariation: MarketplaceProductVariation =\n marketplaceOrderItem.marketplaceProductVariation\n\n if (!marketplaceProductVariation?.primaryUnitValue)\n throw new Error(marketplaceProductVariation.variationSku + ' weight is empty')\n\n const primaryUnitValue: number = parseFloat(marketplaceProductVariation.primaryUnitValue.toFixed(2)) || 0\n\n delete marketplaceOrderShippingItem.id\n\n let newMarketplaceOrderShipping: MarketplaceOrderShipping = new MarketplaceOrderShipping()\n newMarketplaceOrderShipping.name = NoGenerator.orderShipping()\n newMarketplaceOrderShipping.address1 = originalMarketplaceOrderShipping.address1\n newMarketplaceOrderShipping.address2 = originalMarketplaceOrderShipping.address2\n newMarketplaceOrderShipping.address3 = originalMarketplaceOrderShipping.address3\n newMarketplaceOrderShipping.address4 = originalMarketplaceOrderShipping.address4\n newMarketplaceOrderShipping.address5 = originalMarketplaceOrderShipping.address5\n newMarketplaceOrderShipping.attentionTo = originalMarketplaceOrderShipping.attentionTo\n newMarketplaceOrderShipping.city = originalMarketplaceOrderShipping.city\n newMarketplaceOrderShipping.country = originalMarketplaceOrderShipping.country\n newMarketplaceOrderShipping.postCode = originalMarketplaceOrderShipping.postCode\n newMarketplaceOrderShipping.phone1 = originalMarketplaceOrderShipping.phone1\n newMarketplaceOrderShipping.phone2 = originalMarketplaceOrderShipping.phone2\n newMarketplaceOrderShipping.orderNoRef = marketplaceOrder.orderNo\n newMarketplaceOrderShipping.transporter = originalMarketplaceOrderShipping.transporter\n newMarketplaceOrderShipping.marketplaceStore = marketplaceStore\n newMarketplaceOrderShipping.creator = user\n newMarketplaceOrderShipping.domain = marketplaceOrder.domain\n newMarketplaceOrderShipping.weightUnit = 'KG'\n\n if (splittedShipmentItems.length == 0) {\n newMarketplaceOrderShipping.totalWeight = primaryUnitValue\n\n newMarketplaceOrderShipping = await tx\n .getRepository(MarketplaceOrderShipping)\n .save(newMarketplaceOrderShipping)\n\n marketplaceOrderShippingItem.name = uuidv4()\n marketplaceOrderShippingItem.marketplaceOrderItem = marketplaceOrderItem\n marketplaceOrderShippingItem.marketplaceOrderShipping = newMarketplaceOrderShipping\n marketplaceOrderShippingItem.product = product\n marketplaceOrderShippingItem.domain = marketplaceOrder.domain\n\n let splittedShipment: any = {\n shipments: [{ ...marketplaceOrderShippingItem }],\n totalWeight: primaryUnitValue\n }\n splittedShipmentItems.push(splittedShipment)\n } else {\n let lastShipment: any = splittedShipmentItems[splittedShipmentItems.length - 1]\n let lastTotalWeight: number = parseFloat(lastShipment.totalWeight.toFixed(2))\n if (lastTotalWeight + primaryUnitValue < parseFloat(maxWeightSetting.value)) {\n splittedShipmentItems.map((shipmentItem, idx) => {\n if (idx === splittedShipmentItems.length - 1) {\n let shipments: any[] = shipmentItem.shipments\n\n shipments = shipments.map(async shipment => {\n if (shipment.product.id === product.id) {\n shipment.qty += marketplaceOrderShippingItem.qty\n } else {\n const matchedProduct = shipments.find(shipment => shipment.product.id == product.id)\n if (!matchedProduct) {\n marketplaceOrderShippingItem.name = uuidv4()\n marketplaceOrderShippingItem.marketplaceOrderItem = marketplaceOrderItem\n marketplaceOrderShippingItem.marketplaceOrderShipping = shipment.marketplaceOrderShipping\n marketplaceOrderShippingItem.product = product\n marketplaceOrderShippingItem.domain = marketplaceOrder.domain\n shipmentItem.shipments.push({ ...marketplaceOrderShippingItem })\n }\n }\n\n shipment.marketplaceOrderShipping.totalWeight = parseFloat(\n (lastTotalWeight + primaryUnitValue).toFixed(2)\n )\n await tx.getRepository(MarketplaceOrderShipping).save(shipment.marketplaceOrderShipping)\n })\n\n shipmentItem.totalWeight += primaryUnitValue\n }\n })\n } else {\n newMarketplaceOrderShipping.totalWeight = primaryUnitValue\n\n newMarketplaceOrderShipping = await tx\n .getRepository(MarketplaceOrderShipping)\n .save(newMarketplaceOrderShipping)\n\n marketplaceOrderShippingItem.name = uuidv4()\n marketplaceOrderShippingItem.marketplaceOrderItem = marketplaceOrderItem\n marketplaceOrderShippingItem.marketplaceOrderShipping = newMarketplaceOrderShipping\n marketplaceOrderShippingItem.product = product\n marketplaceOrderShippingItem.domain = marketplaceOrder.domain\n\n let splittedShipment: any = {\n shipments: [{ ...marketplaceOrderShippingItem }],\n totalWeight: primaryUnitValue\n }\n splittedShipmentItems.push(splittedShipment)\n }\n }\n }\n\n let savedMarketplaceOrderShippingItems: MarketplaceOrderShippingItem[] = []\n for (let a: number = 0; a < splittedShipmentItems.length; a++) {\n const shipments: any[] = splittedShipmentItems[a].shipments\n for (let b: number = 0; b < shipments.length; b++) {\n savedMarketplaceOrderShippingItems.push(shipments[b])\n }\n }\n\n savedMarketplaceOrderShippingItems = await tx\n .getRepository(MarketplaceOrderShippingItem)\n .save(savedMarketplaceOrderShippingItems)\n\n await tx\n .getRepository(MarketplaceOrderShippingItem)\n .delete(originalMarketplaceOrderShippingItems.map(item => item.id))\n\n await tx.getRepository(MarketplaceOrderShipping).delete(originalMarketplaceOrderShipping.id)\n\n let marketplaceOrderShippings: MarketplaceOrderShipping[] = await tx\n .getRepository(MarketplaceOrderShipping)\n .find({ where: { domain: { id: domain.id }, orderNoRef: marketplaceOrder.orderNo } })\n\n marketplaceOrderShippings = marketplaceOrderShippings.map((marketplaceOrderShipping, idx) => {\n return {\n ...marketplaceOrderShipping,\n subOrderNoRef:\n marketplaceOrderShippings.length == 1\n ? marketplaceOrderShipping.orderNoRef\n : marketplaceOrderShipping.orderNoRef + ' - ' + (idx + 1) + '/' + marketplaceOrderShippings.length\n }\n })\n\n await tx.getRepository(MarketplaceOrderShipping).save(marketplaceOrderShippings)\n\n let newMarketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({\n where: { id: patch.id }\n })\n newMarketplaceOrder.isSplitted = true\n await tx.getRepository(MarketplaceOrder).save(newMarketplaceOrder)\n }\n\n return true\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"split-orders-by-batch.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/marketplace-order/split-orders-by-batch.ts"],"names":[],"mappings":"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","sourcesContent":["import { v4 as uuidv4 } from 'uuid'\n\nimport { MarketplaceSetting, MarketplaceStore } from '@things-factory/integration-marketplace'\nimport { Product } from '@things-factory/product-base'\n\nimport {\n MarketplaceOrder,\n MarketplaceOrderItem,\n MarketplaceOrderShipping,\n MarketplaceOrderShippingItem,\n MarketplaceProductVariation\n} from '../../../entities'\nimport { NoGenerator } from '../../../utils'\n\nexport const splitOrdersByBatch = {\n async splitOrdersByBatch(_: any, { patches }, context: ResolverContext) {\n const { user, tx, domain } = context.state\n\n for (let i: number = 0; i < patches.length; i++) {\n const patch: any = patches[i]\n let marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({\n where: { id: patch.id },\n relations: [\n 'domain',\n 'marketplaceStore',\n 'marketplaceOrderItems',\n 'marketplaceOrderItems.marketplaceProductVariation'\n ]\n })\n if (!marketplaceOrder) throw new Error('No order is found')\n\n const marketplaceStore: MarketplaceStore = marketplaceOrder.marketplaceStore\n\n const maxWeightSetting: MarketplaceSetting = await tx.getRepository(MarketplaceSetting).findOne({\n where: {\n domain: { id: domain.id },\n category: 'marketplace_order_max_weight',\n marketplaceStore: { id: marketplaceStore.id }\n }\n })\n if (!maxWeightSetting) throw new Error('marketplace_order_max_weight setting not found')\n\n const marketplaceOrderItems: MarketplaceOrderItem[] = marketplaceOrder.marketplaceOrderItems\n if (!marketplaceOrderItems.every(marketplaceOrderItem => marketplaceOrderItem.marketplaceProductVariation.sku))\n throw new Error('all items must be linked before split order')\n\n let originalMarketplaceOrderShipping: MarketplaceOrderShipping = await tx\n .getRepository(MarketplaceOrderShipping)\n .findOne({\n where: {\n domain: { id: domain.id },\n orderNoRef: marketplaceOrder.orderNo,\n marketplaceStore: { id: marketplaceOrder.marketplaceStore.id }\n },\n relations: [\n 'marketplaceOrderShippingItems',\n 'marketplaceOrderShippingItems.product',\n 'marketplaceOrderShippingItems.product.productDetails',\n 'marketplaceOrderShippingItems.marketplaceOrderItem',\n 'marketplaceOrderShippingItems.marketplaceOrderItem.marketplaceProductVariation'\n ]\n })\n\n const originalMarketplaceOrderShippingItems: MarketplaceOrderShippingItem[] =\n originalMarketplaceOrderShipping.marketplaceOrderShippingItems\n let newMarketplaceOrderShippingItems: MarketplaceOrderShippingItem[] = []\n let splittedShipmentItems: any[] = []\n\n for (let a: number = 0; a < originalMarketplaceOrderShippingItems.length; a++) {\n const marketplaceOrderShippingItem: MarketplaceOrderShippingItem = originalMarketplaceOrderShippingItems[a]\n\n for (let b: number = 0; b < marketplaceOrderShippingItem.qty; b++) {\n const newItem: MarketplaceOrderShippingItem = {\n ...marketplaceOrderShippingItem,\n qty: 1\n }\n newMarketplaceOrderShippingItems.push(newItem)\n }\n }\n\n newMarketplaceOrderShippingItems.sort(function (a, b) {\n if (\n a.marketplaceOrderItem.marketplaceProductVariation.primaryUnitValue <\n b.marketplaceOrderItem.marketplaceProductVariation.primaryUnitValue\n )\n return -1\n if (\n a.marketplaceOrderItem.marketplaceProductVariation.primaryUnitValue >\n b.marketplaceOrderItem.marketplaceProductVariation.primaryUnitValue\n )\n return 1\n return 0\n })\n\n for (let a: number = 0; a < newMarketplaceOrderShippingItems.length; a++) {\n let marketplaceOrderShippingItem: MarketplaceOrderShippingItem = newMarketplaceOrderShippingItems[a]\n const product: Product = marketplaceOrderShippingItem.product\n const marketplaceOrderItem: MarketplaceOrderItem = marketplaceOrderShippingItem.marketplaceOrderItem\n\n const marketplaceProductVariation: MarketplaceProductVariation =\n marketplaceOrderItem.marketplaceProductVariation\n\n if (!marketplaceProductVariation?.primaryUnitValue)\n throw new Error(marketplaceProductVariation.variationSku + ' weight is empty')\n\n const primaryUnitValue: number = parseFloat(marketplaceProductVariation.primaryUnitValue.toFixed(2)) || 0\n\n delete marketplaceOrderShippingItem.id\n\n let newMarketplaceOrderShipping: MarketplaceOrderShipping = new MarketplaceOrderShipping()\n newMarketplaceOrderShipping.name = NoGenerator.orderShipping()\n newMarketplaceOrderShipping.address1 = originalMarketplaceOrderShipping.address1\n newMarketplaceOrderShipping.address2 = originalMarketplaceOrderShipping.address2\n newMarketplaceOrderShipping.address3 = originalMarketplaceOrderShipping.address3\n newMarketplaceOrderShipping.address4 = originalMarketplaceOrderShipping.address4\n newMarketplaceOrderShipping.address5 = originalMarketplaceOrderShipping.address5\n newMarketplaceOrderShipping.attentionTo = originalMarketplaceOrderShipping.attentionTo\n newMarketplaceOrderShipping.city = originalMarketplaceOrderShipping.city\n newMarketplaceOrderShipping.country = originalMarketplaceOrderShipping.country\n newMarketplaceOrderShipping.postCode = originalMarketplaceOrderShipping.postCode\n newMarketplaceOrderShipping.phone1 = originalMarketplaceOrderShipping.phone1\n newMarketplaceOrderShipping.phone2 = originalMarketplaceOrderShipping.phone2\n newMarketplaceOrderShipping.orderNoRef = marketplaceOrder.orderNo\n newMarketplaceOrderShipping.transporter = originalMarketplaceOrderShipping.transporter\n newMarketplaceOrderShipping.marketplaceStore = marketplaceStore\n newMarketplaceOrderShipping.creator = user\n newMarketplaceOrderShipping.domain = marketplaceOrder.domain\n newMarketplaceOrderShipping.weightUnit = 'KG'\n\n if (splittedShipmentItems.length == 0) {\n newMarketplaceOrderShipping.totalWeight = primaryUnitValue\n\n newMarketplaceOrderShipping = await tx\n .getRepository(MarketplaceOrderShipping)\n .save(newMarketplaceOrderShipping)\n\n marketplaceOrderShippingItem.name = uuidv4()\n marketplaceOrderShippingItem.marketplaceOrderItem = marketplaceOrderItem\n marketplaceOrderShippingItem.marketplaceOrderShipping = newMarketplaceOrderShipping\n marketplaceOrderShippingItem.product = product\n marketplaceOrderShippingItem.domain = marketplaceOrder.domain\n\n let splittedShipment: any = {\n shipments: [{ ...marketplaceOrderShippingItem }],\n totalWeight: primaryUnitValue\n }\n splittedShipmentItems.push(splittedShipment)\n } else {\n let lastShipment: any = splittedShipmentItems[splittedShipmentItems.length - 1]\n let lastTotalWeight: number = parseFloat(lastShipment.totalWeight.toFixed(2))\n if (lastTotalWeight + primaryUnitValue < parseFloat(maxWeightSetting.value)) {\n splittedShipmentItems.map((shipmentItem, idx) => {\n if (idx === splittedShipmentItems.length - 1) {\n let shipments: any[] = shipmentItem.shipments\n\n shipments = shipments.map(async shipment => {\n if (shipment.product.id === product.id) {\n shipment.qty += marketplaceOrderShippingItem.qty\n } else {\n const matchedProduct = shipments.find(shipment => shipment.product.id == product.id)\n if (!matchedProduct) {\n marketplaceOrderShippingItem.name = uuidv4()\n marketplaceOrderShippingItem.marketplaceOrderItem = marketplaceOrderItem\n marketplaceOrderShippingItem.marketplaceOrderShipping = shipment.marketplaceOrderShipping\n marketplaceOrderShippingItem.product = product\n marketplaceOrderShippingItem.domain = marketplaceOrder.domain\n shipmentItem.shipments.push({ ...marketplaceOrderShippingItem })\n }\n }\n\n shipment.marketplaceOrderShipping.totalWeight = parseFloat(\n (lastTotalWeight + primaryUnitValue).toFixed(2)\n )\n await tx.getRepository(MarketplaceOrderShipping).save(shipment.marketplaceOrderShipping)\n })\n\n shipmentItem.totalWeight += primaryUnitValue\n }\n })\n } else {\n newMarketplaceOrderShipping.totalWeight = primaryUnitValue\n\n newMarketplaceOrderShipping = await tx\n .getRepository(MarketplaceOrderShipping)\n .save(newMarketplaceOrderShipping)\n\n marketplaceOrderShippingItem.name = uuidv4()\n marketplaceOrderShippingItem.marketplaceOrderItem = marketplaceOrderItem\n marketplaceOrderShippingItem.marketplaceOrderShipping = newMarketplaceOrderShipping\n marketplaceOrderShippingItem.product = product\n marketplaceOrderShippingItem.domain = marketplaceOrder.domain\n\n let splittedShipment: any = {\n shipments: [{ ...marketplaceOrderShippingItem }],\n totalWeight: primaryUnitValue\n }\n splittedShipmentItems.push(splittedShipment)\n }\n }\n }\n\n let savedMarketplaceOrderShippingItems: MarketplaceOrderShippingItem[] = []\n for (let a: number = 0; a < splittedShipmentItems.length; a++) {\n const shipments: any[] = splittedShipmentItems[a].shipments\n for (let b: number = 0; b < shipments.length; b++) {\n savedMarketplaceOrderShippingItems.push(shipments[b])\n }\n }\n\n savedMarketplaceOrderShippingItems = await tx\n .getRepository(MarketplaceOrderShippingItem)\n .save(savedMarketplaceOrderShippingItems)\n\n await tx\n .getRepository(MarketplaceOrderShippingItem)\n .delete(originalMarketplaceOrderShippingItems.map(item => item.id))\n\n await tx.getRepository(MarketplaceOrderShipping).delete(originalMarketplaceOrderShipping.id)\n\n let marketplaceOrderShippings: MarketplaceOrderShipping[] = await tx\n .getRepository(MarketplaceOrderShipping)\n .find({ where: { domain: { id: domain.id }, orderNoRef: marketplaceOrder.orderNo } })\n\n marketplaceOrderShippings = marketplaceOrderShippings.map((marketplaceOrderShipping, idx) => {\n return {\n ...marketplaceOrderShipping,\n subOrderNoRef:\n marketplaceOrderShippings.length == 1\n ? marketplaceOrderShipping.orderNoRef\n : marketplaceOrderShipping.orderNoRef + ' - ' + (idx + 1) + '/' + marketplaceOrderShippings.length\n }\n })\n\n await tx.getRepository(MarketplaceOrderShipping).save(marketplaceOrderShippings)\n\n let newMarketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({\n where: { id: patch.id }\n })\n newMarketplaceOrder.isSplitted = true\n await tx.getRepository(MarketplaceOrder).save(newMarketplaceOrder)\n }\n\n return true\n }\n}\n"]}
|
|
@@ -75,7 +75,7 @@ exports.syncMarketplaceOrder = {
|
|
|
75
75
|
const marketplaceTransporter = await tx
|
|
76
76
|
.getRepository(integration_marketplace_1.MarketplaceTransporter)
|
|
77
77
|
.findOne({
|
|
78
|
-
where: { marketplaceStore },
|
|
78
|
+
where: { marketplaceStore: { id: marketplaceStore.id } },
|
|
79
79
|
relations: ['pickupTransporter']
|
|
80
80
|
});
|
|
81
81
|
let marketplaceOrder = new entities_1.MarketplaceOrder();
|
|
@@ -105,7 +105,11 @@ exports.syncMarketplaceOrder = {
|
|
|
105
105
|
marketplaceOrder.voucherCode = order.voucherCode;
|
|
106
106
|
marketplaceOrder.shippingRebate = order.shippingRebate;
|
|
107
107
|
const existingMarketplaceOrder = await tx.getRepository(entities_1.MarketplaceOrder).findOne({
|
|
108
|
-
where: {
|
|
108
|
+
where: {
|
|
109
|
+
domain: { id: marketplaceStore.domain.id },
|
|
110
|
+
name: order.name,
|
|
111
|
+
marketplaceStore: { id: marketplaceStore.id }
|
|
112
|
+
},
|
|
109
113
|
relations: [
|
|
110
114
|
'domain',
|
|
111
115
|
'fulfillmentCenter',
|
|
@@ -148,7 +152,7 @@ exports.syncMarketplaceOrder = {
|
|
|
148
152
|
const foundMarketplaceOrderShipping = await tx
|
|
149
153
|
.getRepository(entities_1.MarketplaceOrderShipping)
|
|
150
154
|
.findOne({
|
|
151
|
-
where: { domain: marketplaceStore.domain, subOrderNoRef: releaseOrder.refNo2 }
|
|
155
|
+
where: { domain: { id: marketplaceStore.domain.id }, subOrderNoRef: releaseOrder.refNo2 }
|
|
152
156
|
});
|
|
153
157
|
let patch = {
|
|
154
158
|
id: releaseOrder.id,
|
|
@@ -168,7 +172,7 @@ exports.syncMarketplaceOrder = {
|
|
|
168
172
|
const foundMarketplaceOrderShipping = await tx
|
|
169
173
|
.getRepository(entities_1.MarketplaceOrderShipping)
|
|
170
174
|
.findOne({
|
|
171
|
-
where: { domain: marketplaceStore.domain, orderNoRef: releaseOrder.refNo }
|
|
175
|
+
where: { domain: { id: marketplaceStore.domain.id }, orderNoRef: releaseOrder.refNo }
|
|
172
176
|
});
|
|
173
177
|
let patch = {
|
|
174
178
|
id: releaseOrder.id,
|
|
@@ -253,7 +257,11 @@ exports.syncMarketplaceOrder = {
|
|
|
253
257
|
let existingOrderShippings = await tx
|
|
254
258
|
.getRepository(entities_1.MarketplaceOrderShipping)
|
|
255
259
|
.find({
|
|
256
|
-
where: {
|
|
260
|
+
where: {
|
|
261
|
+
domain: { id: domain.id },
|
|
262
|
+
marketplaceStore: { id: marketplaceStore.id },
|
|
263
|
+
orderNoRef: marketplaceOrder.orderNo
|
|
264
|
+
}
|
|
257
265
|
});
|
|
258
266
|
existingOrderShippings = existingOrderShippings.map(item => {
|
|
259
267
|
return Object.assign(Object.assign({}, item), { address1: orderShipping.address1, address2: orderShipping.address2, address3: orderShipping.address3, address4: orderShipping.address4, address5: orderShipping.address5, attentionTo: orderShipping.attentionTo, city: orderShipping.city, country: orderShipping.country, state: orderShipping === null || orderShipping === void 0 ? void 0 : orderShipping.state, postCode: orderShipping.postCode, phone1: orderShipping.phone1, phone2: orderShipping.phone2, email: orderShipping === null || orderShipping === void 0 ? void 0 : orderShipping.email, trackingNo: marketplaceStore.eTrax ? item.trackingNo : order === null || order === void 0 ? void 0 : order.trackingNo, shippingFee: orderShipping.shippingFee, actualShippingFee: orderShipping.actualShippingFee, marketplaceShippingFeeVoucher: orderShipping.marketplaceShippingFeeVoucher, sellerShippingFeeVoucher: orderShipping.sellerShippingFeeVoucher });
|
|
@@ -466,13 +474,17 @@ exports.syncMarketplaceOrder = {
|
|
|
466
474
|
relations: ['product']
|
|
467
475
|
});
|
|
468
476
|
let product = await tx.getRepository(product_base_1.Product).findOne({
|
|
469
|
-
where: {
|
|
477
|
+
where: {
|
|
478
|
+
domain: { id: marketplaceStore.domain.id },
|
|
479
|
+
sku: marketplaceProductVariation.sku,
|
|
480
|
+
deletedAt: (0, typeorm_1.IsNull)()
|
|
481
|
+
},
|
|
470
482
|
relations: ['productDetails']
|
|
471
483
|
});
|
|
472
484
|
let productBundle;
|
|
473
485
|
if (!product) {
|
|
474
486
|
productBundle = await tx.getRepository(product_base_1.ProductBundle).findOne({
|
|
475
|
-
where: { domain: marketplaceStore.domain, sku: marketplaceProductVariation.sku },
|
|
487
|
+
where: { domain: { id: marketplaceStore.domain.id }, sku: marketplaceProductVariation.sku },
|
|
476
488
|
relations: ['productBundleSettings', 'productBundleSettings.product']
|
|
477
489
|
});
|
|
478
490
|
}
|
|
@@ -576,7 +588,7 @@ async function updateQtyAndReserveQtyBundle(tx, variation, domain, qty, marketpl
|
|
|
576
588
|
? !reserve_qty_order_statuses_1.RESERVE_QTY_ORDER_STATUSES[existingMarketplaceOrder.marketplaceStore.platform.toUpperCase()].includes(existingMarketplaceOrder.status)
|
|
577
589
|
: false;
|
|
578
590
|
const productBundle = await tx.getRepository(product_base_1.ProductBundle).findOne({
|
|
579
|
-
where: { sku: variation.sku, domain },
|
|
591
|
+
where: { sku: variation.sku, domain: { id: domain.id } },
|
|
580
592
|
relations: ['productBundleSettings', 'productBundleSettings.product']
|
|
581
593
|
});
|
|
582
594
|
if (productBundle) {
|