@things-factory/marketplace-base 3.6.3 → 3.6.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 (58) hide show
  1. package/dist-server/entities/marketplace-order-shipping.js +14 -2
  2. package/dist-server/entities/marketplace-order-shipping.js.map +1 -1
  3. package/dist-server/entities/marketplace-order.js +14 -2
  4. package/dist-server/entities/marketplace-order.js.map +1 -1
  5. package/dist-server/graphql/resolvers/marketplace-order/cancel-marketplace-order.js +26 -7
  6. package/dist-server/graphql/resolvers/marketplace-order/cancel-marketplace-order.js.map +1 -1
  7. package/dist-server/graphql/resolvers/marketplace-order/generate-marketplace-order.js +5 -0
  8. package/dist-server/graphql/resolvers/marketplace-order/generate-marketplace-order.js.map +1 -1
  9. package/dist-server/graphql/resolvers/marketplace-order/index.js +3 -1
  10. package/dist-server/graphql/resolvers/marketplace-order/index.js.map +1 -1
  11. package/dist-server/graphql/resolvers/marketplace-order/initialise-logistics-by-batch.js +3 -1
  12. package/dist-server/graphql/resolvers/marketplace-order/initialise-logistics-by-batch.js.map +1 -1
  13. package/dist-server/graphql/resolvers/marketplace-order/initialise-shopee-logistics-by-batch.js +2 -2
  14. package/dist-server/graphql/resolvers/marketplace-order/initialise-shopee-logistics-by-batch.js.map +1 -1
  15. package/dist-server/graphql/resolvers/marketplace-order/set-own-shipping-provider-by-orders.js +31 -0
  16. package/dist-server/graphql/resolvers/marketplace-order/set-own-shipping-provider-by-orders.js.map +1 -0
  17. package/dist-server/graphql/resolvers/marketplace-order/split-orders-by-batch.js +314 -181
  18. package/dist-server/graphql/resolvers/marketplace-order/split-orders-by-batch.js.map +1 -1
  19. package/dist-server/graphql/resolvers/marketplace-order/sync-all-marketplace-order.js +72 -38
  20. package/dist-server/graphql/resolvers/marketplace-order/sync-all-marketplace-order.js.map +1 -1
  21. package/dist-server/graphql/resolvers/marketplace-order/sync-marketplace-order.js +103 -45
  22. package/dist-server/graphql/resolvers/marketplace-order/sync-marketplace-order.js.map +1 -1
  23. package/dist-server/graphql/resolvers/marketplace-order/update-marketplace-order.js +21 -0
  24. package/dist-server/graphql/resolvers/marketplace-order/update-marketplace-order.js.map +1 -0
  25. package/dist-server/graphql/resolvers/marketplace-order-shipping/update-marketplace-order-shipping.js +2 -1
  26. package/dist-server/graphql/resolvers/marketplace-order-shipping/update-marketplace-order-shipping.js.map +1 -1
  27. package/dist-server/graphql/types/marketplace-order/index.js +2 -0
  28. package/dist-server/graphql/types/marketplace-order/index.js.map +1 -1
  29. package/dist-server/graphql/types/marketplace-order/logistics-info.js +2 -0
  30. package/dist-server/graphql/types/marketplace-order/logistics-info.js.map +1 -1
  31. package/dist-server/graphql/types/marketplace-order/marketplace-order.js +3 -0
  32. package/dist-server/graphql/types/marketplace-order/marketplace-order.js.map +1 -1
  33. package/dist-server/graphql/types/marketplace-order-shipping/marketplace-order-shipping-patch.js +3 -0
  34. package/dist-server/graphql/types/marketplace-order-shipping/marketplace-order-shipping-patch.js.map +1 -1
  35. package/dist-server/graphql/types/marketplace-order-shipping/marketplace-order-shipping.js +3 -0
  36. package/dist-server/graphql/types/marketplace-order-shipping/marketplace-order-shipping.js.map +1 -1
  37. package/dist-server/graphql/types/marketplace-order-shipping/new-marketplace-order-shipping.js +3 -0
  38. package/dist-server/graphql/types/marketplace-order-shipping/new-marketplace-order-shipping.js.map +1 -1
  39. package/package.json +5 -5
  40. package/server/entities/marketplace-order-shipping.ts +14 -2
  41. package/server/entities/marketplace-order.ts +15 -4
  42. package/server/graphql/resolvers/marketplace-order/cancel-marketplace-order.ts +27 -8
  43. package/server/graphql/resolvers/marketplace-order/generate-marketplace-order.ts +10 -3
  44. package/server/graphql/resolvers/marketplace-order/index.ts +5 -1
  45. package/server/graphql/resolvers/marketplace-order/initialise-logistics-by-batch.ts +3 -1
  46. package/server/graphql/resolvers/marketplace-order/initialise-shopee-logistics-by-batch.ts +4 -2
  47. package/server/graphql/resolvers/marketplace-order/set-own-shipping-provider-by-orders.ts +43 -0
  48. package/server/graphql/resolvers/marketplace-order/split-orders-by-batch.ts +368 -210
  49. package/server/graphql/resolvers/marketplace-order/sync-all-marketplace-order.ts +106 -53
  50. package/server/graphql/resolvers/marketplace-order/sync-marketplace-order.ts +138 -61
  51. package/server/graphql/resolvers/marketplace-order/update-marketplace-order.ts +35 -0
  52. package/server/graphql/resolvers/marketplace-order-shipping/update-marketplace-order-shipping.ts +3 -1
  53. package/server/graphql/types/marketplace-order/index.ts +2 -0
  54. package/server/graphql/types/marketplace-order/logistics-info.ts +2 -0
  55. package/server/graphql/types/marketplace-order/marketplace-order.ts +3 -0
  56. package/server/graphql/types/marketplace-order-shipping/marketplace-order-shipping-patch.ts +3 -0
  57. package/server/graphql/types/marketplace-order-shipping/marketplace-order-shipping.ts +3 -0
  58. package/server/graphql/types/marketplace-order-shipping/new-marketplace-order-shipping.ts +3 -0
@@ -113,6 +113,7 @@ export const syncAllMarketplaceOrder = {
113
113
  marketplaceOrder = await tx.getRepository(MarketplaceOrder).save(marketplaceOrder)
114
114
 
115
115
  let savedMarketplaceOrderShipping: MarketplaceOrderShipping = new MarketplaceOrderShipping()
116
+ let savedMarketplaceOrderShippings: MarketplaceOrderShipping[] = []
116
117
 
117
118
  if (order?.orderShipping) {
118
119
  const orderShipping: any = order.orderShipping
@@ -132,30 +133,66 @@ export const syncAllMarketplaceOrder = {
132
133
  marketplaceOrderShipping.phone2 = orderShipping.phone2
133
134
  marketplaceOrderShipping.trackingNo = order.trackingNo
134
135
  marketplaceOrderShipping.orderNoRef = marketplaceOrder.orderNo
136
+ marketplaceOrderShipping.subOrderNoRef = marketplaceOrder.orderNo
135
137
  marketplaceOrderShipping.marketplaceStore = marketplaceStore
136
138
  marketplaceOrderShipping.creator = user
137
139
  marketplaceOrderShipping.domain = marketplaceStore.domain
138
140
 
139
141
  if (existingMarketplaceOrder) {
140
- let existingOrderShipping: MarketplaceOrderShipping
141
- existingOrderShipping = existingMarketplaceOrder.marketplaceOrderItems[0].marketplaceOrderShipping
142
+ if (existingMarketplaceOrder.isSplitted) {
143
+ let existingOrderShippings: MarketplaceOrderShipping[] = await tx
144
+ .getRepository(MarketplaceOrderShipping)
145
+ .find({
146
+ where: { domain, marketplaceStore, orderNoRef: marketplaceOrder.orderNo }
147
+ })
148
+
149
+ existingOrderShippings = existingOrderShippings.map(item => {
150
+ return {
151
+ ...item,
152
+ address1: orderShipping.address1,
153
+ address2: orderShipping.address2,
154
+ address3: orderShipping.address3,
155
+ address4: orderShipping.address4,
156
+ address5: orderShipping.address5,
157
+ attentionTo: orderShipping.attentionTo,
158
+ city: orderShipping.city,
159
+ country: orderShipping.country,
160
+ postCode: orderShipping.postCode,
161
+ phone1: orderShipping.phone1,
162
+ phone2: orderShipping.phone2,
163
+ trackingNo: order.trackingNo
164
+ }
165
+ })
166
+
167
+ savedMarketplaceOrderShippings = await tx
168
+ .getRepository(MarketplaceOrderShipping)
169
+ .save(existingOrderShippings)
170
+ } else {
171
+ let existingOrderShipping: MarketplaceOrderShipping
172
+ existingOrderShipping = existingMarketplaceOrder.marketplaceOrderItems[0].marketplaceOrderShipping
173
+
174
+ marketplaceOrderShipping = {
175
+ ...existingOrderShipping,
176
+ ...marketplaceOrderShipping,
177
+ updater: user
178
+ }
142
179
 
143
- marketplaceOrderShipping = {
144
- ...existingOrderShipping,
145
- ...marketplaceOrderShipping,
146
- updater: user
180
+ savedMarketplaceOrderShipping = await tx
181
+ .getRepository(MarketplaceOrderShipping)
182
+ .save(marketplaceOrderShipping)
147
183
  }
184
+ } else {
185
+ savedMarketplaceOrderShipping = await tx
186
+ .getRepository(MarketplaceOrderShipping)
187
+ .save(marketplaceOrderShipping)
148
188
  }
149
-
150
- savedMarketplaceOrderShipping = await tx
151
- .getRepository(MarketplaceOrderShipping)
152
- .save(marketplaceOrderShipping)
153
189
  }
154
190
 
155
191
  let orderTotalWeight: number = 0
192
+ let foundVariation
156
193
  for (var j = 0; j < order.orderItems.length; j++) {
157
194
  var item = order.orderItems[j]
158
- let foundVariation = await tx
195
+ foundVariation = await tx
159
196
  .getRepository(MarketplaceProductVariation)
160
197
  .findOne({ where: { variationId: item.variationId } })
161
198
 
@@ -180,6 +217,7 @@ export const syncAllMarketplaceOrder = {
180
217
  marketplaceOrderItem.status = marketplaceOrder.status
181
218
  marketplaceOrderItem.marketplaceProductVariation = foundVariation
182
219
  marketplaceOrderItem.marketplaceOrder = marketplaceOrder
220
+ marketplaceOrderItem.trackingCode = order.trackingNo
183
221
  marketplaceOrderItem.marketplaceOrderShipping = savedMarketplaceOrderShipping
184
222
  marketplaceOrderItem.creator = user
185
223
 
@@ -190,58 +228,73 @@ export const syncAllMarketplaceOrder = {
190
228
  }
191
229
 
192
230
  if (existingMarketplaceOrder) {
193
- let existingOrderItems: MarketplaceOrderItem[] = []
194
- existingOrderItems = existingMarketplaceOrder.marketplaceOrderItems
195
-
196
- if (existingOrderItems.length > marketplaceOrderItems.length) {
197
- const nonMatchedOrderItems = []
198
- existingOrderItems.map(item => {
199
- const matchedOrderItem = marketplaceOrderItems.find(itm => itm.name == item.name)
200
- if (!matchedOrderItem) {
201
- nonMatchedOrderItems.push({ ...item })
202
- }
203
- })
204
- if (nonMatchedOrderItems.length > 0)
205
- await tx.getRepository(MarketplaceOrderItem).delete(nonMatchedOrderItems)
206
-
207
- existingOrderItems = marketplaceOrderItems.map(item => {
208
- const matchedOrderItem = existingOrderItems.find(itm => itm.name == item.name)
209
- if (matchedOrderItem) {
210
- return {
211
- ...matchedOrderItem,
212
- ...item,
213
- updater: user
214
- }
231
+ if (existingMarketplaceOrder.isSplitted) {
232
+ let existingOrderItems: MarketplaceOrderItem[] = []
233
+ existingOrderItems = existingMarketplaceOrder.marketplaceOrderItems
234
+
235
+ marketplaceOrderItems = existingOrderItems.filter(itm => itm.name == item.name)
236
+ marketplaceOrderItems = marketplaceOrderItems.map(marketplaceOrderitem => {
237
+ return {
238
+ ...marketplaceOrderitem,
239
+ status: order.status,
240
+ marketplaceProductVariation: foundVariation,
241
+ trackingCode: order.trackingNo
215
242
  }
216
243
  })
217
244
  } else {
218
- existingOrderItems = marketplaceOrderItems.map(item => {
219
- const matchedOrderItem = existingOrderItems.find(itm => itm.name == item.name)
220
- if (matchedOrderItem) {
221
- return {
222
- ...matchedOrderItem,
223
- ...item,
224
- updater: user
245
+ let existingOrderItems: MarketplaceOrderItem[] = []
246
+ existingOrderItems = existingMarketplaceOrder.marketplaceOrderItems
247
+
248
+ if (existingOrderItems.length > marketplaceOrderItems.length) {
249
+ let nonMatchedOrderItems = []
250
+ existingOrderItems.map(item => {
251
+ const matchedOrderItem = marketplaceOrderItems.find(itm => itm.name === item.name)
252
+ if (!matchedOrderItem) {
253
+ nonMatchedOrderItems.push({ ...item })
225
254
  }
226
- } else {
227
- return {
228
- ...item,
229
- updater: user
255
+ })
256
+ if (nonMatchedOrderItems.length > 0)
257
+ await tx.getRepository(MarketplaceOrderItem).delete(nonMatchedOrderItems)
258
+
259
+ existingOrderItems = marketplaceOrderItems.map(item => {
260
+ const matchedOrderItem = existingOrderItems.find(itm => itm.name == item.name)
261
+ if (matchedOrderItem) {
262
+ return {
263
+ ...matchedOrderItem,
264
+ ...item,
265
+ updater: user
266
+ }
230
267
  }
231
- }
232
- })
233
- }
268
+ })
269
+ } else {
270
+ existingOrderItems = marketplaceOrderItems.map(item => {
271
+ const matchedOrderItem = existingOrderItems.find(itm => itm.name == item.name)
272
+ if (matchedOrderItem) {
273
+ return {
274
+ ...matchedOrderItem,
275
+ ...item,
276
+ updater: user
277
+ }
278
+ } else {
279
+ return {
280
+ ...item,
281
+ updater: user
282
+ }
283
+ }
284
+ })
285
+ }
234
286
 
235
- marketplaceOrderItems = existingOrderItems
287
+ marketplaceOrderItems = existingOrderItems
288
+
289
+ savedMarketplaceOrderShipping.totalWeight = orderTotalWeight
290
+ savedMarketplaceOrderShipping = await tx
291
+ .getRepository(MarketplaceOrderShipping)
292
+ .save(savedMarketplaceOrderShipping)
293
+ }
236
294
  }
237
295
 
238
296
  await tx.getRepository(MarketplaceOrderItem).save(marketplaceOrderItems)
239
297
 
240
- savedMarketplaceOrderShipping.totalWeight = orderTotalWeight
241
- savedMarketplaceOrderShipping = await tx
242
- .getRepository(MarketplaceOrderShipping)
243
- .save(savedMarketplaceOrderShipping)
244
-
245
298
  if (j == marketplaceOrders.length - 1) {
246
299
  lastOrderId = order.name
247
300
  }
@@ -87,20 +87,41 @@ export const syncMarketplaceOrder = {
87
87
 
88
88
  const cancelStatuses: string[] = ['cancelled', 'canceled']
89
89
  if (cancelStatuses.includes(marketplaceOrder.status) && marketplaceOrder?.releaseOrderId) {
90
- const releaseOrderId: string = marketplaceOrder.releaseOrderId
91
- const fulfillmentCenter: FulfillmentCenter = marketplaceOrder.fulfillmentCenter
92
- const centerId: string = fulfillmentCenter.centerId
93
-
94
- const warehouseDomain: Domain = await tx.getRepository(Domain).findOne({ where: { subdomain: centerId } })
95
- const customerBizplaces: Bizplace[] = await getCustomerBizplaces(warehouseDomain)
96
- const customerBizplaceId: string = customerBizplaces[0].id
97
- await FulfillmentAPI.cancelReleaseOrder(fulfillmentCenter, { customerBizplaceId, releaseOrderId })
90
+ if (existingMarketplaceOrder.isSplitted) {
91
+ const fulfillmentCenter: FulfillmentCenter = marketplaceOrder.fulfillmentCenter
92
+ const centerId: string = fulfillmentCenter.centerId
93
+ const warehouseDomain: Domain = await tx.getRepository(Domain).findOne({ where: { subdomain: centerId } })
94
+ const customerBizplaces: Bizplace[] = await getCustomerBizplaces(warehouseDomain)
95
+ const customerBizplaceId: string = customerBizplaces[0].id
96
+
97
+ const { items: releaseOrders }: any = await FulfillmentAPI.getOutboundOrders(fulfillmentCenter, {
98
+ customerBizplaceId,
99
+ refNo: marketplaceOrder.orderNo
100
+ })
101
+
102
+ if (releaseOrders?.length) {
103
+ for (var a = 0; a < releaseOrders.length; a++) {
104
+ const releaseOrderId: string = releaseOrders[a].id
105
+ await FulfillmentAPI.cancelReleaseOrder(fulfillmentCenter, { customerBizplaceId, releaseOrderId })
106
+ }
107
+ }
108
+ } else {
109
+ const releaseOrderId: string = marketplaceOrder.releaseOrderId
110
+ const fulfillmentCenter: FulfillmentCenter = marketplaceOrder.fulfillmentCenter
111
+ const centerId: string = fulfillmentCenter.centerId
112
+
113
+ const warehouseDomain: Domain = await tx.getRepository(Domain).findOne({ where: { subdomain: centerId } })
114
+ const customerBizplaces: Bizplace[] = await getCustomerBizplaces(warehouseDomain)
115
+ const customerBizplaceId: string = customerBizplaces[0].id
116
+ await FulfillmentAPI.cancelReleaseOrder(fulfillmentCenter, { customerBizplaceId, releaseOrderId })
117
+ }
98
118
  }
99
119
  }
100
120
 
101
121
  marketplaceOrder = await tx.getRepository(MarketplaceOrder).save(marketplaceOrder)
102
122
 
103
123
  let savedMarketplaceOrderShipping: MarketplaceOrderShipping = new MarketplaceOrderShipping()
124
+ let savedMarketplaceOrderShippings: MarketplaceOrderShipping[] = []
104
125
 
105
126
  if (order?.orderShipping) {
106
127
  const orderShipping: any = order.orderShipping
@@ -120,30 +141,66 @@ export const syncMarketplaceOrder = {
120
141
  marketplaceOrderShipping.phone2 = orderShipping.phone2
121
142
  marketplaceOrderShipping.trackingNo = order.trackingNo
122
143
  marketplaceOrderShipping.orderNoRef = marketplaceOrder.orderNo
144
+ marketplaceOrderShipping.subOrderNoRef = marketplaceOrder.orderNo
123
145
  marketplaceOrderShipping.marketplaceStore = marketplaceStore
124
146
  marketplaceOrderShipping.creator = user
125
147
  marketplaceOrderShipping.domain = marketplaceStore.domain
126
148
 
127
149
  if (existingMarketplaceOrder) {
128
- let existingOrderShipping: MarketplaceOrderShipping
129
- existingOrderShipping = existingMarketplaceOrder.marketplaceOrderItems[0].marketplaceOrderShipping
150
+ if (existingMarketplaceOrder.isSplitted) {
151
+ let existingOrderShippings: MarketplaceOrderShipping[] = await tx
152
+ .getRepository(MarketplaceOrderShipping)
153
+ .find({
154
+ where: { domain, marketplaceStore, orderNoRef: marketplaceOrder.orderNo }
155
+ })
156
+
157
+ existingOrderShippings = existingOrderShippings.map(item => {
158
+ return {
159
+ ...item,
160
+ address1: orderShipping.address1,
161
+ address2: orderShipping.address2,
162
+ address3: orderShipping.address3,
163
+ address4: orderShipping.address4,
164
+ address5: orderShipping.address5,
165
+ attentionTo: orderShipping.attentionTo,
166
+ city: orderShipping.city,
167
+ country: orderShipping.country,
168
+ postCode: orderShipping.postCode,
169
+ phone1: orderShipping.phone1,
170
+ phone2: orderShipping.phone2,
171
+ trackingNo: order.trackingNo
172
+ }
173
+ })
174
+
175
+ savedMarketplaceOrderShippings = await tx
176
+ .getRepository(MarketplaceOrderShipping)
177
+ .save(existingOrderShippings)
178
+ } else {
179
+ let existingOrderShipping: MarketplaceOrderShipping
180
+ existingOrderShipping = existingMarketplaceOrder.marketplaceOrderItems[0].marketplaceOrderShipping
181
+
182
+ marketplaceOrderShipping = {
183
+ ...existingOrderShipping,
184
+ ...marketplaceOrderShipping,
185
+ updater: user
186
+ }
130
187
 
131
- marketplaceOrderShipping = {
132
- ...existingOrderShipping,
133
- ...marketplaceOrderShipping,
134
- updater: user
188
+ savedMarketplaceOrderShipping = await tx
189
+ .getRepository(MarketplaceOrderShipping)
190
+ .save(marketplaceOrderShipping)
135
191
  }
192
+ } else {
193
+ savedMarketplaceOrderShipping = await tx
194
+ .getRepository(MarketplaceOrderShipping)
195
+ .save(marketplaceOrderShipping)
136
196
  }
137
-
138
- savedMarketplaceOrderShipping = await tx
139
- .getRepository(MarketplaceOrderShipping)
140
- .save(marketplaceOrderShipping)
141
197
  }
142
198
 
143
199
  let orderTotalWeight: number = 0
200
+ let foundVariation
144
201
  for (var j = 0; j < order.orderItems.length; j++) {
145
202
  var item = order.orderItems[j]
146
- let foundVariation = await tx
203
+ foundVariation = await tx
147
204
  .getRepository(MarketplaceProductVariation)
148
205
  .findOne({ where: { domain: marketplaceStore.domain, variationId: item.variationId } })
149
206
 
@@ -180,58 +237,78 @@ export const syncMarketplaceOrder = {
180
237
  }
181
238
 
182
239
  if (existingMarketplaceOrder) {
183
- let existingOrderItems: MarketplaceOrderItem[] = []
184
- existingOrderItems = existingMarketplaceOrder.marketplaceOrderItems
185
-
186
- if (existingOrderItems.length > marketplaceOrderItems.length) {
187
- const nonMatchedOrderItems = []
188
- existingOrderItems.map(item => {
189
- const matchedOrderItem = marketplaceOrderItems.find(itm => itm.name == item.name)
190
- if (!matchedOrderItem) {
191
- nonMatchedOrderItems.push({ ...item })
192
- }
193
- })
194
- if (nonMatchedOrderItems.length > 0)
195
- await tx.getRepository(MarketplaceOrderItem).delete(nonMatchedOrderItems)
196
-
197
- existingOrderItems = marketplaceOrderItems.map(item => {
198
- const matchedOrderItem = existingOrderItems.find(itm => itm.name == item.name)
199
- if (matchedOrderItem) {
200
- return {
201
- ...matchedOrderItem,
202
- ...item,
203
- updater: user
204
- }
240
+ if (existingMarketplaceOrder.isSplitted) {
241
+ let existingOrderItems: MarketplaceOrderItem[] = []
242
+ existingOrderItems = existingMarketplaceOrder.marketplaceOrderItems
243
+
244
+ marketplaceOrderItems = existingOrderItems.filter(itm => itm.name == item.name)
245
+ marketplaceOrderItems = marketplaceOrderItems.map(marketplaceOrderitem => {
246
+ return {
247
+ ...marketplaceOrderitem,
248
+ status: order.status,
249
+ marketplaceProductVariation: foundVariation,
250
+ trackingCode: order.trackingNo
205
251
  }
206
252
  })
207
253
  } else {
208
- existingOrderItems = marketplaceOrderItems.map(item => {
209
- const matchedOrderItem = existingOrderItems.find(itm => itm.name == item.name)
210
- if (matchedOrderItem) {
211
- return {
212
- ...matchedOrderItem,
213
- ...item,
214
- updater: user
254
+ let existingOrderItems: MarketplaceOrderItem[] = []
255
+ existingOrderItems = existingMarketplaceOrder.marketplaceOrderItems
256
+
257
+ if (existingOrderItems.length > marketplaceOrderItems.length) {
258
+ let nonMatchedOrderItems = []
259
+ existingOrderItems.map(item => {
260
+ const matchedOrderItem = marketplaceOrderItems.find(itm => itm.name === item.name)
261
+ if (!matchedOrderItem) {
262
+ nonMatchedOrderItems.push({ ...item })
215
263
  }
216
- } else {
217
- return {
218
- ...item,
219
- updater: user
264
+ })
265
+ if (nonMatchedOrderItems.length > 0)
266
+ await tx.getRepository(MarketplaceOrderItem).delete(nonMatchedOrderItems)
267
+
268
+ existingOrderItems = marketplaceOrderItems.map(item => {
269
+ const matchedOrderItem = existingOrderItems.find(itm => itm.name == item.name)
270
+ if (matchedOrderItem) {
271
+ return {
272
+ ...matchedOrderItem,
273
+ ...item,
274
+ updater: user
275
+ }
220
276
  }
221
- }
222
- })
223
- }
277
+ })
278
+ } else {
279
+ existingOrderItems = marketplaceOrderItems.map(item => {
280
+ const matchedOrderItem = existingOrderItems.find(itm => itm.name == item.name)
281
+ if (matchedOrderItem) {
282
+ return {
283
+ ...matchedOrderItem,
284
+ ...item,
285
+ updater: user
286
+ }
287
+ } else {
288
+ return {
289
+ ...item,
290
+ updater: user
291
+ }
292
+ }
293
+ })
294
+ }
224
295
 
225
- marketplaceOrderItems = existingOrderItems
296
+ marketplaceOrderItems = existingOrderItems
297
+
298
+ savedMarketplaceOrderShipping.totalWeight = orderTotalWeight
299
+ savedMarketplaceOrderShipping = await tx
300
+ .getRepository(MarketplaceOrderShipping)
301
+ .save(savedMarketplaceOrderShipping)
302
+ }
303
+ } else {
304
+ savedMarketplaceOrderShipping.totalWeight = orderTotalWeight
305
+ savedMarketplaceOrderShipping = await tx
306
+ .getRepository(MarketplaceOrderShipping)
307
+ .save(savedMarketplaceOrderShipping)
226
308
  }
227
309
 
228
310
  await tx.getRepository(MarketplaceOrderItem).save(marketplaceOrderItems)
229
311
 
230
- savedMarketplaceOrderShipping.totalWeight = orderTotalWeight
231
- savedMarketplaceOrderShipping = await tx
232
- .getRepository(MarketplaceOrderShipping)
233
- .save(savedMarketplaceOrderShipping)
234
-
235
312
  if (i == marketplaceOrders.length - 1) {
236
313
  lastOrderId = order.name
237
314
  }