@things-factory/marketplace-base 4.1.2 → 4.1.8
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/entities/index.js +13 -10
- package/dist-server/entities/index.js.map +1 -1
- package/dist-server/entities/marketplace-order-item.js +3 -3
- package/dist-server/entities/marketplace-order-item.js.map +1 -1
- package/dist-server/entities/marketplace-order-shipping-item.js +77 -0
- package/dist-server/entities/marketplace-order-shipping-item.js.map +1 -0
- package/dist-server/entities/marketplace-order-shipping.js +6 -2
- package/dist-server/entities/marketplace-order-shipping.js.map +1 -1
- package/dist-server/graphql/resolvers/index.js +1 -0
- package/dist-server/graphql/resolvers/index.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-order/auto-initialise-logistics-by-batch.js +9 -6
- 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 +10 -5
- 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 +58 -3
- package/dist-server/graphql/resolvers/marketplace-order/generate-marketplace-order.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-order/get-etrax-order-document.js +3 -2
- package/dist-server/graphql/resolvers/marketplace-order/get-etrax-order-document.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-order/get-order-document.js +14 -6
- package/dist-server/graphql/resolvers/marketplace-order/get-order-document.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-order/initialise-lazada-logistics-by-batch.js +2 -1
- package/dist-server/graphql/resolvers/marketplace-order/initialise-lazada-logistics-by-batch.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-order/initialise-logistics-by-batch.js +2 -0
- package/dist-server/graphql/resolvers/marketplace-order/initialise-logistics-by-batch.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-order/marketplace-orders-for-batch-init.js +3 -2
- package/dist-server/graphql/resolvers/marketplace-order/marketplace-orders-for-batch-init.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-order/marketplace-orders-for-export.js +4 -2
- package/dist-server/graphql/resolvers/marketplace-order/marketplace-orders-for-export.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-order/marketplace-orders.js +2 -1
- package/dist-server/graphql/resolvers/marketplace-order/marketplace-orders.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-order/split-orders-by-batch.js +72 -243
- package/dist-server/graphql/resolvers/marketplace-order/split-orders-by-batch.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-order/sync-all-marketplace-order.js +20 -12
- package/dist-server/graphql/resolvers/marketplace-order/sync-all-marketplace-order.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-order/sync-marketplace-order.js +62 -5
- package/dist-server/graphql/resolvers/marketplace-order/sync-marketplace-order.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-order/update-order-ready-to-ship.js +65 -37
- package/dist-server/graphql/resolvers/marketplace-order/update-order-ready-to-ship.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shipping.js +7 -4
- package/dist-server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shipping.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shippings.js +2 -1
- package/dist-server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shippings.js.map +1 -1
- package/dist-server/graphql/resolvers/marketplace-order-shipping-item/create-marketplace-order-shipping-item.js +11 -0
- package/dist-server/graphql/resolvers/marketplace-order-shipping-item/create-marketplace-order-shipping-item.js.map +1 -0
- package/dist-server/graphql/resolvers/marketplace-order-shipping-item/delete-marketplace-order-shipping-item.js +12 -0
- package/dist-server/graphql/resolvers/marketplace-order-shipping-item/delete-marketplace-order-shipping-item.js.map +1 -0
- package/dist-server/graphql/resolvers/marketplace-order-shipping-item/delete-marketplace-order-shipping-items.js +15 -0
- package/dist-server/graphql/resolvers/marketplace-order-shipping-item/delete-marketplace-order-shipping-items.js.map +1 -0
- package/dist-server/graphql/resolvers/marketplace-order-shipping-item/index.js +14 -0
- package/dist-server/graphql/resolvers/marketplace-order-shipping-item/index.js.map +1 -0
- package/dist-server/graphql/resolvers/marketplace-order-shipping-item/marketplace-order-shipping-item.js +22 -0
- package/dist-server/graphql/resolvers/marketplace-order-shipping-item/marketplace-order-shipping-item.js.map +1 -0
- package/dist-server/graphql/resolvers/marketplace-order-shipping-item/marketplace-order-shipping-items.js +14 -0
- package/dist-server/graphql/resolvers/marketplace-order-shipping-item/marketplace-order-shipping-items.js.map +1 -0
- package/dist-server/graphql/resolvers/marketplace-order-shipping-item/update-marketplace-order-shipping-item.js +15 -0
- package/dist-server/graphql/resolvers/marketplace-order-shipping-item/update-marketplace-order-shipping-item.js.map +1 -0
- package/dist-server/graphql/resolvers/marketplace-order-shipping-item/update-multiple-marketplace-order-shipping-item.js +30 -0
- package/dist-server/graphql/resolvers/marketplace-order-shipping-item/update-multiple-marketplace-order-shipping-item.js.map +1 -0
- package/dist-server/graphql/resolvers/marketplace-report/marketplace-sales-report.js +2 -1
- package/dist-server/graphql/resolvers/marketplace-report/marketplace-sales-report.js.map +1 -1
- package/dist-server/graphql/types/index.js +1 -0
- package/dist-server/graphql/types/index.js.map +1 -1
- package/dist-server/graphql/types/marketplace-order/index.js +8 -7
- package/dist-server/graphql/types/marketplace-order/index.js.map +1 -1
- package/dist-server/graphql/types/marketplace-order/logistics-info.js +1 -0
- package/dist-server/graphql/types/marketplace-order/logistics-info.js.map +1 -1
- package/dist-server/graphql/types/marketplace-order-item/marketplace-order-item.js +1 -1
- package/dist-server/graphql/types/marketplace-order-item/new-marketplace-order-item.js +0 -1
- package/dist-server/graphql/types/marketplace-order-item/new-marketplace-order-item.js.map +1 -1
- package/dist-server/graphql/types/marketplace-order-shipping/marketplace-order-shipping-patch.js +0 -1
- package/dist-server/graphql/types/marketplace-order-shipping/marketplace-order-shipping-patch.js.map +1 -1
- package/dist-server/graphql/types/marketplace-order-shipping/marketplace-order-shipping.js +2 -1
- package/dist-server/graphql/types/marketplace-order-shipping/marketplace-order-shipping.js.map +1 -1
- package/dist-server/graphql/types/marketplace-order-shipping/new-marketplace-order-shipping.js +0 -1
- package/dist-server/graphql/types/marketplace-order-shipping/new-marketplace-order-shipping.js.map +1 -1
- package/dist-server/graphql/types/marketplace-order-shipping-item/index.js +47 -0
- package/dist-server/graphql/types/marketplace-order-shipping-item/index.js.map +1 -0
- package/dist-server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item-list.js +14 -0
- package/dist-server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item-list.js.map +1 -0
- package/dist-server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item-patch.js +19 -0
- package/dist-server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item-patch.js.map +1 -0
- package/dist-server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item.js +22 -0
- package/dist-server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item.js.map +1 -0
- package/dist-server/graphql/types/marketplace-order-shipping-item/new-marketplace-order-shipping-item.js +18 -0
- package/dist-server/graphql/types/marketplace-order-shipping-item/new-marketplace-order-shipping-item.js.map +1 -0
- package/package.json +6 -6
- package/server/entities/index.ts +15 -12
- package/server/entities/marketplace-order-item.ts +17 -5
- package/server/entities/marketplace-order-shipping-item.ts +55 -0
- package/server/entities/marketplace-order-shipping.ts +9 -3
- package/server/graphql/resolvers/index.ts +1 -0
- package/server/graphql/resolvers/marketplace-order/auto-initialise-logistics-by-batch.ts +9 -6
- package/server/graphql/resolvers/marketplace-order/auto-update-order-ready-to-ship.ts +16 -6
- package/server/graphql/resolvers/marketplace-order/generate-marketplace-order.ts +65 -3
- package/server/graphql/resolvers/marketplace-order/get-etrax-order-document.ts +5 -2
- package/server/graphql/resolvers/marketplace-order/get-order-document.ts +22 -7
- package/server/graphql/resolvers/marketplace-order/initialise-lazada-logistics-by-batch.ts +4 -2
- package/server/graphql/resolvers/marketplace-order/initialise-logistics-by-batch.ts +2 -0
- package/server/graphql/resolvers/marketplace-order/marketplace-orders-for-batch-init.ts +5 -2
- package/server/graphql/resolvers/marketplace-order/marketplace-orders-for-export.ts +7 -3
- package/server/graphql/resolvers/marketplace-order/marketplace-orders.ts +2 -1
- package/server/graphql/resolvers/marketplace-order/split-orders-by-batch.ts +84 -280
- package/server/graphql/resolvers/marketplace-order/sync-all-marketplace-order.ts +25 -13
- package/server/graphql/resolvers/marketplace-order/sync-marketplace-order.ts +67 -6
- package/server/graphql/resolvers/marketplace-order/update-order-ready-to-ship.ts +80 -42
- package/server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shipping.ts +9 -4
- package/server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shippings.ts +2 -1
- 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 +13 -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 +16 -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-report/marketplace-sales-report.ts +2 -1
- package/server/graphql/types/index.ts +1 -0
- package/server/graphql/types/marketplace-order/index.ts +8 -7
- package/server/graphql/types/marketplace-order/logistics-info.ts +1 -0
- package/server/graphql/types/marketplace-order-item/marketplace-order-item.ts +1 -1
- package/server/graphql/types/marketplace-order-item/new-marketplace-order-item.ts +0 -1
- package/server/graphql/types/marketplace-order-shipping/marketplace-order-shipping-patch.ts +0 -1
- package/server/graphql/types/marketplace-order-shipping/marketplace-order-shipping.ts +2 -1
- package/server/graphql/types/marketplace-order-shipping/new-marketplace-order-shipping.ts +0 -1
- 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
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { EntityManager } from 'typeorm'
|
|
1
|
+
import { EntityManager, IsNull } from 'typeorm'
|
|
2
|
+
import uuid from 'uuid/v4'
|
|
2
3
|
|
|
3
4
|
import { User } from '@things-factory/auth-base'
|
|
4
5
|
import { Bizplace, getCustomerBizplaces } from '@things-factory/biz-base'
|
|
@@ -11,6 +12,7 @@ import {
|
|
|
11
12
|
MarketplaceOrder,
|
|
12
13
|
MarketplaceOrderItem,
|
|
13
14
|
MarketplaceOrderShipping,
|
|
15
|
+
MarketplaceOrderShippingItem,
|
|
14
16
|
MarketplaceProductVariation
|
|
15
17
|
} from '../../../entities'
|
|
16
18
|
import { NoGenerator } from '../../../utils'
|
|
@@ -100,8 +102,9 @@ export const syncMarketplaceOrder = {
|
|
|
100
102
|
'domain',
|
|
101
103
|
'fulfillmentCenter',
|
|
102
104
|
'marketplaceOrderItems',
|
|
103
|
-
'marketplaceOrderItems.
|
|
104
|
-
'marketplaceOrderItems.marketplaceOrderShipping'
|
|
105
|
+
'marketplaceOrderItems.marketplaceOrderShippingItems',
|
|
106
|
+
'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',
|
|
107
|
+
'marketplaceOrderItems.marketplaceProductVariation'
|
|
105
108
|
]
|
|
106
109
|
})
|
|
107
110
|
|
|
@@ -317,7 +320,9 @@ export const syncMarketplaceOrder = {
|
|
|
317
320
|
} else {
|
|
318
321
|
if (existingMarketplaceOrder?.marketplaceOrderItems) {
|
|
319
322
|
let existingOrderShipping: MarketplaceOrderShipping
|
|
320
|
-
existingOrderShipping =
|
|
323
|
+
existingOrderShipping =
|
|
324
|
+
existingMarketplaceOrder.marketplaceOrderItems[0].marketplaceOrderShippingItems[0]
|
|
325
|
+
.marketplaceOrderShipping
|
|
321
326
|
|
|
322
327
|
marketplaceOrderShipping = {
|
|
323
328
|
...existingOrderShipping,
|
|
@@ -346,11 +351,13 @@ export const syncMarketplaceOrder = {
|
|
|
346
351
|
let foundVariations = []
|
|
347
352
|
for (var j = 0; j < order.orderItems.length; j++) {
|
|
348
353
|
var item = order.orderItems[j]
|
|
349
|
-
let
|
|
354
|
+
let foundVariationsQuery = await tx.getRepository(MarketplaceProductVariation).find({
|
|
350
355
|
where: { domain: marketplaceStore.domain, variationId: item.variationId },
|
|
351
356
|
relations: ['domain', 'marketplaceProduct', 'marketplaceProduct.marketplaceStore']
|
|
352
357
|
})
|
|
353
358
|
|
|
359
|
+
let foundVariation = foundVariationsQuery.filter(fv => fv.marketplaceProduct.marketplaceStore.id == marketplaceStore.id)[0]
|
|
360
|
+
|
|
354
361
|
if (foundVariation) {
|
|
355
362
|
foundVariations.push(foundVariation)
|
|
356
363
|
}
|
|
@@ -378,7 +385,6 @@ export const syncMarketplaceOrder = {
|
|
|
378
385
|
marketplaceOrderItem.marketplaceProductVariation = foundVariation
|
|
379
386
|
marketplaceOrderItem.trackingCode = order.trackingNo
|
|
380
387
|
marketplaceOrderItem.marketplaceOrder = marketplaceOrder
|
|
381
|
-
marketplaceOrderItem.marketplaceOrderShipping = savedMarketplaceOrderShipping
|
|
382
388
|
marketplaceOrderItem.originalPrice = item.originalPrice
|
|
383
389
|
marketplaceOrderItem.discount = item.discount
|
|
384
390
|
marketplaceOrderItem.promotionId = item.promotionId
|
|
@@ -676,6 +682,61 @@ export const syncMarketplaceOrder = {
|
|
|
676
682
|
await tx.getRepository(MarketplaceOrder).save(marketplaceOrder)
|
|
677
683
|
await tx.getRepository(MarketplaceOrderItem).save(marketplaceOrderItems)
|
|
678
684
|
|
|
685
|
+
for (let i = 0; i < marketplaceOrderItems.length; i++) {
|
|
686
|
+
const marketplaceOrderItem: MarketplaceOrderItem = marketplaceOrderItems[i]
|
|
687
|
+
const marketplaceProductVariation: MarketplaceProductVariation =
|
|
688
|
+
marketplaceOrderItem.marketplaceProductVariation
|
|
689
|
+
let existingMarketplaceOrderShippingItems: MarketplaceOrderShippingItem[] = await tx
|
|
690
|
+
.getRepository(MarketplaceOrderShippingItem)
|
|
691
|
+
.find({
|
|
692
|
+
where: { domain: marketplaceStore.domain, marketplaceOrderItem }
|
|
693
|
+
})
|
|
694
|
+
|
|
695
|
+
let product: Product = await tx.getRepository(Product).findOne({
|
|
696
|
+
where: { domain: marketplaceStore.domain, sku: marketplaceProductVariation.sku, deletedAt: IsNull() },
|
|
697
|
+
relations: ['productDetails']
|
|
698
|
+
})
|
|
699
|
+
|
|
700
|
+
let productBundle: ProductBundle
|
|
701
|
+
if (!product) {
|
|
702
|
+
productBundle = await tx.getRepository(ProductBundle).findOne({
|
|
703
|
+
where: { domain: marketplaceStore.domain, sku: marketplaceProductVariation.sku },
|
|
704
|
+
relations: ['productBundleSettings', 'productBundleSettings.product']
|
|
705
|
+
})
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
if (existingMarketplaceOrderShippingItems && existingMarketplaceOrderShippingItems?.length) {
|
|
709
|
+
} else {
|
|
710
|
+
if (productBundle) {
|
|
711
|
+
const productBundleSettings: ProductBundleSetting[] = productBundle.productBundleSettings
|
|
712
|
+
let marketplaceOrderShippingItems: MarketplaceOrderShippingItem[] = []
|
|
713
|
+
productBundleSettings.map(productBundleSetting => {
|
|
714
|
+
let marketplaceOrderShippingItem: MarketplaceOrderShippingItem = new MarketplaceOrderShippingItem()
|
|
715
|
+
marketplaceOrderShippingItem.name = uuid()
|
|
716
|
+
marketplaceOrderShippingItem.qty = marketplaceOrderItem.qty * productBundleSetting.bundleQty
|
|
717
|
+
marketplaceOrderShippingItem.domain = marketplaceStore.domain
|
|
718
|
+
marketplaceOrderShippingItem.marketplaceOrderItem = marketplaceOrderItem
|
|
719
|
+
marketplaceOrderShippingItem.marketplaceOrderShipping = savedMarketplaceOrderShipping
|
|
720
|
+
marketplaceOrderShippingItem.product = productBundleSetting.product
|
|
721
|
+
|
|
722
|
+
marketplaceOrderShippingItems.push(marketplaceOrderShippingItem)
|
|
723
|
+
})
|
|
724
|
+
|
|
725
|
+
await tx.getRepository(MarketplaceOrderShippingItem).save(marketplaceOrderShippingItems)
|
|
726
|
+
} else {
|
|
727
|
+
let marketplaceOrderShippingItem: MarketplaceOrderShippingItem = new MarketplaceOrderShippingItem()
|
|
728
|
+
marketplaceOrderShippingItem.name = uuid()
|
|
729
|
+
marketplaceOrderShippingItem.qty = marketplaceOrderItem.qty
|
|
730
|
+
marketplaceOrderShippingItem.domain = marketplaceStore.domain
|
|
731
|
+
marketplaceOrderShippingItem.marketplaceOrderItem = marketplaceOrderItem
|
|
732
|
+
marketplaceOrderShippingItem.marketplaceOrderShipping = savedMarketplaceOrderShipping
|
|
733
|
+
marketplaceOrderShippingItem.product = product ? product : null
|
|
734
|
+
|
|
735
|
+
await tx.getRepository(MarketplaceOrderShippingItem).save(marketplaceOrderShippingItem)
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
}
|
|
739
|
+
|
|
679
740
|
if (i == marketplaceOrders.length - 1) {
|
|
680
741
|
lastOrderId = order.name
|
|
681
742
|
}
|
|
@@ -1,18 +1,28 @@
|
|
|
1
1
|
import { EntityManager } from 'typeorm'
|
|
2
2
|
|
|
3
3
|
import { MarketplaceStore, StoreAPI } from '@things-factory/integration-marketplace'
|
|
4
|
+
import { Domain } from '@things-factory/shell'
|
|
4
5
|
|
|
5
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
MarketplaceOrder,
|
|
8
|
+
MarketplaceOrderItem,
|
|
9
|
+
MarketplaceOrderShipping,
|
|
10
|
+
MarketplaceOrderShippingItem
|
|
11
|
+
} from '../../../entities'
|
|
6
12
|
|
|
7
13
|
export const updateOrderReadyToShip = {
|
|
8
|
-
async updateOrderReadyToShip(_: any, { shippingProvider, deliveryType, orderNo }, context: any) {
|
|
14
|
+
async updateOrderReadyToShip(_: any, { shippingProvider, deliveryType, orderNo, orderId, domainId }, context: any) {
|
|
9
15
|
const { tx }: { tx: EntityManager } = context.state
|
|
16
|
+
|
|
17
|
+
const domain: Domain = await tx.getRepository(Domain).findOne(domainId)
|
|
18
|
+
|
|
10
19
|
let foundMarketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
|
|
11
|
-
where: { name: orderNo },
|
|
20
|
+
where: { name: orderId, orderNo, domain },
|
|
12
21
|
relations: [
|
|
13
22
|
'marketplaceStore',
|
|
14
23
|
'marketplaceOrderItems',
|
|
15
|
-
'marketplaceOrderItems.
|
|
24
|
+
'marketplaceOrderItems.marketplaceOrderShippingItems',
|
|
25
|
+
'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',
|
|
16
26
|
'marketplaceOrderItems.marketplaceProductVariation'
|
|
17
27
|
]
|
|
18
28
|
})
|
|
@@ -25,54 +35,82 @@ export const updateOrderReadyToShip = {
|
|
|
25
35
|
let marketplaceOrderShippings: MarketplaceOrderShipping[] = []
|
|
26
36
|
|
|
27
37
|
foundMarketplaceOrder.marketplaceOrderItems.map(item => {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
38
|
+
const marketplaceOrderShippingItems: MarketplaceOrderShippingItem[] = item.marketplaceOrderShippingItems
|
|
39
|
+
marketplaceOrderShippingItems.map(itm => {
|
|
40
|
+
if (itm?.marketplaceOrderShipping) {
|
|
41
|
+
marketplaceOrderShippings.push(itm.marketplaceOrderShipping)
|
|
42
|
+
}
|
|
43
|
+
})
|
|
31
44
|
})
|
|
32
45
|
|
|
33
46
|
const uniqueMarketplaceOrderShippings = Array.from(new Set(marketplaceOrderShippings.map(a => a.id))).map(id => {
|
|
34
47
|
return marketplaceOrderShippings.find(a => a.id === id)
|
|
35
48
|
})
|
|
36
49
|
|
|
37
|
-
if (
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
orderItemIds =
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
orderItemIds
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
50
|
+
if (marketplaceStore.platform === 'lazada') {
|
|
51
|
+
if (
|
|
52
|
+
uniqueMarketplaceOrderShippings.some(marketplaceOrderShipping => marketplaceOrderShipping.trackingNo != null)
|
|
53
|
+
) {
|
|
54
|
+
uniqueMarketplaceOrderShippings.map((orderShipping: MarketplaceOrderShipping) => {
|
|
55
|
+
if (orderShipping?.trackingNo) {
|
|
56
|
+
const trackingNoInfo: any[] = JSON.parse(orderShipping.trackingNo)
|
|
57
|
+
const orderTrackingNos: string[] = trackingNoInfo.map(item => item.tracking_code)
|
|
58
|
+
const uniqueTrackingNos = [...new Set(orderTrackingNos)]
|
|
59
|
+
|
|
60
|
+
let orderItemIds: string[] = []
|
|
61
|
+
|
|
62
|
+
if (uniqueTrackingNos?.length == 1) {
|
|
63
|
+
orderItemIds = trackingNoInfo.map(item => item.order_item_id)
|
|
64
|
+
trackingInfoArr.push({ orderItemIds, trackingNo: uniqueTrackingNos[0] })
|
|
65
|
+
} else {
|
|
66
|
+
uniqueTrackingNos.map(trackingNo => {
|
|
67
|
+
orderItemIds = trackingNoInfo
|
|
68
|
+
.filter(info => info.tracking_code === trackingNo)
|
|
69
|
+
.map(filteredInfo => filteredInfo.order_item_id)
|
|
70
|
+
|
|
71
|
+
trackingInfoArr.push({ orderItemIds, trackingNo })
|
|
72
|
+
})
|
|
73
|
+
}
|
|
57
74
|
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
for (var i = 0; i < trackingInfoArr?.length; i++) {
|
|
63
|
-
const trackingInfo = trackingInfoArr[i]
|
|
64
|
-
const trackingNo = trackingInfo.trackingNo
|
|
65
|
-
const orderItemId = trackingInfo.orderItemIds
|
|
75
|
+
})
|
|
76
|
+
}
|
|
66
77
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
orderItemId
|
|
71
|
-
|
|
72
|
-
|
|
78
|
+
for (var i = 0; i < trackingInfoArr?.length; i++) {
|
|
79
|
+
const trackingInfo = trackingInfoArr[i]
|
|
80
|
+
const trackingNo = trackingInfo.trackingNo
|
|
81
|
+
const orderItemId = trackingInfo.orderItemIds
|
|
82
|
+
|
|
83
|
+
const res = await StoreAPI.setStoreOrderStatusReadyToShip(marketplaceStore, {
|
|
84
|
+
shipmentProvider: shippingProvider,
|
|
85
|
+
deliveryType,
|
|
86
|
+
orderItemId,
|
|
87
|
+
trackingNo
|
|
88
|
+
})
|
|
89
|
+
}
|
|
90
|
+
} else {
|
|
91
|
+
let mos = uniqueMarketplaceOrderShippings.filter(mos => mos.trackingNo != null || mos.ownTrackingNo != null)
|
|
92
|
+
if (mos.length > 0) {
|
|
93
|
+
let trackingNo = mos[0].ownTrackingNo
|
|
94
|
+
const note = mos[0].trackingUrl || trackingNo
|
|
95
|
+
|
|
96
|
+
const res = await StoreAPI.setStoreOrderStatusReadyToShip(marketplaceStore, {
|
|
97
|
+
orderId,
|
|
98
|
+
trackingUrl: mos[0].trackingUrl || '',
|
|
99
|
+
trackingNo,
|
|
100
|
+
order: foundMarketplaceOrder,
|
|
101
|
+
note
|
|
102
|
+
})
|
|
103
|
+
|
|
104
|
+
if (marketplaceStore.platform === 'woocommerce') {
|
|
105
|
+
await StoreAPI.updateOrderStatus(marketplaceStore, {
|
|
106
|
+
orderId,
|
|
107
|
+
status: 'READY_TO_SHIP'
|
|
108
|
+
})
|
|
109
|
+
}
|
|
110
|
+
}
|
|
73
111
|
}
|
|
74
112
|
|
|
75
|
-
const updatedOrder = await StoreAPI.getStoreOrder(marketplaceStore, { orderId
|
|
113
|
+
const updatedOrder = await StoreAPI.getStoreOrder(marketplaceStore, { orderId })
|
|
76
114
|
|
|
77
115
|
foundMarketplaceOrder.status = updatedOrder.status
|
|
78
116
|
foundMarketplaceOrder.orderUpdatedAt = updatedOrder.orderUpdatedAt
|
|
@@ -1,20 +1,25 @@
|
|
|
1
1
|
import { getRepository } from 'typeorm'
|
|
2
|
+
|
|
2
3
|
import { MarketplaceOrderShipping } from '../../../entities'
|
|
3
4
|
|
|
4
5
|
export const marketplaceOrderShippingResolver = {
|
|
5
6
|
async marketplaceOrderShipping(_: any, { name }, context: any) {
|
|
6
7
|
const repository = getRepository(MarketplaceOrderShipping)
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
const items: MarketplaceOrderShipping = await repository.findOne({
|
|
9
10
|
where: { domain: context.state.domain, name },
|
|
10
11
|
relations: [
|
|
11
12
|
'domain',
|
|
12
13
|
'creator',
|
|
13
14
|
'updater',
|
|
14
|
-
'
|
|
15
|
-
'
|
|
16
|
-
'
|
|
15
|
+
'marketplaceOrderShippingItems',
|
|
16
|
+
'marketplaceOrderShippingItems.product',
|
|
17
|
+
'marketplaceOrderShippingItems.marketplaceOrderItem',
|
|
18
|
+
'marketplaceOrderShippingItems.marketplaceOrderItem.marketplaceProductVariation',
|
|
19
|
+
'marketplaceOrderShippingItems.marketplaceOrderItem.marketplaceProductVariation.marketplaceProduct'
|
|
17
20
|
]
|
|
18
21
|
})
|
|
22
|
+
|
|
23
|
+
return items
|
|
19
24
|
}
|
|
20
25
|
}
|
|
@@ -12,7 +12,8 @@ export const marketplaceOrderShippingsResolver = {
|
|
|
12
12
|
|
|
13
13
|
const qb: SelectQueryBuilder<MarketplaceOrderShipping> = getRepository(MarketplaceOrderShipping)
|
|
14
14
|
.createQueryBuilder('MOS')
|
|
15
|
-
.innerJoinAndSelect('MOS.
|
|
15
|
+
.innerJoinAndSelect('MOS.marketplaceOrderShippingItems', 'MOSI')
|
|
16
|
+
.innerJoinAndSelect('MOSI.marketplaceOrderItem', 'MOI')
|
|
16
17
|
.innerJoinAndSelect('MOI.marketplaceOrder', 'MO')
|
|
17
18
|
.innerJoinAndSelect('MOI.marketplaceProductVariation', 'MPV')
|
|
18
19
|
.innerJoinAndSelect('MOS.marketplaceStore', 'MS')
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { getRepository } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { MarketplaceOrderShippingItem } from '../../../entities'
|
|
4
|
+
|
|
5
|
+
export const createMarketplaceOrderShippingItem = {
|
|
6
|
+
async createMarketplaceOrderShippingItem(_: any, { marketplaceOrderShippingItem }, context: any) {
|
|
7
|
+
return await getRepository(MarketplaceOrderShippingItem).save({
|
|
8
|
+
...marketplaceOrderShippingItem,
|
|
9
|
+
domain: context.state.domain,
|
|
10
|
+
creator: context.state.user,
|
|
11
|
+
updater: context.state.user
|
|
12
|
+
})
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { getRepository } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { MarketplaceOrderShippingItem } from '../../../entities'
|
|
4
|
+
|
|
5
|
+
export const deleteMarketplaceOrderShippingItem = {
|
|
6
|
+
async deleteMarketplaceOrderShippingItem(_: any, { name }, context: any) {
|
|
7
|
+
await getRepository(MarketplaceOrderShippingItem).delete({ domain: context.state.domain, name })
|
|
8
|
+
return true
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { getRepository, In } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { MarketplaceOrderShippingItem } from '../../../entities'
|
|
4
|
+
|
|
5
|
+
export const deleteMarketplaceOrderShippingItems = {
|
|
6
|
+
async deleteMarketplaceOrderShippingItems(_: any, { names }, context: any) {
|
|
7
|
+
await getRepository(MarketplaceOrderShippingItem).delete({
|
|
8
|
+
domain: context.state.domain,
|
|
9
|
+
name: In(names)
|
|
10
|
+
})
|
|
11
|
+
return true
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createMarketplaceOrderShippingItem } from './create-marketplace-order-shipping-item'
|
|
2
|
+
import { deleteMarketplaceOrderShippingItem } from './delete-marketplace-order-shipping-item'
|
|
3
|
+
import { deleteMarketplaceOrderShippingItems } from './delete-marketplace-order-shipping-items'
|
|
4
|
+
import { marketplaceOrderShippingItemResolver } from './marketplace-order-shipping-item'
|
|
5
|
+
import { updateMarketplaceOrderShippingItem } from './update-marketplace-order-shipping-item'
|
|
6
|
+
import { updateMultipleMarketplaceOrderShippingItem } from './update-multiple-marketplace-order-shipping-item'
|
|
7
|
+
|
|
8
|
+
export const MarketplaceOrderShippingItemResolver = {
|
|
9
|
+
Query: {
|
|
10
|
+
...marketplaceOrderShippingItemResolver,
|
|
11
|
+
...marketplaceOrderShippingItemResolver
|
|
12
|
+
},
|
|
13
|
+
Mutation: {
|
|
14
|
+
...updateMarketplaceOrderShippingItem,
|
|
15
|
+
...updateMultipleMarketplaceOrderShippingItem,
|
|
16
|
+
...createMarketplaceOrderShippingItem,
|
|
17
|
+
...deleteMarketplaceOrderShippingItem,
|
|
18
|
+
...deleteMarketplaceOrderShippingItems
|
|
19
|
+
}
|
|
20
|
+
}
|
package/server/graphql/resolvers/marketplace-order-shipping-item/marketplace-order-shipping-item.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { getRepository } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { MarketplaceOrderShippingItem } from '../../../entities'
|
|
4
|
+
|
|
5
|
+
export const marketplaceOrderShippingItemResolver = {
|
|
6
|
+
async marketplaceOrderShippingItem(_: any, { name }, context: any) {
|
|
7
|
+
const repository = getRepository(MarketplaceOrderShippingItem)
|
|
8
|
+
|
|
9
|
+
return await getRepository(MarketplaceOrderShippingItem).findOne({
|
|
10
|
+
where: { domain: context.state.domain, name },
|
|
11
|
+
relations: [
|
|
12
|
+
'domain',
|
|
13
|
+
'creator',
|
|
14
|
+
'updater',
|
|
15
|
+
'marketplaceOrderItem',
|
|
16
|
+
'marketplaceOrderItem.marketplaceProductVariation',
|
|
17
|
+
'marketplaceOrderItem.marketplaceProductVariation.marketplaceProduct'
|
|
18
|
+
]
|
|
19
|
+
})
|
|
20
|
+
}
|
|
21
|
+
}
|
package/server/graphql/resolvers/marketplace-order-shipping-item/marketplace-order-shipping-items.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { getRepository } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { convertListParams, ListParam } from '@things-factory/shell'
|
|
4
|
+
|
|
5
|
+
import { MarketplaceOrderShippingItem } from '../../../entities'
|
|
6
|
+
|
|
7
|
+
export const marketplaceOrderShippingItemsResolver = {
|
|
8
|
+
async marketplaceOrderShippingItems(_: any, params: ListParam, context: any) {
|
|
9
|
+
const convertedParams = convertListParams(params)
|
|
10
|
+
const [items, total] = await getRepository(MarketplaceOrderShippingItem).findAndCount({
|
|
11
|
+
...convertedParams,
|
|
12
|
+
relations: ['domain', 'creator', 'updater']
|
|
13
|
+
})
|
|
14
|
+
return { items, total }
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { getRepository } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { MarketplaceOrderShippingItem } from '../../../entities'
|
|
4
|
+
|
|
5
|
+
export const updateMarketplaceOrderShippingItem = {
|
|
6
|
+
async updateMarketplaceOrderShippingItem(_: any, { name, patch }, context: any) {
|
|
7
|
+
const repository = getRepository(MarketplaceOrderShippingItem)
|
|
8
|
+
const marketplaceOrderShippingItem = await repository.findOne({
|
|
9
|
+
where: { domain: context.state.domain, name }
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
return await repository.save({
|
|
13
|
+
...marketplaceOrderShippingItem,
|
|
14
|
+
...patch,
|
|
15
|
+
updater: context.state.user
|
|
16
|
+
})
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { getRepository } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { MarketplaceOrderShippingItem } from '../../../entities'
|
|
4
|
+
|
|
5
|
+
export const updateMultipleMarketplaceOrderShippingItem = {
|
|
6
|
+
async updateMultipleMarketplaceOrderShippingItem(_: any, { patches }, context: any) {
|
|
7
|
+
let results = []
|
|
8
|
+
const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
|
|
9
|
+
const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')
|
|
10
|
+
const marketplaceOrderShippingItemRepo = getRepository(MarketplaceOrderShippingItem)
|
|
11
|
+
|
|
12
|
+
if (_createRecords.length > 0) {
|
|
13
|
+
for (let i = 0; i < _createRecords.length; i++) {
|
|
14
|
+
const newRecord = _createRecords[i]
|
|
15
|
+
|
|
16
|
+
const result = await marketplaceOrderShippingItemRepo.save({
|
|
17
|
+
...newRecord,
|
|
18
|
+
domain: context.state.domain,
|
|
19
|
+
creator: context.state.user,
|
|
20
|
+
updater: context.state.user
|
|
21
|
+
})
|
|
22
|
+
|
|
23
|
+
results.push({ ...result, cuFlag: '+' })
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if (_updateRecords.length > 0) {
|
|
28
|
+
for (let i = 0; i < _updateRecords.length; i++) {
|
|
29
|
+
const newRecord = _updateRecords[i]
|
|
30
|
+
const marketplaceOrderShippingItem = await marketplaceOrderShippingItemRepo.findOne(newRecord.id)
|
|
31
|
+
|
|
32
|
+
const result = await marketplaceOrderShippingItemRepo.save({
|
|
33
|
+
...marketplaceOrderShippingItem,
|
|
34
|
+
...newRecord,
|
|
35
|
+
updater: context.state.user
|
|
36
|
+
})
|
|
37
|
+
|
|
38
|
+
results.push({ ...result, cuFlag: 'M' })
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return results
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -24,7 +24,8 @@ export const marketplaceSalesReportsResolver = {
|
|
|
24
24
|
let qb: SelectQueryBuilder<MarketplaceOrderItem> = getRepository(MarketplaceOrderItem).createQueryBuilder('moi')
|
|
25
25
|
buildQuery(qb, params, context)
|
|
26
26
|
qb.leftJoinAndSelect('moi.domain', 'domain')
|
|
27
|
-
.leftJoinAndSelect('moi.
|
|
27
|
+
.leftJoinAndSelect('moi.marketplaceOrderShippingItems', 'mosi')
|
|
28
|
+
.leftJoinAndSelect('mosi.marketplaceOrderShipping', 'mos')
|
|
28
29
|
.leftJoinAndSelect('moi.marketplaceOrder', 'mo')
|
|
29
30
|
.leftJoinAndSelect('mo.fulfillmentCenter', 'fc')
|
|
30
31
|
.leftJoinAndSelect('mo.marketplaceStore', 'ms')
|
|
@@ -23,13 +23,14 @@ export const MarketplaceOrderResolver = gql`
|
|
|
23
23
|
generateMarketplaceOrder(marketplaceOrder: NewMarketplaceOrder!): MarketplaceOrder @transaction
|
|
24
24
|
cancelMarketplaceOrder(orderNo: String!, patch: MarketplaceOrderPatch!): MarketplaceOrder @transaction
|
|
25
25
|
syncMarketplaceOrder(storeId: String!, fromDate: String, toDate: String): Boolean @transaction
|
|
26
|
-
syncAllMarketplaceOrder(
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
26
|
+
syncAllMarketplaceOrder(companyDomainId: String, fromDate: String, toDate: String, blackListStores: String): Boolean
|
|
27
|
+
updateOrderReadyToShip(
|
|
28
|
+
shippingProvider: String
|
|
29
|
+
deliveryType: String
|
|
30
|
+
orderNo: String!
|
|
31
|
+
orderId: String!
|
|
32
|
+
domainId: String!
|
|
33
|
+
): Boolean @transaction
|
|
33
34
|
initialiseLogistics(deliveryType: LogisticsInit, orderNo: String!): Boolean @transaction
|
|
34
35
|
initialiseLogisticsByBatch(patches: [LogisticsInfo]!): Boolean @transaction
|
|
35
36
|
initialiseShopeeLogisticsByBatch(patches: [LogisticsInfo]!): Boolean
|
|
@@ -6,8 +6,8 @@ export const MarketplaceOrderItem = gql`
|
|
|
6
6
|
name: String
|
|
7
7
|
domain: Domain
|
|
8
8
|
marketplaceOrder: MarketplaceOrder
|
|
9
|
+
marketplaceOrderShippingItems: [MarketplaceOrderShippingItem]
|
|
9
10
|
marketplaceProductVariation: MarketplaceProductVariation
|
|
10
|
-
marketplaceOrderShipping: MarketplaceOrderShipping
|
|
11
11
|
orderType: String
|
|
12
12
|
cancelBy: String
|
|
13
13
|
returnStatus: String
|
|
@@ -7,7 +7,7 @@ export const MarketplaceOrderShipping = gql`
|
|
|
7
7
|
domain: Domain
|
|
8
8
|
description: String
|
|
9
9
|
marketplaceOrder: MarketplaceOrder
|
|
10
|
-
|
|
10
|
+
marketplaceOrderShippingItems: [MarketplaceOrderShippingItem]
|
|
11
11
|
marketplaceStore: MarketplaceStore
|
|
12
12
|
orderNoRef: String
|
|
13
13
|
subOrderNoRef: String
|
|
@@ -50,6 +50,7 @@ export const MarketplaceOrderShipping = gql`
|
|
|
50
50
|
sellerShippingFeeVoucher: Float
|
|
51
51
|
releaseOrderId: String
|
|
52
52
|
fulfillmentCenter: FulfillmentCenter
|
|
53
|
+
trackingUrl: String
|
|
53
54
|
updater: User
|
|
54
55
|
creator: User
|
|
55
56
|
updatedAt: String
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import gql from 'graphql-tag'
|
|
2
|
+
|
|
3
|
+
export * from './marketplace-order-shipping-item'
|
|
4
|
+
export * from './marketplace-order-shipping-item-list'
|
|
5
|
+
export * from './marketplace-order-shipping-item-patch'
|
|
6
|
+
export * from './new-marketplace-order-shipping-item'
|
|
7
|
+
|
|
8
|
+
export const MarketplaceOrderShippingItemResolver = gql`
|
|
9
|
+
extend type Mutation {
|
|
10
|
+
createMarketplaceOrderShippingItem(
|
|
11
|
+
marketplaceOrderShippingItem: NewMarketplaceOrderShippingItem!
|
|
12
|
+
): MarketplaceOrderShippingItem
|
|
13
|
+
updateMarketplaceOrderShippingItem(
|
|
14
|
+
name: String!
|
|
15
|
+
patch: MarketplaceOrderShippingItemPatch!
|
|
16
|
+
): MarketplaceOrderShippingItem @transaction
|
|
17
|
+
updateMultipleMarketplaceOrderShippingItem(
|
|
18
|
+
patches: [MarketplaceOrderShippingItemPatch]!
|
|
19
|
+
): [MarketplaceOrderShippingItem]
|
|
20
|
+
deleteMarketplaceOrderShippingItem(name: String!): Boolean
|
|
21
|
+
deleteMarketplaceOrderShippingItems(names: [String]!): Boolean
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
extend type Query {
|
|
25
|
+
marketplaceOrderShippingItems(
|
|
26
|
+
filters: [Filter]
|
|
27
|
+
pagination: Pagination
|
|
28
|
+
sortings: [Sorting]
|
|
29
|
+
): MarketplaceOrderShippingItemList
|
|
30
|
+
marketplaceOrderShippingItem(name: String!): MarketplaceOrderShippingItem
|
|
31
|
+
}
|
|
32
|
+
`
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import gql from 'graphql-tag'
|
|
2
|
+
|
|
3
|
+
export const MarketplaceOrderShippingItemPatch = gql`
|
|
4
|
+
input MarketplaceOrderShippingItemPatch {
|
|
5
|
+
id: String
|
|
6
|
+
name: String
|
|
7
|
+
marketplaceOrderItem: ObjectRef
|
|
8
|
+
marketplaceOrderShipping: ObjectRef
|
|
9
|
+
product: ObjectRef
|
|
10
|
+
qty: Int
|
|
11
|
+
cuFlag: String
|
|
12
|
+
}
|
|
13
|
+
`
|