@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.
Files changed (129) hide show
  1. package/dist-server/entities/index.js +13 -10
  2. package/dist-server/entities/index.js.map +1 -1
  3. package/dist-server/entities/marketplace-order-item.js +3 -3
  4. package/dist-server/entities/marketplace-order-item.js.map +1 -1
  5. package/dist-server/entities/marketplace-order-shipping-item.js +77 -0
  6. package/dist-server/entities/marketplace-order-shipping-item.js.map +1 -0
  7. package/dist-server/entities/marketplace-order-shipping.js +6 -2
  8. package/dist-server/entities/marketplace-order-shipping.js.map +1 -1
  9. package/dist-server/graphql/resolvers/index.js +1 -0
  10. package/dist-server/graphql/resolvers/index.js.map +1 -1
  11. package/dist-server/graphql/resolvers/marketplace-order/auto-initialise-logistics-by-batch.js +9 -6
  12. package/dist-server/graphql/resolvers/marketplace-order/auto-initialise-logistics-by-batch.js.map +1 -1
  13. package/dist-server/graphql/resolvers/marketplace-order/auto-update-order-ready-to-ship.js +10 -5
  14. package/dist-server/graphql/resolvers/marketplace-order/auto-update-order-ready-to-ship.js.map +1 -1
  15. package/dist-server/graphql/resolvers/marketplace-order/generate-marketplace-order.js +58 -3
  16. package/dist-server/graphql/resolvers/marketplace-order/generate-marketplace-order.js.map +1 -1
  17. package/dist-server/graphql/resolvers/marketplace-order/get-etrax-order-document.js +3 -2
  18. package/dist-server/graphql/resolvers/marketplace-order/get-etrax-order-document.js.map +1 -1
  19. package/dist-server/graphql/resolvers/marketplace-order/get-order-document.js +14 -6
  20. package/dist-server/graphql/resolvers/marketplace-order/get-order-document.js.map +1 -1
  21. package/dist-server/graphql/resolvers/marketplace-order/initialise-lazada-logistics-by-batch.js +2 -1
  22. package/dist-server/graphql/resolvers/marketplace-order/initialise-lazada-logistics-by-batch.js.map +1 -1
  23. package/dist-server/graphql/resolvers/marketplace-order/initialise-logistics-by-batch.js +2 -0
  24. package/dist-server/graphql/resolvers/marketplace-order/initialise-logistics-by-batch.js.map +1 -1
  25. package/dist-server/graphql/resolvers/marketplace-order/marketplace-orders-for-batch-init.js +3 -2
  26. package/dist-server/graphql/resolvers/marketplace-order/marketplace-orders-for-batch-init.js.map +1 -1
  27. package/dist-server/graphql/resolvers/marketplace-order/marketplace-orders-for-export.js +4 -2
  28. package/dist-server/graphql/resolvers/marketplace-order/marketplace-orders-for-export.js.map +1 -1
  29. package/dist-server/graphql/resolvers/marketplace-order/marketplace-orders.js +2 -1
  30. package/dist-server/graphql/resolvers/marketplace-order/marketplace-orders.js.map +1 -1
  31. package/dist-server/graphql/resolvers/marketplace-order/split-orders-by-batch.js +72 -243
  32. package/dist-server/graphql/resolvers/marketplace-order/split-orders-by-batch.js.map +1 -1
  33. package/dist-server/graphql/resolvers/marketplace-order/sync-all-marketplace-order.js +20 -12
  34. package/dist-server/graphql/resolvers/marketplace-order/sync-all-marketplace-order.js.map +1 -1
  35. package/dist-server/graphql/resolvers/marketplace-order/sync-marketplace-order.js +62 -5
  36. package/dist-server/graphql/resolvers/marketplace-order/sync-marketplace-order.js.map +1 -1
  37. package/dist-server/graphql/resolvers/marketplace-order/update-order-ready-to-ship.js +65 -37
  38. package/dist-server/graphql/resolvers/marketplace-order/update-order-ready-to-ship.js.map +1 -1
  39. package/dist-server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shipping.js +7 -4
  40. package/dist-server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shipping.js.map +1 -1
  41. package/dist-server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shippings.js +2 -1
  42. package/dist-server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shippings.js.map +1 -1
  43. package/dist-server/graphql/resolvers/marketplace-order-shipping-item/create-marketplace-order-shipping-item.js +11 -0
  44. package/dist-server/graphql/resolvers/marketplace-order-shipping-item/create-marketplace-order-shipping-item.js.map +1 -0
  45. package/dist-server/graphql/resolvers/marketplace-order-shipping-item/delete-marketplace-order-shipping-item.js +12 -0
  46. package/dist-server/graphql/resolvers/marketplace-order-shipping-item/delete-marketplace-order-shipping-item.js.map +1 -0
  47. package/dist-server/graphql/resolvers/marketplace-order-shipping-item/delete-marketplace-order-shipping-items.js +15 -0
  48. package/dist-server/graphql/resolvers/marketplace-order-shipping-item/delete-marketplace-order-shipping-items.js.map +1 -0
  49. package/dist-server/graphql/resolvers/marketplace-order-shipping-item/index.js +14 -0
  50. package/dist-server/graphql/resolvers/marketplace-order-shipping-item/index.js.map +1 -0
  51. package/dist-server/graphql/resolvers/marketplace-order-shipping-item/marketplace-order-shipping-item.js +22 -0
  52. package/dist-server/graphql/resolvers/marketplace-order-shipping-item/marketplace-order-shipping-item.js.map +1 -0
  53. package/dist-server/graphql/resolvers/marketplace-order-shipping-item/marketplace-order-shipping-items.js +14 -0
  54. package/dist-server/graphql/resolvers/marketplace-order-shipping-item/marketplace-order-shipping-items.js.map +1 -0
  55. package/dist-server/graphql/resolvers/marketplace-order-shipping-item/update-marketplace-order-shipping-item.js +15 -0
  56. package/dist-server/graphql/resolvers/marketplace-order-shipping-item/update-marketplace-order-shipping-item.js.map +1 -0
  57. package/dist-server/graphql/resolvers/marketplace-order-shipping-item/update-multiple-marketplace-order-shipping-item.js +30 -0
  58. package/dist-server/graphql/resolvers/marketplace-order-shipping-item/update-multiple-marketplace-order-shipping-item.js.map +1 -0
  59. package/dist-server/graphql/resolvers/marketplace-report/marketplace-sales-report.js +2 -1
  60. package/dist-server/graphql/resolvers/marketplace-report/marketplace-sales-report.js.map +1 -1
  61. package/dist-server/graphql/types/index.js +1 -0
  62. package/dist-server/graphql/types/index.js.map +1 -1
  63. package/dist-server/graphql/types/marketplace-order/index.js +8 -7
  64. package/dist-server/graphql/types/marketplace-order/index.js.map +1 -1
  65. package/dist-server/graphql/types/marketplace-order/logistics-info.js +1 -0
  66. package/dist-server/graphql/types/marketplace-order/logistics-info.js.map +1 -1
  67. package/dist-server/graphql/types/marketplace-order-item/marketplace-order-item.js +1 -1
  68. package/dist-server/graphql/types/marketplace-order-item/new-marketplace-order-item.js +0 -1
  69. package/dist-server/graphql/types/marketplace-order-item/new-marketplace-order-item.js.map +1 -1
  70. package/dist-server/graphql/types/marketplace-order-shipping/marketplace-order-shipping-patch.js +0 -1
  71. package/dist-server/graphql/types/marketplace-order-shipping/marketplace-order-shipping-patch.js.map +1 -1
  72. package/dist-server/graphql/types/marketplace-order-shipping/marketplace-order-shipping.js +2 -1
  73. package/dist-server/graphql/types/marketplace-order-shipping/marketplace-order-shipping.js.map +1 -1
  74. package/dist-server/graphql/types/marketplace-order-shipping/new-marketplace-order-shipping.js +0 -1
  75. package/dist-server/graphql/types/marketplace-order-shipping/new-marketplace-order-shipping.js.map +1 -1
  76. package/dist-server/graphql/types/marketplace-order-shipping-item/index.js +47 -0
  77. package/dist-server/graphql/types/marketplace-order-shipping-item/index.js.map +1 -0
  78. package/dist-server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item-list.js +14 -0
  79. package/dist-server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item-list.js.map +1 -0
  80. package/dist-server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item-patch.js +19 -0
  81. package/dist-server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item-patch.js.map +1 -0
  82. package/dist-server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item.js +22 -0
  83. package/dist-server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item.js.map +1 -0
  84. package/dist-server/graphql/types/marketplace-order-shipping-item/new-marketplace-order-shipping-item.js +18 -0
  85. package/dist-server/graphql/types/marketplace-order-shipping-item/new-marketplace-order-shipping-item.js.map +1 -0
  86. package/package.json +6 -6
  87. package/server/entities/index.ts +15 -12
  88. package/server/entities/marketplace-order-item.ts +17 -5
  89. package/server/entities/marketplace-order-shipping-item.ts +55 -0
  90. package/server/entities/marketplace-order-shipping.ts +9 -3
  91. package/server/graphql/resolvers/index.ts +1 -0
  92. package/server/graphql/resolvers/marketplace-order/auto-initialise-logistics-by-batch.ts +9 -6
  93. package/server/graphql/resolvers/marketplace-order/auto-update-order-ready-to-ship.ts +16 -6
  94. package/server/graphql/resolvers/marketplace-order/generate-marketplace-order.ts +65 -3
  95. package/server/graphql/resolvers/marketplace-order/get-etrax-order-document.ts +5 -2
  96. package/server/graphql/resolvers/marketplace-order/get-order-document.ts +22 -7
  97. package/server/graphql/resolvers/marketplace-order/initialise-lazada-logistics-by-batch.ts +4 -2
  98. package/server/graphql/resolvers/marketplace-order/initialise-logistics-by-batch.ts +2 -0
  99. package/server/graphql/resolvers/marketplace-order/marketplace-orders-for-batch-init.ts +5 -2
  100. package/server/graphql/resolvers/marketplace-order/marketplace-orders-for-export.ts +7 -3
  101. package/server/graphql/resolvers/marketplace-order/marketplace-orders.ts +2 -1
  102. package/server/graphql/resolvers/marketplace-order/split-orders-by-batch.ts +84 -280
  103. package/server/graphql/resolvers/marketplace-order/sync-all-marketplace-order.ts +25 -13
  104. package/server/graphql/resolvers/marketplace-order/sync-marketplace-order.ts +67 -6
  105. package/server/graphql/resolvers/marketplace-order/update-order-ready-to-ship.ts +80 -42
  106. package/server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shipping.ts +9 -4
  107. package/server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shippings.ts +2 -1
  108. package/server/graphql/resolvers/marketplace-order-shipping-item/create-marketplace-order-shipping-item.ts +14 -0
  109. package/server/graphql/resolvers/marketplace-order-shipping-item/delete-marketplace-order-shipping-item.ts +10 -0
  110. package/server/graphql/resolvers/marketplace-order-shipping-item/delete-marketplace-order-shipping-items.ts +13 -0
  111. package/server/graphql/resolvers/marketplace-order-shipping-item/index.ts +20 -0
  112. package/server/graphql/resolvers/marketplace-order-shipping-item/marketplace-order-shipping-item.ts +21 -0
  113. package/server/graphql/resolvers/marketplace-order-shipping-item/marketplace-order-shipping-items.ts +16 -0
  114. package/server/graphql/resolvers/marketplace-order-shipping-item/update-marketplace-order-shipping-item.ts +18 -0
  115. package/server/graphql/resolvers/marketplace-order-shipping-item/update-multiple-marketplace-order-shipping-item.ts +44 -0
  116. package/server/graphql/resolvers/marketplace-report/marketplace-sales-report.ts +2 -1
  117. package/server/graphql/types/index.ts +1 -0
  118. package/server/graphql/types/marketplace-order/index.ts +8 -7
  119. package/server/graphql/types/marketplace-order/logistics-info.ts +1 -0
  120. package/server/graphql/types/marketplace-order-item/marketplace-order-item.ts +1 -1
  121. package/server/graphql/types/marketplace-order-item/new-marketplace-order-item.ts +0 -1
  122. package/server/graphql/types/marketplace-order-shipping/marketplace-order-shipping-patch.ts +0 -1
  123. package/server/graphql/types/marketplace-order-shipping/marketplace-order-shipping.ts +2 -1
  124. package/server/graphql/types/marketplace-order-shipping/new-marketplace-order-shipping.ts +0 -1
  125. package/server/graphql/types/marketplace-order-shipping-item/index.ts +32 -0
  126. package/server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item-list.ts +8 -0
  127. package/server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item-patch.ts +13 -0
  128. package/server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item.ts +16 -0
  129. package/server/graphql/types/marketplace-order-shipping-item/new-marketplace-order-shipping-item.ts +12 -0
@@ -1,15 +1,16 @@
1
- import { MarketplaceProductVariationPrice } from './marketplace-product-variation-price'
2
- import { StoreReplenishment } from './store-replenishment'
3
- import { StoreReplenishmentItem } from './store-replenishment-item'
4
1
  import { MarketplaceOrder } from './marketplace-order'
5
2
  import { MarketplaceOrderItem } from './marketplace-order-item'
6
3
  import { MarketplaceOrderShipping } from './marketplace-order-shipping'
4
+ import { MarketplaceOrderShippingItem } from './marketplace-order-shipping-item'
7
5
  import { MarketplaceProduct } from './marketplace-product'
8
6
  import { MarketplaceProductAttribute } from './marketplace-product-attribute'
9
7
  import { MarketplaceProductCategory } from './marketplace-product-category'
10
8
  import { MarketplaceProductVariation } from './marketplace-product-variation'
11
- import { MarketplaceRefundOrderItem } from './marketplace-refund-order-item'
9
+ import { MarketplaceProductVariationPrice } from './marketplace-product-variation-price'
12
10
  import { MarketplaceRefundOrder } from './marketplace-refund-order'
11
+ import { MarketplaceRefundOrderItem } from './marketplace-refund-order-item'
12
+ import { StoreReplenishment } from './store-replenishment'
13
+ import { StoreReplenishmentItem } from './store-replenishment-item'
13
14
 
14
15
  export const entities = [
15
16
  MarketplaceProductVariationPrice,
@@ -23,20 +24,22 @@ export const entities = [
23
24
  MarketplaceOrderItem,
24
25
  MarketplaceOrderShipping,
25
26
  MarketplaceRefundOrder,
26
- MarketplaceRefundOrderItem
27
+ MarketplaceRefundOrderItem,
28
+ MarketplaceOrderShippingItem
27
29
  ]
28
30
 
29
31
  export {
30
- MarketplaceProductVariationPrice,
31
- StoreReplenishment,
32
- StoreReplenishmentItem,
32
+ MarketplaceOrder,
33
+ MarketplaceOrderItem,
34
+ MarketplaceOrderShipping,
35
+ MarketplaceOrderShippingItem,
33
36
  MarketplaceProduct,
34
37
  MarketplaceProductAttribute,
35
38
  MarketplaceProductCategory,
36
39
  MarketplaceProductVariation,
37
- MarketplaceOrder,
38
- MarketplaceOrderItem,
39
- MarketplaceOrderShipping,
40
+ MarketplaceProductVariationPrice,
40
41
  MarketplaceRefundOrder,
41
- MarketplaceRefundOrderItem
42
+ MarketplaceRefundOrderItem,
43
+ StoreReplenishment,
44
+ StoreReplenishmentItem
42
45
  }
@@ -1,9 +1,18 @@
1
- import { Column, CreateDateColumn, Entity, Index, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from 'typeorm'
1
+ import {
2
+ Column,
3
+ CreateDateColumn,
4
+ Entity,
5
+ Index,
6
+ ManyToOne,
7
+ OneToMany,
8
+ PrimaryGeneratedColumn,
9
+ UpdateDateColumn
10
+ } from 'typeorm'
2
11
 
3
12
  import { User } from '@things-factory/auth-base'
4
13
  import { Domain } from '@things-factory/shell'
5
14
 
6
- import { MarketplaceOrder, MarketplaceOrderShipping, MarketplaceProductVariation } from '../entities'
15
+ import { MarketplaceOrder, MarketplaceOrderShippingItem, MarketplaceProductVariation } from '../entities'
7
16
 
8
17
  @Entity()
9
18
  @Index(
@@ -24,8 +33,11 @@ export class MarketplaceOrderItem {
24
33
  @ManyToOne(type => MarketplaceOrder)
25
34
  marketplaceOrder: MarketplaceOrder
26
35
 
27
- @ManyToOne(type => MarketplaceOrderShipping)
28
- marketplaceOrderShipping: MarketplaceOrderShipping
36
+ @OneToMany(
37
+ type => MarketplaceOrderShippingItem,
38
+ marketplaceOrderShippingItem => marketplaceOrderShippingItem.marketplaceOrderItem
39
+ )
40
+ marketplaceOrderShippingItems: MarketplaceOrderShippingItem[]
29
41
 
30
42
  @Column()
31
43
  name: string
@@ -45,7 +57,7 @@ export class MarketplaceOrderItem {
45
57
  @Column({ type: 'float', nullable: true })
46
58
  originalPrice: number
47
59
 
48
- @Column({ type: 'float', nullable: true })
60
+ @Column({ type: 'float', nullable: true })
49
61
  discount: number
50
62
 
51
63
  @Column({ nullable: true })
@@ -0,0 +1,55 @@
1
+ import { Column, CreateDateColumn, Entity, Index, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from 'typeorm'
2
+
3
+ import { User } from '@things-factory/auth-base'
4
+ import { Product } from '@things-factory/product-base'
5
+ import { Domain } from '@things-factory/shell'
6
+
7
+ import { MarketplaceOrderItem, MarketplaceOrderShipping } from '../entities'
8
+
9
+ @Entity()
10
+ @Index(
11
+ 'ix_marketplace-order-shipping-item_0',
12
+ (marketplaceOrderShippingItem: MarketplaceOrderShippingItem) => [
13
+ marketplaceOrderShippingItem.domain,
14
+ marketplaceOrderShippingItem.name
15
+ ],
16
+ { unique: true }
17
+ )
18
+ export class MarketplaceOrderShippingItem {
19
+ @PrimaryGeneratedColumn('uuid')
20
+ id: string
21
+
22
+ @ManyToOne(type => Domain)
23
+ domain: Domain
24
+
25
+ @ManyToOne(type => MarketplaceOrderItem)
26
+ marketplaceOrderItem: MarketplaceOrderItem
27
+
28
+ @ManyToOne(type => MarketplaceOrderShipping)
29
+ marketplaceOrderShipping: MarketplaceOrderShipping
30
+
31
+ @ManyToOne(type => Product, { nullable: true })
32
+ product: Product
33
+
34
+ @Column()
35
+ name: string
36
+
37
+ @Column({ type: 'int', nullable: true })
38
+ qty: number
39
+
40
+ @CreateDateColumn()
41
+ createdAt: Date
42
+
43
+ @UpdateDateColumn()
44
+ updatedAt: Date
45
+
46
+ @ManyToOne(type => User, {
47
+ nullable: true
48
+ })
49
+ creator: User
50
+
51
+ @ManyToOne(type => User, {
52
+ nullable: true
53
+ })
54
+ updater: User
55
+ }
@@ -14,7 +14,7 @@ import { FulfillmentCenter } from '@things-factory/integration-fulfillment'
14
14
  import { MarketplaceStore } from '@things-factory/integration-marketplace'
15
15
  import { Domain } from '@things-factory/shell'
16
16
 
17
- import { MarketplaceOrderItem } from '../entities'
17
+ import { MarketplaceOrderShippingItem } from '../entities'
18
18
 
19
19
  @Entity()
20
20
  @Index(
@@ -35,8 +35,11 @@ export class MarketplaceOrderShipping {
35
35
  @Column()
36
36
  name: string
37
37
 
38
- @OneToMany(type => MarketplaceOrderItem, marketplaceOrderItem => marketplaceOrderItem.marketplaceOrderShipping)
39
- marketplaceOrderItems: MarketplaceOrderItem[]
38
+ @OneToMany(
39
+ type => MarketplaceOrderShippingItem,
40
+ marketplaceOrderShippingItem => marketplaceOrderShippingItem.marketplaceOrderShipping
41
+ )
42
+ marketplaceOrderShippingItems: MarketplaceOrderShippingItem[]
40
43
 
41
44
  @ManyToOne(type => MarketplaceStore)
42
45
  marketplaceStore: MarketplaceStore
@@ -161,6 +164,9 @@ export class MarketplaceOrderShipping {
161
164
  @ManyToOne(type => FulfillmentCenter, { nullable: true })
162
165
  fulfillmentCenter: FulfillmentCenter
163
166
 
167
+ @Column({ nullable: true })
168
+ trackingUrl: String
169
+
164
170
  @CreateDateColumn()
165
171
  createdAt: Date
166
172
 
@@ -1,6 +1,7 @@
1
1
  export * from './marketplace-order'
2
2
  export * from './marketplace-order-item'
3
3
  export * from './marketplace-order-shipping'
4
+ export * from './marketplace-order-shipping-item'
4
5
  export * from './marketplace-product'
5
6
  export * from './marketplace-product-attribute'
6
7
  export * from './marketplace-product-category'
@@ -29,8 +29,9 @@ export const autoInitialiseLogisticsByBatch = {
29
29
  },
30
30
  relations: [
31
31
  'marketplaceOrderItems',
32
- 'marketplaceOrderItems.marketplaceProductVariation',
33
- 'marketplaceOrderItems.marketplaceOrderShipping'
32
+ 'marketplaceOrderItems.marketplaceOrderShippingItems',
33
+ 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',
34
+ 'marketplaceOrderItems.marketplaceProductVariation'
34
35
  ]
35
36
  })
36
37
  } else {
@@ -44,8 +45,9 @@ export const autoInitialiseLogisticsByBatch = {
44
45
  },
45
46
  relations: [
46
47
  'marketplaceOrderItems',
47
- 'marketplaceOrderItems.marketplaceProductVariation',
48
- 'marketplaceOrderItems.marketplaceOrderShipping'
48
+ 'marketplaceOrderItems.marketplaceOrderShippingItems',
49
+ 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',
50
+ 'marketplaceOrderItems.marketplaceProductVariation'
49
51
  ]
50
52
  })
51
53
  } else {
@@ -57,8 +59,9 @@ export const autoInitialiseLogisticsByBatch = {
57
59
  },
58
60
  relations: [
59
61
  'marketplaceOrderItems',
60
- 'marketplaceOrderItems.marketplaceProductVariation',
61
- 'marketplaceOrderItems.marketplaceOrderShipping'
62
+ 'marketplaceOrderItems.marketplaceOrderShippingItems',
63
+ 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',
64
+ 'marketplaceOrderItems.marketplaceProductVariation'
62
65
  ]
63
66
  })
64
67
  }
@@ -4,7 +4,12 @@ import { MarketplaceStore, StoreAPI } from '@things-factory/integration-marketpl
4
4
  import { Domain } from '@things-factory/shell'
5
5
 
6
6
  import { MARKETPLACE_PLATFORM, ORDER_STATUS } from '../../../constants'
7
- import { MarketplaceOrder, MarketplaceOrderItem, MarketplaceOrderShipping } from '../../../entities'
7
+ import {
8
+ MarketplaceOrder,
9
+ MarketplaceOrderItem,
10
+ MarketplaceOrderShipping,
11
+ MarketplaceOrderShippingItem
12
+ } from '../../../entities'
8
13
 
9
14
  export const autoUpdateOrderReadyToShip = {
10
15
  async autoUpdateOrderReadyToShip(_: any, { companyDomainId }, context: any) {
@@ -27,7 +32,8 @@ export const autoUpdateOrderReadyToShip = {
27
32
  },
28
33
  relations: [
29
34
  'marketplaceOrderItems',
30
- 'marketplaceOrderItems.marketplaceOrderShipping',
35
+ 'marketplaceOrderItems.marketplaceOrderShippingItems',
36
+ 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',
31
37
  'marketplaceOrderItems.marketplaceProductVariation'
32
38
  ]
33
39
  })
@@ -43,9 +49,12 @@ export const autoUpdateOrderReadyToShip = {
43
49
  let marketplaceOrderShippings: MarketplaceOrderShipping[] = []
44
50
 
45
51
  marketplaceOrder.marketplaceOrderItems.map(item => {
46
- if (item?.marketplaceOrderShipping) {
47
- marketplaceOrderShippings.push(item.marketplaceOrderShipping)
48
- }
52
+ const marketplaceOrderShippingItems: MarketplaceOrderShippingItem[] = item.marketplaceOrderShippingItems
53
+ marketplaceOrderShippingItems.map(itm => {
54
+ if (itm?.marketplaceOrderShipping) {
55
+ marketplaceOrderShippings.push(itm.marketplaceOrderShipping)
56
+ }
57
+ })
49
58
  })
50
59
 
51
60
  const uniqueMarketplaceOrderShippings = Array.from(new Set(marketplaceOrderShippings.map(a => a.id))).map(
@@ -90,7 +99,8 @@ export const autoUpdateOrderReadyToShip = {
90
99
  shipmentProvider: shippingProvider,
91
100
  deliveryType,
92
101
  orderItemId,
93
- trackingNo
102
+ trackingNo,
103
+ orderId: marketplaceOrder.name
94
104
  })
95
105
  }
96
106
 
@@ -1,13 +1,16 @@
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 { MarketplaceStore as MarketplaceStoreEntity } from '@things-factory/integration-marketplace'
6
+ import { Product, ProductBundle, ProductBundleSetting } from '@things-factory/product-base'
5
7
  import { Domain } from '@things-factory/shell'
6
8
 
7
9
  import {
8
10
  MarketplaceOrder as MarketplaceOrderEntity,
9
11
  MarketplaceOrderItem as MarketplaceOrderItemEntity,
10
12
  MarketplaceOrderShipping as MarketplaceOrderShippingEntity,
13
+ MarketplaceOrderShippingItem as MarketplaceOrderShippingItemEntity,
11
14
  MarketplaceProductVariation as MarketplaceProductVariationEntity
12
15
  } from '../../../entities'
13
16
  import { NoGenerator } from '../../../utils/no-generator'
@@ -47,7 +50,7 @@ export async function generateMarketplaceOrder(
47
50
  const itemCount: number = marketplaceOrder.marketplaceOrderItems?.length
48
51
 
49
52
  newMarketplaceOrder.name = marketplaceOrder?.name ? marketplaceOrder.name : NoGenerator.marketplaceOrder()
50
- marketplaceOrder.itemCount = itemCount
53
+ newMarketplaceOrder.itemCount = itemCount
51
54
  newMarketplaceOrder.marketplaceStore = marketplaceStore
52
55
  newMarketplaceOrder.domain = domain
53
56
  newMarketplaceOrder.creator = user
@@ -92,8 +95,67 @@ export async function generateMarketplaceOrder(
92
95
  foundVariation = newVariation
93
96
  }
94
97
 
98
+ let product: Product = await tx.getRepository(Product).findOne({
99
+ where: { domain: marketplaceStore.domain, sku: marketplaceProductVariation.sku, deletedAt: IsNull() },
100
+ relations: ['productDetails']
101
+ })
102
+
103
+ let productBundle: ProductBundle
104
+ if (!product) {
105
+ productBundle = await tx.getRepository(ProductBundle).findOne({
106
+ where: { domain: marketplaceStore.domain, sku: marketplaceProductVariation.sku },
107
+ relations: ['productBundleSettings', 'productBundleSettings.product']
108
+ })
109
+ }
110
+
111
+ let existingMarketplaceOrderItem: MarketplaceOrderItemEntity = await tx
112
+ .getRepository(MarketplaceOrderItemEntity)
113
+ .findOne({
114
+ where: { domain: marketplaceStore.domain, name: orderItem.orderItemId }
115
+ })
116
+
117
+ let existingMarketplaceOrderShippingItems: MarketplaceOrderShippingItemEntity[] = []
118
+
119
+ if (existingMarketplaceOrderItem) {
120
+ existingMarketplaceOrderShippingItems = await tx.getRepository(MarketplaceOrderShippingItemEntity).find({
121
+ where: { domain: marketplaceStore.domain, marketplaceOrderItem: existingMarketplaceOrderItem }
122
+ })
123
+ }
124
+
125
+ if (existingMarketplaceOrderShippingItems && existingMarketplaceOrderShippingItems?.length) {
126
+ } else {
127
+ if (productBundle) {
128
+ const productBundleSettings: ProductBundleSetting[] = productBundle.productBundleSettings
129
+ let marketplaceOrderShippingItems: MarketplaceOrderShippingItemEntity[] = []
130
+ productBundleSettings.map(productBundleSetting => {
131
+ let marketplaceOrderShippingItem: MarketplaceOrderShippingItemEntity =
132
+ new MarketplaceOrderShippingItemEntity()
133
+ marketplaceOrderShippingItem.name = uuid()
134
+ marketplaceOrderShippingItem.qty = marketplaceOrderItem.qty * productBundleSetting.bundleQty
135
+ marketplaceOrderShippingItem.domain = marketplaceStore.domain
136
+ marketplaceOrderShippingItem.marketplaceOrderItem = marketplaceOrderItem
137
+ marketplaceOrderShippingItem.marketplaceOrderShipping = newMarketplaceOrderShipping
138
+ marketplaceOrderShippingItem.product = productBundleSetting.product
139
+
140
+ marketplaceOrderShippingItems.push(marketplaceOrderShippingItem)
141
+ })
142
+
143
+ await tx.getRepository(MarketplaceOrderShippingItemEntity).save(marketplaceOrderShippingItems)
144
+ } else {
145
+ let marketplaceOrderShippingItem: MarketplaceOrderShippingItemEntity =
146
+ new MarketplaceOrderShippingItemEntity()
147
+ marketplaceOrderShippingItem.name = uuid()
148
+ marketplaceOrderShippingItem.qty = marketplaceOrderItem.qty
149
+ marketplaceOrderShippingItem.domain = marketplaceStore.domain
150
+ marketplaceOrderShippingItem.marketplaceOrderItem = marketplaceOrderItem
151
+ marketplaceOrderShippingItem.marketplaceOrderShipping = newMarketplaceOrderShipping
152
+ marketplaceOrderShippingItem.product = product ? product : null
153
+
154
+ await tx.getRepository(MarketplaceOrderShippingItemEntity).save(marketplaceOrderShippingItem)
155
+ }
156
+ }
157
+
95
158
  marketplaceOrderItem.marketplaceProductVariation = foundVariation
96
- if (newMarketplaceOrderShipping) marketplaceOrderItem.marketplaceOrderShipping = newMarketplaceOrderShipping
97
159
  marketplaceOrderItem.name = orderItem.orderItemId
98
160
  marketplaceOrderItem.marketplaceOrder = newMarketplaceOrder
99
161
  marketplaceOrderItem.domain = domain
@@ -1,4 +1,5 @@
1
1
  import { EntityManager, In } from 'typeorm'
2
+
2
3
  import { MarketplaceOrder, MarketplaceOrderItem, MarketplaceOrderShipping } from '../../../entities'
3
4
 
4
5
  export const getETraxOrderDocumentResolver = {
@@ -17,7 +18,8 @@ export async function getETraxOrderDocumentFunction(orderNo: string[], context:
17
18
  'marketplaceStore',
18
19
  'marketplaceOrderItems',
19
20
  'marketplaceOrderItems.marketplaceOrder',
20
- 'marketplaceOrderItems.marketplaceOrderShipping'
21
+ 'marketplaceOrderItems.marketplaceOrderShippingItems',
22
+ 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping'
21
23
  ]
22
24
  })
23
25
  if (foundMarketplaceOrders?.length === 0) throw new Error('No order is found')
@@ -29,7 +31,8 @@ export async function getETraxOrderDocumentFunction(orderNo: string[], context:
29
31
  let airwayBills: any[] = []
30
32
  marketplaceOrderItems.map((item: any) => {
31
33
  const orderNo: string = item[0].marketplaceOrder.orderNo
32
- const marketplaceOrderShipping: MarketplaceOrderShipping = item[0].marketplaceOrderShipping
34
+ const marketplaceOrderShipping: MarketplaceOrderShipping =
35
+ item[0].marketplaceOrderShippingItems[0].marketplaceOrderShipping
33
36
  if (marketplaceOrderShipping) {
34
37
  const airwayBill: string = marketplaceOrderShipping.airwayBill
35
38
  if (airwayBill != null) {
@@ -1,6 +1,13 @@
1
- import { MarketplaceStore, StoreAPI } from '@things-factory/integration-marketplace'
2
1
  import { EntityManager, In } from 'typeorm'
3
- import { MarketplaceOrder, MarketplaceOrderItem, MarketplaceOrderShipping } from '../../../entities'
2
+
3
+ import { MarketplaceStore, StoreAPI } from '@things-factory/integration-marketplace'
4
+
5
+ import {
6
+ MarketplaceOrder,
7
+ MarketplaceOrderItem,
8
+ MarketplaceOrderShipping,
9
+ MarketplaceOrderShippingItem
10
+ } from '../../../entities'
4
11
  import { getETraxOrderDocumentFunction } from '../marketplace-order'
5
12
 
6
13
  export const getOrderDocumentResolver = {
@@ -8,7 +15,12 @@ export const getOrderDocumentResolver = {
8
15
  const { tx }: { tx: EntityManager } = context.state
9
16
  const foundMarketplaceOrders: MarketplaceOrder[] = await tx.getRepository(MarketplaceOrder).find({
10
17
  where: { orderNo: In(orderNo) },
11
- relations: ['marketplaceStore', 'marketplaceOrderItems', 'marketplaceOrderItems.marketplaceOrderShipping']
18
+ relations: [
19
+ 'marketplaceStore',
20
+ 'marketplaceOrderItems',
21
+ 'marketplaceOrderItems.marketplaceOrderShippingItems',
22
+ 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping'
23
+ ]
12
24
  })
13
25
  if (foundMarketplaceOrders?.length === 0) throw new Error('No order is found')
14
26
 
@@ -78,11 +90,14 @@ export const getOrderDocumentResolver = {
78
90
 
79
91
  let marketplaceOrderShippings: MarketplaceOrderShipping[] = []
80
92
  marketplaceOrderItems.map((item, idx) => {
81
- const marketplaceOrderShipping = item[idx].marketplaceOrderShipping
93
+ const marketplaceOrderShippingItems: MarketplaceOrderShippingItem[] = item[idx].marketplaceOrderShippingItems
94
+ marketplaceOrderShippingItems.map(marketplaceOrderShippingItem => {
95
+ const marketplaceOrderShipping = marketplaceOrderShippingItem.marketplaceOrderShipping
82
96
 
83
- if (marketplaceOrderShipping) {
84
- marketplaceOrderShippings.push(marketplaceOrderShipping)
85
- }
97
+ if (marketplaceOrderShipping) {
98
+ marketplaceOrderShippings.push(marketplaceOrderShipping)
99
+ }
100
+ })
86
101
  })
87
102
 
88
103
  let uniqueMarketplaceOrderShippings: MarketplaceOrderShipping[] = Array.from(
@@ -1,5 +1,6 @@
1
1
  import { MarketplaceStore, StoreAPI } from '@things-factory/integration-marketplace'
2
- import { MarketplaceOrder, MarketplaceOrderItem, MarketplaceOrderShipping } from '../../../entities'
2
+
3
+ import { MarketplaceOrder, MarketplaceOrderItem } from '../../../entities'
3
4
 
4
5
  export const initialiseLazadaLogisticsByBatch = {
5
6
  async initialiseLazadaLogisticsByBatch(_: any, { patches }, context: any) {
@@ -12,7 +13,8 @@ export const initialiseLazadaLogisticsByBatch = {
12
13
  relations: [
13
14
  'marketplaceStore',
14
15
  'marketplaceOrderItems',
15
- 'marketplaceOrderItems.marketplaceOrderShipping',
16
+ 'marketplaceOrderItems.marketplaceOrderShippingItems',
17
+ 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',
16
18
  'marketplaceOrderItems.marketplaceProductVariation'
17
19
  ]
18
20
  })
@@ -27,6 +27,8 @@ export const initialiseLogisticsByBatch = {
27
27
  marketplaceOrderShipping.trackingNo = patch?.trackingNo
28
28
  marketplaceOrderShipping.transporter = patch?.shippingProvider
29
29
  marketplaceOrderShipping.ownTransporter = patch?.shippingProvider
30
+ marketplaceOrderShipping.ownTrackingNo = patch.ownTrackingNo || patch?.trackingNo
31
+ marketplaceOrderShipping.trackingUrl = patch?.trackingUrl
30
32
  await tx.getRepository(MarketplaceOrderShipping).save(marketplaceOrderShipping)
31
33
 
32
34
  marketplaceOrder.shippingProvider = patch?.shippingProvider
@@ -1,5 +1,7 @@
1
- import { convertListParams, ListParam } from '@things-factory/shell'
2
1
  import { getRepository } from 'typeorm'
2
+
3
+ import { convertListParams, ListParam } from '@things-factory/shell'
4
+
3
5
  import { MarketplaceOrder } from '../../../entities'
4
6
  import { getLogisticsParam } from '../marketplace-order/get-logistics-param'
5
7
 
@@ -15,8 +17,9 @@ export const marketplaceOrdersForBatchInitResolver = {
15
17
  'domain',
16
18
  'marketplaceStore',
17
19
  'marketplaceOrderItems',
20
+ 'marketplaceOrderItems.marketplaceOrderShippingItems',
21
+ 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',
18
22
  'marketplaceOrderItems.marketplaceProductVariation',
19
- 'marketplaceOrderItems.marketplaceOrderShipping',
20
23
  'creator',
21
24
  'updater'
22
25
  ]
@@ -1,5 +1,6 @@
1
1
  import { getRepository, In } from 'typeorm'
2
- import { MarketplaceOrder, MarketplaceOrderItem } from '../../../entities'
2
+
3
+ import { MarketplaceOrder, MarketplaceOrderItem, MarketplaceOrderShippingItem } from '../../../entities'
3
4
 
4
5
  export const marketplaceOrdersForExport = {
5
6
  async marketplaceOrdersForExport(_: any, { orderNos }, context: any) {
@@ -8,7 +9,8 @@ export const marketplaceOrdersForExport = {
8
9
  relations: [
9
10
  'marketplaceStore',
10
11
  'marketplaceOrderItems',
11
- 'marketplaceOrderItems.marketplaceOrderShipping',
12
+ 'marketplaceOrderItems.marketplaceOrderShippingItems',
13
+ 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',
12
14
  'marketplaceOrderItems.marketplaceProductVariation'
13
15
  ]
14
16
  })
@@ -27,8 +29,10 @@ export const marketplaceOrdersForExport = {
27
29
  const updatedAt = order.orderUpdatedAt
28
30
 
29
31
  mergedOrder = marketplaceOrderItems.map(orderItem => {
32
+ const marketplaceOrderShippingItems: MarketplaceOrderShippingItem[] = orderItem.marketplaceOrderShippingItems
33
+
30
34
  const variationName: string = orderItem.marketplaceProductVariation.name
31
- const marketplaceOrderShipping = orderItem.marketplaceOrderShipping
35
+ const marketplaceOrderShipping = marketplaceOrderShippingItems[0].marketplaceOrderShipping
32
36
  const sku: string = orderItem.marketplaceProductVariation.sku
33
37
  const itemQty: number = orderItem.qty
34
38
  const trackingNo: string = marketplaceOrderShipping?.trackingNo
@@ -25,9 +25,10 @@ export const marketplaceOrdersResolver = {
25
25
  qb.leftJoinAndSelect('mo.domain', 'domain')
26
26
  .leftJoinAndSelect('mo.marketplaceStore', 'ms')
27
27
  .leftJoinAndSelect('mo.marketplaceOrderItems', 'mi')
28
+ .leftJoinAndSelect('mi.marketplaceOrderShippingItems', 'mosi')
28
29
  .leftJoinAndSelect('mi.marketplaceProductVariation', 'mpv')
29
30
  .leftJoinAndSelect('mpv.marketplaceProduct', 'mp')
30
- .leftJoinAndSelect('mi.marketplaceOrderShipping', 'mos')
31
+ .leftJoinAndSelect('mosi.marketplaceOrderShipping', 'mos')
31
32
  .leftJoinAndSelect('mo.creator', 'creator')
32
33
  .leftJoinAndSelect('mo.updater', 'updater')
33
34