@things-factory/marketplace-base 8.0.0-beta.9 → 8.0.2
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/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -7
- package/server/constants/attachment.ts +3 -0
- package/server/constants/index.ts +4 -0
- package/server/constants/order.ts +11 -0
- package/server/constants/platform.ts +7 -0
- package/server/constants/product.ts +5 -0
- package/server/constants/reserve-qty-order-statuses.ts +7 -0
- package/server/controllers/index.ts +0 -0
- package/server/entities/index.ts +45 -0
- package/server/entities/marketplace-order-item.ts +137 -0
- package/server/entities/marketplace-order-shipping-item.ts +55 -0
- package/server/entities/marketplace-order-shipping.ts +168 -0
- package/server/entities/marketplace-order.ts +141 -0
- package/server/entities/marketplace-product-attribute.ts +83 -0
- package/server/entities/marketplace-product-category.ts +53 -0
- package/server/entities/marketplace-product-variation-price.ts +63 -0
- package/server/entities/marketplace-product-variation.ts +147 -0
- package/server/entities/marketplace-product.ts +164 -0
- package/server/entities/marketplace-refund-order-item.ts +56 -0
- package/server/entities/marketplace-refund-order.ts +51 -0
- package/server/entities/marketplace-setting.ts +49 -0
- package/server/entities/store-replenishment-item.ts +48 -0
- package/server/entities/store-replenishment.ts +79 -0
- package/server/graphql/index.ts +9 -0
- package/server/graphql/resolvers/index.ts +14 -0
- package/server/graphql/resolvers/marketplace-order/auto-initialise-logistics-by-batch.ts +164 -0
- package/server/graphql/resolvers/marketplace-order/auto-update-order-ready-to-ship.ts +136 -0
- package/server/graphql/resolvers/marketplace-order/cancel-marketplace-order.ts +64 -0
- package/server/graphql/resolvers/marketplace-order/create-marketplace-order-note.ts +21 -0
- package/server/graphql/resolvers/marketplace-order/dashboard-marketplace-orders.ts +82 -0
- package/server/graphql/resolvers/marketplace-order/dashboard-marketplace-sales-average.ts +82 -0
- package/server/graphql/resolvers/marketplace-order/dashboard-marketplace-sales.ts +93 -0
- package/server/graphql/resolvers/marketplace-order/delete-marketplace-orders.ts +17 -0
- package/server/graphql/resolvers/marketplace-order/generate-marketplace-order.ts +180 -0
- package/server/graphql/resolvers/marketplace-order/get-address-list.ts +9 -0
- package/server/graphql/resolvers/marketplace-order/get-branch-list.ts +9 -0
- package/server/graphql/resolvers/marketplace-order/get-etrax-order-document.ts +49 -0
- package/server/graphql/resolvers/marketplace-order/get-logistics-param.ts +47 -0
- package/server/graphql/resolvers/marketplace-order/get-order-document.ts +149 -0
- package/server/graphql/resolvers/marketplace-order/get-store-logistics.ts +9 -0
- package/server/graphql/resolvers/marketplace-order/get-time-slot.ts +9 -0
- package/server/graphql/resolvers/marketplace-order/index.ts +75 -0
- package/server/graphql/resolvers/marketplace-order/initialise-lazada-logistics-by-batch.ts +165 -0
- package/server/graphql/resolvers/marketplace-order/initialise-logistics-by-batch.ts +41 -0
- package/server/graphql/resolvers/marketplace-order/initialise-logistics.ts +29 -0
- package/server/graphql/resolvers/marketplace-order/initialise-shopee-logistics-by-batch.ts +97 -0
- package/server/graphql/resolvers/marketplace-order/marketplace-order.ts +12 -0
- package/server/graphql/resolvers/marketplace-order/marketplace-orders-for-batch-init.ts +52 -0
- package/server/graphql/resolvers/marketplace-order/marketplace-orders-for-export.ts +63 -0
- package/server/graphql/resolvers/marketplace-order/marketplace-orders.ts +56 -0
- package/server/graphql/resolvers/marketplace-order/set-marketplace-order-delivered.ts +25 -0
- package/server/graphql/resolvers/marketplace-order/set-marketplace-order-failed-delivery.ts +25 -0
- package/server/graphql/resolvers/marketplace-order/set-own-shipping-provider-by-orders.ts +39 -0
- package/server/graphql/resolvers/marketplace-order/split-orders-by-batch.ts +245 -0
- package/server/graphql/resolvers/marketplace-order/sync-all-marketplace-order.ts +39 -0
- package/server/graphql/resolvers/marketplace-order/sync-marketplace-order.ts +940 -0
- package/server/graphql/resolvers/marketplace-order/sync-marketplace-orders-by-platform.ts +31 -0
- package/server/graphql/resolvers/marketplace-order/sync-shopee-awb.ts +49 -0
- package/server/graphql/resolvers/marketplace-order/update-marketplace-order.ts +35 -0
- package/server/graphql/resolvers/marketplace-order/update-order-ready-to-ship.ts +142 -0
- package/server/graphql/resolvers/marketplace-order-item/create-marketplace-order-item.ts +14 -0
- package/server/graphql/resolvers/marketplace-order-item/delete-marketplace-order-item.ts +10 -0
- package/server/graphql/resolvers/marketplace-order-item/delete-marketplace-order-items.ts +17 -0
- package/server/graphql/resolvers/marketplace-order-item/index.ts +22 -0
- package/server/graphql/resolvers/marketplace-order-item/marketplace-order-item.ts +14 -0
- package/server/graphql/resolvers/marketplace-order-item/marketplace-order-items.ts +15 -0
- package/server/graphql/resolvers/marketplace-order-item/update-marketplace-order-item.ts +18 -0
- package/server/graphql/resolvers/marketplace-order-item/update-multiple-marketplace-order-item.ts +44 -0
- package/server/graphql/resolvers/marketplace-order-shipping/create-marketplace-order-shipping.ts +14 -0
- package/server/graphql/resolvers/marketplace-order-shipping/delete-marketplace-order-shipping.ts +10 -0
- package/server/graphql/resolvers/marketplace-order-shipping/delete-marketplace-order-shippings.ts +17 -0
- package/server/graphql/resolvers/marketplace-order-shipping/index.ts +23 -0
- package/server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shipping.ts +25 -0
- package/server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shippings-for-batch-init.ts +88 -0
- package/server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shippings.ts +43 -0
- package/server/graphql/resolvers/marketplace-order-shipping/update-marketplace-order-shipping.ts +32 -0
- package/server/graphql/resolvers/marketplace-order-shipping/update-multiple-marketplace-order-shipping.ts +44 -0
- package/server/graphql/resolvers/marketplace-order-shipping-item/create-marketplace-order-shipping-item.ts +14 -0
- package/server/graphql/resolvers/marketplace-order-shipping-item/delete-marketplace-order-shipping-item.ts +10 -0
- package/server/graphql/resolvers/marketplace-order-shipping-item/delete-marketplace-order-shipping-items.ts +15 -0
- package/server/graphql/resolvers/marketplace-order-shipping-item/index.ts +20 -0
- package/server/graphql/resolvers/marketplace-order-shipping-item/marketplace-order-shipping-item.ts +21 -0
- package/server/graphql/resolvers/marketplace-order-shipping-item/marketplace-order-shipping-items.ts +14 -0
- package/server/graphql/resolvers/marketplace-order-shipping-item/update-marketplace-order-shipping-item.ts +18 -0
- package/server/graphql/resolvers/marketplace-order-shipping-item/update-multiple-marketplace-order-shipping-item.ts +44 -0
- package/server/graphql/resolvers/marketplace-product/create-marketplace-product.ts +35 -0
- package/server/graphql/resolvers/marketplace-product/delete-marketplace-product.ts +10 -0
- package/server/graphql/resolvers/marketplace-product/delete-marketplace-products.ts +17 -0
- package/server/graphql/resolvers/marketplace-product/index.ts +27 -0
- package/server/graphql/resolvers/marketplace-product/marketplace-product.ts +24 -0
- package/server/graphql/resolvers/marketplace-product/marketplace-products.ts +23 -0
- package/server/graphql/resolvers/marketplace-product/sync-all-marketplace-store-products.ts +225 -0
- package/server/graphql/resolvers/marketplace-product/sync-marketplace-store-products.ts +222 -0
- package/server/graphql/resolvers/marketplace-product/update-marketplace-product.ts +24 -0
- package/server/graphql/resolvers/marketplace-product/upsert-marketplace-product.ts +39 -0
- package/server/graphql/resolvers/marketplace-product-attribute/create-marketplace-product-attribute.ts +14 -0
- package/server/graphql/resolvers/marketplace-product-attribute/delete-marketplace-product-attribute.ts +10 -0
- package/server/graphql/resolvers/marketplace-product-attribute/delete-marketplace-product-attributes.ts +17 -0
- package/server/graphql/resolvers/marketplace-product-attribute/index.ts +22 -0
- package/server/graphql/resolvers/marketplace-product-attribute/marketplace-product-attribute.ts +14 -0
- package/server/graphql/resolvers/marketplace-product-attribute/marketplace-product-attributes.ts +14 -0
- package/server/graphql/resolvers/marketplace-product-attribute/update-marketplace-product-attribute.ts +18 -0
- package/server/graphql/resolvers/marketplace-product-attribute/update-multiple-marketplace-product-attribute.ts +44 -0
- package/server/graphql/resolvers/marketplace-product-category/create-marketplace-product-category.ts +14 -0
- package/server/graphql/resolvers/marketplace-product-category/delete-marketplace-product-categories.ts +17 -0
- package/server/graphql/resolvers/marketplace-product-category/delete-marketplace-product-category.ts +10 -0
- package/server/graphql/resolvers/marketplace-product-category/index.ts +22 -0
- package/server/graphql/resolvers/marketplace-product-category/marketplace-product-categories.ts +14 -0
- package/server/graphql/resolvers/marketplace-product-category/marketplace-product-category.ts +14 -0
- package/server/graphql/resolvers/marketplace-product-category/update-marketplace-product-category.ts +18 -0
- package/server/graphql/resolvers/marketplace-product-category/update-multiple-marketplace-product-category.ts +44 -0
- package/server/graphql/resolvers/marketplace-product-variation/create-marketplace-product-variation.ts +14 -0
- package/server/graphql/resolvers/marketplace-product-variation/delete-marketplace-product-variation.ts +10 -0
- package/server/graphql/resolvers/marketplace-product-variation/delete-marketplace-product-variations.ts +17 -0
- package/server/graphql/resolvers/marketplace-product-variation/index.ts +30 -0
- package/server/graphql/resolvers/marketplace-product-variation/link-warehouse-marketplace-product-variations.ts +59 -0
- package/server/graphql/resolvers/marketplace-product-variation/marketplace-product-variation.ts +14 -0
- package/server/graphql/resolvers/marketplace-product-variation/marketplace-product-variations.ts +79 -0
- package/server/graphql/resolvers/marketplace-product-variation/update-marketplace-product-variation.ts +32 -0
- package/server/graphql/resolvers/marketplace-product-variation/update-multiple-marketplace-product-variation-quantity.ts +76 -0
- package/server/graphql/resolvers/marketplace-product-variation/update-multiple-marketplace-product-variations.ts +49 -0
- package/server/graphql/resolvers/marketplace-product-variation-price/create-marketplace-product-variation-price.ts +16 -0
- package/server/graphql/resolvers/marketplace-product-variation-price/delete-marketplace-product-variation-price.ts +13 -0
- package/server/graphql/resolvers/marketplace-product-variation-price/delete-marketplace-product-variation-prices.ts +18 -0
- package/server/graphql/resolvers/marketplace-product-variation-price/index.ts +19 -0
- package/server/graphql/resolvers/marketplace-product-variation-price/marketplace-product-variation-price-query.ts +52 -0
- package/server/graphql/resolvers/marketplace-product-variation-price/update-marketplace-product-variation-price.ts +20 -0
- package/server/graphql/resolvers/marketplace-product-variation-price/update-multiple-marketplace-product-variation-price.ts +49 -0
- package/server/graphql/resolvers/marketplace-refund-order/index.ts +9 -0
- package/server/graphql/resolvers/marketplace-refund-order/sync-all-marketplace-refund-orders.ts +122 -0
- package/server/graphql/resolvers/marketplace-refund-order/sync-marketplace-refund-orders.ts +106 -0
- package/server/graphql/resolvers/marketplace-report/index.ts +7 -0
- package/server/graphql/resolvers/marketplace-report/marketplace-sales-report.ts +143 -0
- package/server/graphql/resolvers/store-replenishment/create-store-replenishment.ts +16 -0
- package/server/graphql/resolvers/store-replenishment/delete-store-replenishment.ts +13 -0
- package/server/graphql/resolvers/store-replenishment/delete-store-replenishments.ts +18 -0
- package/server/graphql/resolvers/store-replenishment/index.ts +19 -0
- package/server/graphql/resolvers/store-replenishment/store-replenishment-query.ts +52 -0
- package/server/graphql/resolvers/store-replenishment/update-multiple-store-replenishment.ts +49 -0
- package/server/graphql/resolvers/store-replenishment/update-store-replenishment.ts +20 -0
- package/server/graphql/resolvers/store-replenishment-item/create-store-replenishment-item.ts +16 -0
- package/server/graphql/resolvers/store-replenishment-item/delete-store-replenishment-item.ts +13 -0
- package/server/graphql/resolvers/store-replenishment-item/delete-store-replenishment-items.ts +18 -0
- package/server/graphql/resolvers/store-replenishment-item/index.ts +19 -0
- package/server/graphql/resolvers/store-replenishment-item/store-replenishment-item-query.ts +52 -0
- package/server/graphql/resolvers/store-replenishment-item/update-multiple-store-replenishment-item.ts +49 -0
- package/server/graphql/resolvers/store-replenishment-item/update-store-replenishment-item.ts +20 -0
- package/server/graphql/types/index.ts +13 -0
- package/server/graphql/types/marketplace-order/dashboard-order.ts +13 -0
- package/server/graphql/types/marketplace-order/full-logistics-detail.ts +10 -0
- package/server/graphql/types/marketplace-order/index.ts +69 -0
- package/server/graphql/types/marketplace-order/logistics-detail.ts +8 -0
- package/server/graphql/types/marketplace-order/logistics-info.ts +27 -0
- package/server/graphql/types/marketplace-order/logistics-init.ts +9 -0
- package/server/graphql/types/marketplace-order/logistics-time.ts +9 -0
- package/server/graphql/types/marketplace-order/logistics.ts +21 -0
- package/server/graphql/types/marketplace-order/marketplace-logistics.ts +11 -0
- package/server/graphql/types/marketplace-order/marketplace-order-export.ts +19 -0
- package/server/graphql/types/marketplace-order/marketplace-order-list.ts +8 -0
- package/server/graphql/types/marketplace-order/marketplace-order-patch.ts +14 -0
- package/server/graphql/types/marketplace-order/marketplace-order.ts +40 -0
- package/server/graphql/types/marketplace-order/new-marketplace-order.ts +22 -0
- package/server/graphql/types/marketplace-order/order-address.ts +16 -0
- package/server/graphql/types/marketplace-order/order-document.ts +13 -0
- package/server/graphql/types/marketplace-order-item/index.ts +21 -0
- package/server/graphql/types/marketplace-order-item/marketplace-order-item-list.ts +8 -0
- package/server/graphql/types/marketplace-order-item/marketplace-order-item-patch.ts +10 -0
- package/server/graphql/types/marketplace-order-item/marketplace-order-item.ts +32 -0
- package/server/graphql/types/marketplace-order-item/new-marketplace-order-item.ts +17 -0
- package/server/graphql/types/marketplace-order-shipping/index.ts +31 -0
- package/server/graphql/types/marketplace-order-shipping/marketplace-order-shipping-list.ts +8 -0
- package/server/graphql/types/marketplace-order-shipping/marketplace-order-shipping-patch.ts +45 -0
- package/server/graphql/types/marketplace-order-shipping/marketplace-order-shipping.ts +59 -0
- package/server/graphql/types/marketplace-order-shipping/new-marketplace-order-shipping.ts +44 -0
- package/server/graphql/types/marketplace-order-shipping-item/index.ts +32 -0
- package/server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item-list.ts +8 -0
- package/server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item-patch.ts +13 -0
- package/server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item.ts +16 -0
- package/server/graphql/types/marketplace-order-shipping-item/new-marketplace-order-shipping-item.ts +12 -0
- package/server/graphql/types/marketplace-product/index.ts +28 -0
- package/server/graphql/types/marketplace-product/marketplace-product-list.ts +8 -0
- package/server/graphql/types/marketplace-product/marketplace-product-patch.ts +24 -0
- package/server/graphql/types/marketplace-product/marketplace-product.ts +30 -0
- package/server/graphql/types/marketplace-product/new-marketplace-product.ts +24 -0
- package/server/graphql/types/marketplace-product-attribute/index.ts +35 -0
- package/server/graphql/types/marketplace-product-attribute/marketplace-product-attribute-list.ts +8 -0
- package/server/graphql/types/marketplace-product-attribute/marketplace-product-attribute-patch.ts +10 -0
- package/server/graphql/types/marketplace-product-attribute/marketplace-product-attribute.ts +20 -0
- package/server/graphql/types/marketplace-product-attribute/new-marketplace-product-attribute.ts +13 -0
- package/server/graphql/types/marketplace-product-category/index.ts +28 -0
- package/server/graphql/types/marketplace-product-category/marketplace-product-category-list.ts +8 -0
- package/server/graphql/types/marketplace-product-category/marketplace-product-category-patch.ts +10 -0
- package/server/graphql/types/marketplace-product-category/marketplace-product-category.ts +17 -0
- package/server/graphql/types/marketplace-product-category/new-marketplace-product-category.ts +10 -0
- package/server/graphql/types/marketplace-product-variation/index.ts +47 -0
- package/server/graphql/types/marketplace-product-variation/marketplace-product-variation-list.ts +8 -0
- package/server/graphql/types/marketplace-product-variation/marketplace-product-variation-patch.ts +32 -0
- package/server/graphql/types/marketplace-product-variation/marketplace-product-variation.ts +35 -0
- package/server/graphql/types/marketplace-product-variation/new-marketplace-product-variation.ts +26 -0
- package/server/graphql/types/marketplace-product-variation/warehouse-product.ts +9 -0
- package/server/graphql/types/marketplace-product-variation-price/index.ts +21 -0
- package/server/graphql/types/marketplace-product-variation-price/marketplace-product-variation-price-list.ts +8 -0
- package/server/graphql/types/marketplace-product-variation-price/marketplace-product-variation-price-patch.ts +17 -0
- package/server/graphql/types/marketplace-product-variation-price/marketplace-product-variation-price.ts +21 -0
- package/server/graphql/types/marketplace-product-variation-price/new-marketplace-product-variation-price.ts +14 -0
- package/server/graphql/types/marketplace-refund-order/index.ts +16 -0
- package/server/graphql/types/marketplace-refund-order/marketplace-refund-order-list.ts +8 -0
- package/server/graphql/types/marketplace-refund-order/marketplace-refund-order.ts +17 -0
- package/server/graphql/types/marketplace-report/index.ts +10 -0
- package/server/graphql/types/marketplace-report/marketplace-sales-report-list.ts +8 -0
- package/server/graphql/types/marketplace-report/marketplace-sales-report.ts +67 -0
- package/server/graphql/types/store-replenishment/index.ts +21 -0
- package/server/graphql/types/store-replenishment/new-store-replenishment.ts +8 -0
- package/server/graphql/types/store-replenishment/store-replenishment-list.ts +8 -0
- package/server/graphql/types/store-replenishment/store-replenishment-patch.ts +10 -0
- package/server/graphql/types/store-replenishment/store-replenishment.ts +24 -0
- package/server/graphql/types/store-replenishment-item/index.ts +21 -0
- package/server/graphql/types/store-replenishment-item/new-store-replenishment-item.ts +8 -0
- package/server/graphql/types/store-replenishment-item/store-replenishment-item-list.ts +8 -0
- package/server/graphql/types/store-replenishment-item/store-replenishment-item-patch.ts +10 -0
- package/server/graphql/types/store-replenishment-item/store-replenishment-item.ts +15 -0
- package/server/index.ts +6 -0
- package/server/middlewares/index.ts +3 -0
- package/server/migrations/index.ts +9 -0
- package/server/routes.ts +26 -0
- package/server/utils/index.ts +1 -0
- package/server/utils/no-generator.ts +25 -0
- package/tsconfig.json +9 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { autoInitialiseLogisticsByBatch } from './auto-initialise-logistics-by-batch'
|
|
2
|
+
import { autoUpdateOrderReadyToShip } from './auto-update-order-ready-to-ship'
|
|
3
|
+
import { cancelMarketplaceOrderResolver } from './cancel-marketplace-order'
|
|
4
|
+
import { dashboardMarketplaceOrdersResolver } from './dashboard-marketplace-orders'
|
|
5
|
+
import { dashboardMarketplaceSalesResolver } from './dashboard-marketplace-sales'
|
|
6
|
+
import { dashboardMarketplaceSalesAverageResolver } from './dashboard-marketplace-sales-average'
|
|
7
|
+
import { deleteMarketplaceOrders } from './delete-marketplace-orders'
|
|
8
|
+
import { generateMarketplaceOrderResolver } from './generate-marketplace-order'
|
|
9
|
+
import { getAddressList } from './get-address-list'
|
|
10
|
+
import { getBranchList } from './get-branch-list'
|
|
11
|
+
import { getETraxOrderDocumentFunction, getETraxOrderDocumentResolver } from './get-etrax-order-document'
|
|
12
|
+
import { getLogisticsParam } from './get-logistics-param'
|
|
13
|
+
import { getOrderDocumentResolver } from './get-order-document'
|
|
14
|
+
import { getStoreLogistics } from './get-store-logistics'
|
|
15
|
+
import { getTimeSlot } from './get-time-slot'
|
|
16
|
+
import { initialiseLazadaLogisticsByBatch } from './initialise-lazada-logistics-by-batch'
|
|
17
|
+
import { initialiseLogistics } from './initialise-logistics'
|
|
18
|
+
import { initialiseLogisticsByBatch } from './initialise-logistics-by-batch'
|
|
19
|
+
import { initialiseShopeeLogisticsByBatch } from './initialise-shopee-logistics-by-batch'
|
|
20
|
+
import { marketplaceOrderResolver } from './marketplace-order'
|
|
21
|
+
import { marketplaceOrdersResolver } from './marketplace-orders'
|
|
22
|
+
import { marketplaceOrdersForBatchInitResolver } from './marketplace-orders-for-batch-init'
|
|
23
|
+
import { marketplaceOrdersForExport } from './marketplace-orders-for-export'
|
|
24
|
+
import { setMarketplaceOrderDelivered } from './set-marketplace-order-delivered'
|
|
25
|
+
import { setMarketplaceOrderFailedDelivery } from './set-marketplace-order-failed-delivery'
|
|
26
|
+
import { setOwnShippingProviderByOrdersResolver } from './set-own-shipping-provider-by-orders'
|
|
27
|
+
import { splitOrdersByBatch } from './split-orders-by-batch'
|
|
28
|
+
import { syncAllMarketplaceOrder } from './sync-all-marketplace-order'
|
|
29
|
+
import { syncMarketplaceOrder } from './sync-marketplace-order'
|
|
30
|
+
import { updateMarketplaceOrder } from './update-marketplace-order'
|
|
31
|
+
import { updateOrderReadyToShip } from './update-order-ready-to-ship'
|
|
32
|
+
import { syncShopeeAwb } from './sync-shopee-awb'
|
|
33
|
+
import { syncMarketplaceOrdersByPlatform } from './sync-marketplace-orders-by-platform'
|
|
34
|
+
|
|
35
|
+
export const MarketplaceOrderResolver = {
|
|
36
|
+
Query: {
|
|
37
|
+
...marketplaceOrdersResolver,
|
|
38
|
+
...marketplaceOrderResolver,
|
|
39
|
+
...getOrderDocumentResolver,
|
|
40
|
+
...getETraxOrderDocumentResolver,
|
|
41
|
+
...getStoreLogistics,
|
|
42
|
+
...getLogisticsParam,
|
|
43
|
+
...getBranchList,
|
|
44
|
+
...getAddressList,
|
|
45
|
+
...getTimeSlot,
|
|
46
|
+
...marketplaceOrdersForExport,
|
|
47
|
+
...marketplaceOrdersForBatchInitResolver,
|
|
48
|
+
...dashboardMarketplaceOrdersResolver,
|
|
49
|
+
...dashboardMarketplaceSalesResolver,
|
|
50
|
+
...dashboardMarketplaceSalesAverageResolver
|
|
51
|
+
},
|
|
52
|
+
Mutation: {
|
|
53
|
+
...generateMarketplaceOrderResolver,
|
|
54
|
+
...initialiseLogistics,
|
|
55
|
+
...initialiseLogisticsByBatch,
|
|
56
|
+
...setMarketplaceOrderDelivered,
|
|
57
|
+
...setMarketplaceOrderFailedDelivery,
|
|
58
|
+
...syncMarketplaceOrder,
|
|
59
|
+
...syncAllMarketplaceOrder,
|
|
60
|
+
...updateOrderReadyToShip,
|
|
61
|
+
...deleteMarketplaceOrders,
|
|
62
|
+
...initialiseShopeeLogisticsByBatch,
|
|
63
|
+
...initialiseLazadaLogisticsByBatch,
|
|
64
|
+
...cancelMarketplaceOrderResolver,
|
|
65
|
+
...splitOrdersByBatch,
|
|
66
|
+
...updateMarketplaceOrder,
|
|
67
|
+
...setOwnShippingProviderByOrdersResolver,
|
|
68
|
+
...autoInitialiseLogisticsByBatch,
|
|
69
|
+
...autoUpdateOrderReadyToShip,
|
|
70
|
+
...syncShopeeAwb,
|
|
71
|
+
...syncMarketplaceOrdersByPlatform
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export { getETraxOrderDocumentFunction }
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { MarketplaceStore, StoreAPI } from '@things-factory/integration-marketplace'
|
|
2
|
+
|
|
3
|
+
import { MarketplaceOrder, MarketplaceOrderItem } from '../../../entities'
|
|
4
|
+
|
|
5
|
+
export const initialiseLazadaLogisticsByBatch = {
|
|
6
|
+
async initialiseLazadaLogisticsByBatch(_: any, { patches }, context: ResolverContext) {
|
|
7
|
+
try {
|
|
8
|
+
const { domain, tx } = context.state
|
|
9
|
+
await Promise.all(
|
|
10
|
+
patches.map(async patch => {
|
|
11
|
+
const foundMarketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
|
|
12
|
+
where: { id: patch.id },
|
|
13
|
+
relations: [
|
|
14
|
+
'marketplaceStore',
|
|
15
|
+
'marketplaceOrderItems',
|
|
16
|
+
'marketplaceOrderItems.marketplaceOrderShippingItems',
|
|
17
|
+
'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',
|
|
18
|
+
'marketplaceOrderItems.marketplaceProductVariation'
|
|
19
|
+
]
|
|
20
|
+
})
|
|
21
|
+
if (!foundMarketplaceOrder) throw new Error('No order is found')
|
|
22
|
+
|
|
23
|
+
const storeId = foundMarketplaceOrder.marketplaceStore.id
|
|
24
|
+
const marketplaceStore: MarketplaceStore = await StoreAPI.getMarketplaceStore(storeId)
|
|
25
|
+
const storeOrder = await StoreAPI.getStoreOrder(marketplaceStore, { orderId: patch.orderNo })
|
|
26
|
+
|
|
27
|
+
const arrItemIds = storeOrder.orderItems.reduce((newItemID, item) => {
|
|
28
|
+
return [...newItemID, ...item.name.split(',')]
|
|
29
|
+
}, [])
|
|
30
|
+
|
|
31
|
+
if (
|
|
32
|
+
storeOrder?.status == 'pending' &&
|
|
33
|
+
patch.deliveryType &&
|
|
34
|
+
arrItemIds.length > 0 &&
|
|
35
|
+
patch.shippingProvider
|
|
36
|
+
) {
|
|
37
|
+
const storeOrderItemsPBM = await StoreAPI.setStoreOrderStatusPackedByMarketplace(marketplaceStore, {
|
|
38
|
+
deliveryType: patch.deliveryType,
|
|
39
|
+
orderItemId: arrItemIds,
|
|
40
|
+
shippingProvider: patch.shippingProvider
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
////// mockup function to simulate pending order
|
|
44
|
+
// const storeOrderItemsPBM = await mock_setStoreOrderStatusPackedByMarketplace(marketplaceStore, {
|
|
45
|
+
// deliveryType: patch.deliveryType,
|
|
46
|
+
// orderItemId: arrItemIds,
|
|
47
|
+
// shippingProvider: patch.shippingProvider
|
|
48
|
+
// }, patch.orderNo)
|
|
49
|
+
|
|
50
|
+
foundMarketplaceOrder.trackingNo = storeOrderItemsPBM.trackingNumber[0] || '[]'
|
|
51
|
+
foundMarketplaceOrder.otherInfoJSON = JSON.stringify({
|
|
52
|
+
deliveryType: patch.deliveryType,
|
|
53
|
+
shippingProvider: patch.shippingProvider
|
|
54
|
+
})
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
let updatedOrder = await StoreAPI.getStoreOrder(marketplaceStore, { orderId: patch.orderNo })
|
|
58
|
+
|
|
59
|
+
await tx.getRepository(MarketplaceOrder).save({
|
|
60
|
+
...foundMarketplaceOrder,
|
|
61
|
+
status: updatedOrder.status,
|
|
62
|
+
orderUpdatedAt: storeOrder.orderUpdatedAt
|
|
63
|
+
})
|
|
64
|
+
|
|
65
|
+
for (let idx = 0; idx < foundMarketplaceOrder.marketplaceOrderItems.length; idx++) {
|
|
66
|
+
let matchItem = updatedOrder.orderItems.find(
|
|
67
|
+
i =>
|
|
68
|
+
i.variationId ==
|
|
69
|
+
foundMarketplaceOrder.marketplaceOrderItems[idx].marketplaceProductVariation.variationId
|
|
70
|
+
)
|
|
71
|
+
|
|
72
|
+
if (matchItem) {
|
|
73
|
+
let targetMarketplaceOrderItem = {
|
|
74
|
+
...foundMarketplaceOrder.marketplaceOrderItems[idx],
|
|
75
|
+
shippingProvider: matchItem.shippingProvider,
|
|
76
|
+
trackingCode: matchItem.trackingNo,
|
|
77
|
+
status: matchItem.status
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
await tx.getRepository(MarketplaceOrderItem).save(targetMarketplaceOrderItem)
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
})
|
|
84
|
+
)
|
|
85
|
+
return true
|
|
86
|
+
} catch (error) {
|
|
87
|
+
return false
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
async function mock_setStoreOrderStatusPackedByMarketplace(marketplaceStore, req, orderNo) {
|
|
93
|
+
let order = await StoreAPI.getStoreOrder(marketplaceStore, { orderId: orderNo })
|
|
94
|
+
|
|
95
|
+
// Sample Data from response
|
|
96
|
+
// order_item_id:284297913341490
|
|
97
|
+
// package_id:'FP053011087573484'
|
|
98
|
+
// shipment_provider:'LEX MY'
|
|
99
|
+
// tracking_number:'MYMPA024700347'
|
|
100
|
+
let data = {
|
|
101
|
+
order_items: order.orderItems.reduce((acc, itm) => {
|
|
102
|
+
return [
|
|
103
|
+
...acc,
|
|
104
|
+
...JSON.parse(itm.trackingNo).map(t => {
|
|
105
|
+
return {
|
|
106
|
+
order_item_id: t.order_item_id,
|
|
107
|
+
tracking_number: t.tracking_code,
|
|
108
|
+
package_id: 'RANDOMSTRING',
|
|
109
|
+
shipment_provider: req.shippingProvider
|
|
110
|
+
}
|
|
111
|
+
})
|
|
112
|
+
]
|
|
113
|
+
}, [])
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
var internal = {
|
|
117
|
+
denormalize: req => {
|
|
118
|
+
var { deliveryType: delivery_type, orderItemId: order_item_ids, shippingProvider: shipment_provider } = req
|
|
119
|
+
var output = '[' + order_item_ids.join(',') + ']'
|
|
120
|
+
|
|
121
|
+
return {
|
|
122
|
+
delivery_type,
|
|
123
|
+
order_item_ids: output,
|
|
124
|
+
shipment_provider
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
normalize: res => {
|
|
128
|
+
let results = res.order_items
|
|
129
|
+
results = results.reduce(
|
|
130
|
+
(orderItem, item) => {
|
|
131
|
+
orderItem = {
|
|
132
|
+
...orderItem,
|
|
133
|
+
items: [
|
|
134
|
+
...orderItem.items,
|
|
135
|
+
{
|
|
136
|
+
order_item_id: item.order_item_id,
|
|
137
|
+
tracking_code: item.tracking_number
|
|
138
|
+
}
|
|
139
|
+
]
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
const foundtrackingNumber = orderItem.trackingNumber.find(f => f == item.tracking_number)
|
|
143
|
+
|
|
144
|
+
if (!foundtrackingNumber) {
|
|
145
|
+
orderItem = {
|
|
146
|
+
...orderItem,
|
|
147
|
+
trackingNumber: [...orderItem.trackingNumber, item.tracking_number]
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
return orderItem
|
|
152
|
+
},
|
|
153
|
+
{ items: [], trackingNumber: [] }
|
|
154
|
+
)
|
|
155
|
+
|
|
156
|
+
return results
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
const request = internal.denormalize(req)
|
|
161
|
+
|
|
162
|
+
const respond = internal.normalize(data)
|
|
163
|
+
|
|
164
|
+
return respond
|
|
165
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { EntityManager } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { User } from '@things-factory/auth-base'
|
|
4
|
+
|
|
5
|
+
import { MarketplaceOrder, MarketplaceOrderShipping } from '../../../entities'
|
|
6
|
+
|
|
7
|
+
export const initialiseLogisticsByBatch = {
|
|
8
|
+
async initialiseLogisticsByBatch(_: any, { patches }, context: ResolverContext) {
|
|
9
|
+
const { user, tx } = context.state
|
|
10
|
+
|
|
11
|
+
await Promise.all(
|
|
12
|
+
patches.map(async patch => {
|
|
13
|
+
let marketplaceOrderShipping: MarketplaceOrderShipping = await tx.getRepository(MarketplaceOrderShipping).findOne({
|
|
14
|
+
where: { id: patch.id },
|
|
15
|
+
relations: ['marketplaceStore']
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
let marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
|
|
19
|
+
where: { orderNo: marketplaceOrderShipping.orderNoRef },
|
|
20
|
+
relations: ['marketplaceStore']
|
|
21
|
+
})
|
|
22
|
+
|
|
23
|
+
if (!marketplaceOrder) throw new Error('No order is found')
|
|
24
|
+
|
|
25
|
+
marketplaceOrderShipping.trackingNo = patch?.trackingNo
|
|
26
|
+
marketplaceOrderShipping.transporter = patch?.shippingProvider
|
|
27
|
+
marketplaceOrderShipping.ownTransporter = patch?.shippingProvider
|
|
28
|
+
marketplaceOrderShipping.ownTrackingNo = patch.ownTrackingNo || patch?.trackingNo
|
|
29
|
+
marketplaceOrderShipping.trackingUrl = patch?.trackingUrl
|
|
30
|
+
await tx.getRepository(MarketplaceOrderShipping).save(marketplaceOrderShipping)
|
|
31
|
+
|
|
32
|
+
marketplaceOrder.shippingProvider = patch?.shippingProvider
|
|
33
|
+
marketplaceOrder.ownShippingProvider = patch?.shippingProvider
|
|
34
|
+
marketplaceOrder.trackingNo = patch?.trackingNo
|
|
35
|
+
|
|
36
|
+
await tx.getRepository(MarketplaceOrder).save(marketplaceOrder)
|
|
37
|
+
})
|
|
38
|
+
)
|
|
39
|
+
return true
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { EntityManager } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { config } from '@things-factory/env'
|
|
4
|
+
import { MarketplaceStore, StoreAPI } from '@things-factory/integration-marketplace'
|
|
5
|
+
|
|
6
|
+
import { MarketplaceOrder } from '../../../entities'
|
|
7
|
+
|
|
8
|
+
const shopeeConfig = config.get('marketplaceIntegrationShopee', {})
|
|
9
|
+
const { v2 } = shopeeConfig
|
|
10
|
+
|
|
11
|
+
export const initialiseLogistics = {
|
|
12
|
+
async initialiseLogistics(_: any, { deliveryType, orderNo }, context: ResolverContext) {
|
|
13
|
+
const { tx } = context.state
|
|
14
|
+
const foundMarketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
|
|
15
|
+
where: { name: orderNo },
|
|
16
|
+
relations: ['marketplaceStore', 'marketplaceOrderItems']
|
|
17
|
+
})
|
|
18
|
+
if (!foundMarketplaceOrder) throw new Error('No order is found')
|
|
19
|
+
|
|
20
|
+
const storeId = foundMarketplaceOrder.marketplaceStore.id
|
|
21
|
+
const marketplaceStore: MarketplaceStore = await StoreAPI.getMarketplaceStore(storeId)
|
|
22
|
+
|
|
23
|
+
await StoreAPI.initLogistics(marketplaceStore, { deliveryType, orderNo })
|
|
24
|
+
if (marketplaceStore.platform == 'shopee' && v2) {
|
|
25
|
+
await StoreAPI.createShippingDocument(marketplaceStore, { orderNo })
|
|
26
|
+
}
|
|
27
|
+
return true
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { config } from '@things-factory/env'
|
|
2
|
+
import { MarketplaceStore, StoreAPI } from '@things-factory/integration-marketplace'
|
|
3
|
+
import { getRepository } from '@things-factory/shell'
|
|
4
|
+
|
|
5
|
+
import { MarketplaceOrder, MarketplaceOrderShipping } from '../../../entities'
|
|
6
|
+
|
|
7
|
+
const shopeeConfig = config.get('marketplaceIntegrationShopee', {})
|
|
8
|
+
const { v2 } = shopeeConfig
|
|
9
|
+
|
|
10
|
+
export const initialiseShopeeLogisticsByBatch = {
|
|
11
|
+
async initialiseShopeeLogisticsByBatch(_: any, { patches }, context: ResolverContext) {
|
|
12
|
+
await Promise.all(
|
|
13
|
+
patches.map(async patch => {
|
|
14
|
+
if (patch?.ownTrackingNo) {
|
|
15
|
+
patch.trackingNo = patch.ownTrackingNo
|
|
16
|
+
}
|
|
17
|
+
let foundMarketplaceOrder: MarketplaceOrder = await getRepository(MarketplaceOrder).findOne({
|
|
18
|
+
where: { id: patch.id },
|
|
19
|
+
relations: ['marketplaceStore', 'marketplaceOrderItems']
|
|
20
|
+
})
|
|
21
|
+
if (!foundMarketplaceOrder) throw new Error('No order is found')
|
|
22
|
+
|
|
23
|
+
const storeId = foundMarketplaceOrder.marketplaceStore.id
|
|
24
|
+
const marketplaceStore: MarketplaceStore = await StoreAPI.getMarketplaceStore(storeId)
|
|
25
|
+
let storeOrder = await StoreAPI.getStoreOrder(marketplaceStore, { orderNo: patch.orderNo })
|
|
26
|
+
|
|
27
|
+
if (storeOrder?.status == 'ready_to_ship' && patch.deliveryType) {
|
|
28
|
+
let deliveryType = {}
|
|
29
|
+
if (patch.deliveryType == 'pickup' && patch?.addressId && patch?.pickupTimeId) {
|
|
30
|
+
deliveryType = {
|
|
31
|
+
[patch.deliveryType]: {
|
|
32
|
+
addressId: patch.addressId,
|
|
33
|
+
pickupTimeId: patch.pickupTimeId
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
} else if (patch.deliveryType == 'dropoff') {
|
|
37
|
+
deliveryType = {
|
|
38
|
+
[patch.deliveryType]: {}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (patch.branchId)
|
|
42
|
+
deliveryType[patch.deliveryType] = { ...deliveryType[patch.deliveryType], branchId: patch.branchId }
|
|
43
|
+
if (patch.senderRealName)
|
|
44
|
+
deliveryType[patch.deliveryType] = {
|
|
45
|
+
...deliveryType[patch.deliveryType],
|
|
46
|
+
senderRealName: patch.senderRealName
|
|
47
|
+
}
|
|
48
|
+
if (patch.trackingNo)
|
|
49
|
+
deliveryType[patch.deliveryType] = { ...deliveryType[patch.deliveryType], trackingNo: patch.trackingNo }
|
|
50
|
+
} else if (patch.deliveryType == 'non_integrated') {
|
|
51
|
+
deliveryType = {
|
|
52
|
+
[patch.deliveryType]: {}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (patch.trackingNo)
|
|
56
|
+
deliveryType[patch.deliveryType] = {
|
|
57
|
+
...deliveryType[patch.deliveryType],
|
|
58
|
+
trackingNo: patch.trackingNo ? patch.trackingNo : patch.ownTrackingNo
|
|
59
|
+
}
|
|
60
|
+
} else {
|
|
61
|
+
return false
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
await StoreAPI.initLogistics(marketplaceStore, { deliveryType, orderNo: patch.orderNo })
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
storeOrder = await StoreAPI.getStoreOrder(marketplaceStore, { orderNo: patch.orderNo })
|
|
68
|
+
|
|
69
|
+
let marketplaceOrderShippings: MarketplaceOrderShipping[] = await getRepository(MarketplaceOrderShipping).find({
|
|
70
|
+
where: { orderNoRef: foundMarketplaceOrder.name }
|
|
71
|
+
})
|
|
72
|
+
for (let i = 0; i < marketplaceOrderShippings.length; i++) {
|
|
73
|
+
let marketplaceOrderShipping = marketplaceOrderShippings[i]
|
|
74
|
+
|
|
75
|
+
marketplaceOrderShipping.trackingNo = storeOrder?.trackingNo
|
|
76
|
+
marketplaceOrderShipping.transporter = patch?.shippingProvider || storeOrder?.orderShipping?.transporter
|
|
77
|
+
marketplaceOrderShipping.ownTransporter = patch?.shippingProvider || null
|
|
78
|
+
marketplaceOrderShipping.ownTrackingNo = patch.ownTrackingNo || null
|
|
79
|
+
|
|
80
|
+
await getRepository(MarketplaceOrderShipping).save(marketplaceOrderShipping)
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
foundMarketplaceOrder.shippingProvider = patch?.shippingProvider || storeOrder?.orderShipping?.transporter
|
|
84
|
+
foundMarketplaceOrder.ownShippingProvider = patch?.shippingProvider || null
|
|
85
|
+
foundMarketplaceOrder.trackingNo = storeOrder?.trackingNo
|
|
86
|
+
foundMarketplaceOrder.status = storeOrder.status
|
|
87
|
+
|
|
88
|
+
await getRepository(MarketplaceOrder).save(foundMarketplaceOrder)
|
|
89
|
+
|
|
90
|
+
// if (v2) {
|
|
91
|
+
// await StoreAPI.createShippingDocument(marketplaceStore, { orderNo: patch.orderNo })
|
|
92
|
+
// }
|
|
93
|
+
})
|
|
94
|
+
)
|
|
95
|
+
return true
|
|
96
|
+
}
|
|
97
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { getRepository } from '@things-factory/shell'
|
|
2
|
+
|
|
3
|
+
import { MarketplaceOrder } from '../../../entities'
|
|
4
|
+
|
|
5
|
+
export const marketplaceOrderResolver = {
|
|
6
|
+
async marketplaceOrder(_: any, { name }, context: ResolverContext) {
|
|
7
|
+
return await getRepository(MarketplaceOrder).findOne({
|
|
8
|
+
where: { name },
|
|
9
|
+
relations: ['domain', 'marketplaceStore', 'marketplaceOrderItems', 'creator', 'updater']
|
|
10
|
+
})
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { convertListParams, getRepository, ListParam } from '@things-factory/shell'
|
|
2
|
+
|
|
3
|
+
import { MarketplaceOrder } from '../../../entities'
|
|
4
|
+
import { getLogisticsParam } from '../marketplace-order/get-logistics-param'
|
|
5
|
+
|
|
6
|
+
export const marketplaceOrdersForBatchInitResolver = {
|
|
7
|
+
async marketplaceOrdersForBatchInit(_: any, params: ListParam, context: ResolverContext) {
|
|
8
|
+
const convertedParams = convertListParams({
|
|
9
|
+
...params,
|
|
10
|
+
filters: params.filters.filter(param => param.name != 'logisticsType')
|
|
11
|
+
})
|
|
12
|
+
let [items, total] = await getRepository(MarketplaceOrder).findAndCount({
|
|
13
|
+
...convertedParams,
|
|
14
|
+
relations: [
|
|
15
|
+
'domain',
|
|
16
|
+
'marketplaceStore',
|
|
17
|
+
'marketplaceOrderItems',
|
|
18
|
+
'marketplaceOrderItems.marketplaceOrderShippingItems',
|
|
19
|
+
'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',
|
|
20
|
+
'marketplaceOrderItems.marketplaceProductVariation',
|
|
21
|
+
'creator',
|
|
22
|
+
'updater'
|
|
23
|
+
]
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
items = await Promise.all(
|
|
27
|
+
items.map(async (itm: any) => {
|
|
28
|
+
try {
|
|
29
|
+
if (itm.marketplaceStore.platform == 'shopee' && itm.status === 'ready_to_ship') {
|
|
30
|
+
let fullLogisticsDetail = await getLogisticsParam.getLogisticsParam(
|
|
31
|
+
_,
|
|
32
|
+
{ storeId: itm.marketplaceStore.id, orderNo: itm.orderNo },
|
|
33
|
+
context
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
return { ...itm, fullLogisticsDetail }
|
|
37
|
+
} else {
|
|
38
|
+
return itm
|
|
39
|
+
}
|
|
40
|
+
} catch (e) {
|
|
41
|
+
/**
|
|
42
|
+
* To handle the case when any order was cancelled in marketplace
|
|
43
|
+
* but not synced, it will cause an error which blocks process
|
|
44
|
+
*/
|
|
45
|
+
return null
|
|
46
|
+
}
|
|
47
|
+
})
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
return { items: items.filter(itm => itm && itm != null), total }
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { In } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { getRepository } from '@things-factory/shell'
|
|
4
|
+
|
|
5
|
+
import { MarketplaceOrder, MarketplaceOrderItem, MarketplaceOrderShippingItem } from '../../../entities'
|
|
6
|
+
|
|
7
|
+
export const marketplaceOrdersForExport = {
|
|
8
|
+
async marketplaceOrdersForExport(_: any, { orderNos }, context: ResolverContext) {
|
|
9
|
+
const { domain } = context.state
|
|
10
|
+
const foundMarketplaceOrders: MarketplaceOrder[] = await getRepository(MarketplaceOrder).find({
|
|
11
|
+
where: { name: In(orderNos), domain: { id: domain.id } },
|
|
12
|
+
relations: [
|
|
13
|
+
'marketplaceStore',
|
|
14
|
+
'marketplaceOrderItems',
|
|
15
|
+
'marketplaceOrderItems.marketplaceOrderShippingItems',
|
|
16
|
+
'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',
|
|
17
|
+
'marketplaceOrderItems.marketplaceProductVariation'
|
|
18
|
+
]
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
let mergedOrder = []
|
|
22
|
+
let exportOrder = []
|
|
23
|
+
await Promise.all(
|
|
24
|
+
foundMarketplaceOrders.map((order: MarketplaceOrder) => {
|
|
25
|
+
const marketplaceOrderItems: MarketplaceOrderItem[] = order.marketplaceOrderItems
|
|
26
|
+
const orderNo = order.name
|
|
27
|
+
const shippingProvider: string = order.shippingProvider
|
|
28
|
+
const marketplaceStoreName = order.marketplaceStore.storeName
|
|
29
|
+
const marketplaceStorePlatform = order.marketplaceStore.platform
|
|
30
|
+
const status = order.status
|
|
31
|
+
const createdAt = order.orderCreatedAt
|
|
32
|
+
const updatedAt = order.orderUpdatedAt
|
|
33
|
+
|
|
34
|
+
mergedOrder = marketplaceOrderItems.map(orderItem => {
|
|
35
|
+
const marketplaceOrderShippingItems: MarketplaceOrderShippingItem[] = orderItem.marketplaceOrderShippingItems
|
|
36
|
+
|
|
37
|
+
const variationName: string = orderItem.marketplaceProductVariation.name
|
|
38
|
+
const marketplaceOrderShipping = marketplaceOrderShippingItems[0].marketplaceOrderShipping
|
|
39
|
+
const sku: string = orderItem.marketplaceProductVariation.sku
|
|
40
|
+
const itemQty: number = orderItem.qty
|
|
41
|
+
const trackingNo: string = marketplaceOrderShipping?.trackingNo
|
|
42
|
+
|
|
43
|
+
const mergedOrder: any = {
|
|
44
|
+
orderNo,
|
|
45
|
+
marketplaceStoreName,
|
|
46
|
+
marketplaceStorePlatform,
|
|
47
|
+
sku,
|
|
48
|
+
variationName,
|
|
49
|
+
trackingNo,
|
|
50
|
+
shippingProvider,
|
|
51
|
+
itemQty,
|
|
52
|
+
status,
|
|
53
|
+
createdAt,
|
|
54
|
+
updatedAt
|
|
55
|
+
}
|
|
56
|
+
exportOrder.push(mergedOrder)
|
|
57
|
+
})
|
|
58
|
+
})
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
return exportOrder
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { SelectQueryBuilder } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { buildQuery, getRepository, ListParam } from '@things-factory/shell'
|
|
4
|
+
|
|
5
|
+
import { MarketplaceOrder } from '../../../entities'
|
|
6
|
+
|
|
7
|
+
export const marketplaceOrdersResolver = {
|
|
8
|
+
async marketplaceOrders(_: any, params: ListParam, context: ResolverContext) {
|
|
9
|
+
let postCodeSorter = params.sortings.find(sort => sort.name === 'postCode')
|
|
10
|
+
const noOfItemsFilter = params.filters.find(param => param.name === 'itemCount')
|
|
11
|
+
const skuFilter = params.filters.find(param => param.name === 'sku')
|
|
12
|
+
|
|
13
|
+
params.sortings = params.sortings.filter(sort => sort.name !== 'postCode')
|
|
14
|
+
|
|
15
|
+
if (noOfItemsFilter && noOfItemsFilter.value == 1) {
|
|
16
|
+
params.filters.find(param => param.name === 'itemCount').operator = 'eq'
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
if (skuFilter) {
|
|
20
|
+
params.filters = params.filters.filter(param => param.name !== 'sku')
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
let qb: SelectQueryBuilder<MarketplaceOrder> = getRepository(MarketplaceOrder).createQueryBuilder('mo')
|
|
24
|
+
buildQuery(qb, params, context)
|
|
25
|
+
qb.leftJoinAndSelect('mo.domain', 'domain')
|
|
26
|
+
.leftJoinAndSelect('mo.marketplaceStore', 'ms')
|
|
27
|
+
.leftJoinAndSelect('mo.marketplaceOrderItems', 'mi')
|
|
28
|
+
.leftJoinAndSelect('mi.marketplaceOrderShippingItems', 'mosi')
|
|
29
|
+
.leftJoinAndSelect('mi.marketplaceProductVariation', 'mpv')
|
|
30
|
+
.leftJoinAndSelect('mpv.marketplaceProduct', 'mp')
|
|
31
|
+
.leftJoinAndSelect('mosi.marketplaceOrderShipping', 'mos')
|
|
32
|
+
.leftJoinAndSelect('mo.creator', 'creator')
|
|
33
|
+
.leftJoinAndSelect('mo.updater', 'updater')
|
|
34
|
+
|
|
35
|
+
if (postCodeSorter) {
|
|
36
|
+
qb.addOrderBy('mos.postCode', postCodeSorter?.desc ? 'DESC' : 'ASC')
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (skuFilter) {
|
|
40
|
+
qb.andWhere(
|
|
41
|
+
`
|
|
42
|
+
exists (select * from marketplace_order_items moi
|
|
43
|
+
inner join marketplace_product_variations mpv
|
|
44
|
+
on moi.marketplace_product_variation_id = mpv.id
|
|
45
|
+
where moi.marketplace_order_id = mo.id
|
|
46
|
+
and lower(mpv.sku) like :sku)
|
|
47
|
+
`,
|
|
48
|
+
{ sku: skuFilter.value.toLowerCase() }
|
|
49
|
+
)
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
let [items, total] = await qb.getManyAndCount()
|
|
53
|
+
|
|
54
|
+
return { items, total }
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { MarketplaceStore, StoreAPI } from '@things-factory/integration-marketplace'
|
|
2
|
+
|
|
3
|
+
import { MarketplaceOrder } from '../../../entities'
|
|
4
|
+
|
|
5
|
+
export const setMarketplaceOrderDelivered = {
|
|
6
|
+
async setMarketplaceOrderDelivered(_: any, { orderNo }, context: ResolverContext) {
|
|
7
|
+
const { tx } = context.state
|
|
8
|
+
const marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
|
|
9
|
+
where: { name: orderNo },
|
|
10
|
+
relations: ['marketplaceStore', 'marketplaceOrderItems']
|
|
11
|
+
})
|
|
12
|
+
if (!marketplaceOrder) throw new Error('No order is found')
|
|
13
|
+
|
|
14
|
+
const storeId = marketplaceOrder.marketplaceStore.id
|
|
15
|
+
const marketplaceStore: MarketplaceStore = await StoreAPI.getMarketplaceStore(storeId)
|
|
16
|
+
|
|
17
|
+
const storeOrder = await StoreAPI.getStoreOrder(marketplaceStore, { orderId: marketplaceOrder.orderNo })
|
|
18
|
+
const arrItemIds: string[] = storeOrder.orderItems.reduce((newItemID, item) => {
|
|
19
|
+
return [...newItemID, ...item.name.split(',')]
|
|
20
|
+
}, [])
|
|
21
|
+
|
|
22
|
+
await StoreAPI.setStoreOrderStatusDelivered(marketplaceStore, { orderItemId: arrItemIds })
|
|
23
|
+
return true
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { MarketplaceStore, StoreAPI } from '@things-factory/integration-marketplace'
|
|
2
|
+
|
|
3
|
+
import { MarketplaceOrder } from '../../../entities'
|
|
4
|
+
|
|
5
|
+
export const setMarketplaceOrderFailedDelivery = {
|
|
6
|
+
async setMarketplaceOrderFailedDelivery(_: any, { orderNo }, context: ResolverContext) {
|
|
7
|
+
const { tx } = context.state
|
|
8
|
+
const marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
|
|
9
|
+
where: { name: orderNo },
|
|
10
|
+
relations: ['marketplaceStore', 'marketplaceOrderItems']
|
|
11
|
+
})
|
|
12
|
+
if (!marketplaceOrder) throw new Error('No order is found')
|
|
13
|
+
|
|
14
|
+
const storeId = marketplaceOrder.marketplaceStore.id
|
|
15
|
+
const marketplaceStore: MarketplaceStore = await StoreAPI.getMarketplaceStore(storeId)
|
|
16
|
+
|
|
17
|
+
const storeOrder = await StoreAPI.getStoreOrder(marketplaceStore, { orderId: marketplaceOrder.orderNo })
|
|
18
|
+
const arrItemIds: string[] = storeOrder.orderItems.reduce((newItemID, item) => {
|
|
19
|
+
return [...newItemID, ...item.name.split(',')]
|
|
20
|
+
}, [])
|
|
21
|
+
|
|
22
|
+
await StoreAPI.setStoreOrderStatusFailedDelivery(marketplaceStore, { orderItemId: arrItemIds })
|
|
23
|
+
return true
|
|
24
|
+
}
|
|
25
|
+
}
|