@things-factory/operato-mms 5.0.0-alpha.5 → 5.0.0-alpha.50

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.
@@ -77,17 +77,24 @@ etraxRouter.post(`/lmd/etrax/status_update`, async (context, next) => {
77
77
  'marketplaceOrderItems',
78
78
  'marketplaceOrderItems.marketplaceOrderShippingItems',
79
79
  'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',
80
- 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping.fulfillmentCenter'
80
+ 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping.fulfillmentCenter',
81
+ 'marketplaceOrderItems.marketplaceProductVariation',
81
82
  ]
82
83
  })
83
84
  let orderItems: MarketplaceOrderItem[] = order.marketplaceOrderItems
84
85
 
86
+ const marketplaceStore: MarketplaceStore = order.marketplaceStore
87
+
88
+ const marketplaceTransporter: MarketplaceTransporter = await getRepository(MarketplaceTransporter).findOne({
89
+ where: { marketplaceStore },
90
+ relations: ['pickupTransporter']
91
+ })
92
+
85
93
  for (const orderItem of orderItems) {
86
94
  if (orderItem.marketplaceOrderShippingItems[0].marketplaceOrderShipping !== null) {
87
95
  const orderShippingItems: MarketplaceOrderShippingItem[] = orderItem.marketplaceOrderShippingItems
88
96
  const orderShipping: MarketplaceOrderShipping = orderShippingItems[0].marketplaceOrderShipping
89
97
  const fulfillmentCenter: FulfillmentCenter = orderShipping?.fulfillmentCenter
90
- const marketplaceStore: MarketplaceStore = order.marketplaceStore
91
98
 
92
99
  const currentDate: Date = new Date()
93
100
 
@@ -98,11 +105,6 @@ etraxRouter.post(`/lmd/etrax/status_update`, async (context, next) => {
98
105
  customerBizplace => customerBizplace.company.domain.id == order?.domain.id
99
106
  ).id
100
107
 
101
- const marketplaceTransporter: MarketplaceTransporter = await getRepository(MarketplaceTransporter).findOne({
102
- where: { marketplaceStore },
103
- relations: ['pickupTransporter']
104
- })
105
-
106
108
  let patch = {
107
109
  id: orderShipping.releaseOrderId,
108
110
  trackingNo: trackingNo,
@@ -117,14 +119,11 @@ etraxRouter.post(`/lmd/etrax/status_update`, async (context, next) => {
117
119
 
118
120
  await orderShippingRepo.update(
119
121
  { id: orderShipping.id },
120
- { trackingNo: trackingNo, airwayBill: awbUrl, updatedAt: currentDate }
122
+ { trackingNo: trackingNo, airwayBill: awbUrl, updatedAt: currentDate, transporter: marketplaceTransporter?.pickupTransporter.name || orderShipping.transporter }
121
123
  )
122
124
  }
123
125
  }
124
126
 
125
- const storeId = order.marketplaceStore.id
126
- const marketplaceStore: MarketplaceStore = await StoreAPI.getMarketplaceStore(storeId)
127
-
128
127
  // to-do update tracking no to every marketplaces
129
128
  if (marketplaceStore.platform === 'woocommerce' || marketplaceStore.platform === 'shopify') {
130
129
  const note = 'http://ets.sntglobal.com/?mod=tracking&action=index&orders=' + trackingNo
@@ -139,17 +138,45 @@ etraxRouter.post(`/lmd/etrax/status_update`, async (context, next) => {
139
138
  trackingUrl: note,
140
139
  trackingNo,
141
140
  order: orderInfo,
142
- note
141
+ note,
142
+ transporter: marketplaceTransporter?.pickupTransporter.name
143
143
  })
144
144
 
145
145
  if (marketplaceStore.platform === 'woocommerce') {
146
146
  await StoreAPI.updateOrderStatus(marketplaceStore, {
147
147
  orderId: order.name,
148
- status: 'READY_TO_SHIP'
148
+ status: 'DELIVERED'
149
149
  })
150
150
  }
151
151
  }
152
152
 
153
+ try {
154
+ const updatedOrder = await StoreAPI.getStoreOrder(marketplaceStore, { orderId: order.name })
155
+
156
+ order.status = updatedOrder.status
157
+ order.orderUpdatedAt = updatedOrder.orderUpdatedAt
158
+ order.trackingNo = updatedOrder.trackingNo
159
+ order.shippingProvider = updatedOrder.shippingProvider
160
+ await getRepository(MarketplaceOrder).save(order)
161
+
162
+ for (let idx = 0; idx < order.marketplaceOrderItems.length; idx++) {
163
+ let matchItem = updatedOrder.orderItems.find(
164
+ i => i.variationId == order.marketplaceOrderItems[idx].marketplaceProductVariation.variationId
165
+ )
166
+
167
+ if (matchItem) {
168
+ let targetMarketplaceOrderItem = {
169
+ ...order.marketplaceOrderItems[idx],
170
+ shippingProvider: matchItem.shippingProvider,
171
+ trackingCode: matchItem.trackingNo,
172
+ status: matchItem.status
173
+ }
174
+
175
+ await getRepository(MarketplaceOrderItem).save(targetMarketplaceOrderItem)
176
+ }
177
+ }
178
+ } catch(e) {}
179
+
153
180
  const resp = {
154
181
  Status: 'SUCCESS',
155
182
  Code: 200,
@@ -114,6 +114,7 @@
114
114
  "field.required_branch": "required branch",
115
115
  "field.required_sender": "required sender",
116
116
  "field.required_tracking": "required tracking",
117
+ "field.reserve_enabled": "reserve enabled",
117
118
  "field.reserve_qty": "reserve qty",
118
119
  "field.ro_created": "ro created",
119
120
  "field.save": "save",
@@ -145,6 +146,7 @@
145
146
  "field.town": "town",
146
147
  "field.tracking_no": "tracking no",
147
148
  "field.tracking_url": "tracking URL",
149
+ "field.transporter": "transporter",
148
150
  "field.type": "type",
149
151
  "field.unit": "unit",
150
152
  "field.uom_value": "UOM value",
@@ -1,16 +1,16 @@
1
1
  {
2
- "field.variation_id": "[ko] variation ID",
3
- "field.voucher_amt": "[ko] voucher amount",
2
+ "field.variation_id": "변수 ID",
3
+ "field.voucher_amt": "바우처 금액",
4
4
  "field.shipping_rebate": "[ko] shipping rebate",
5
- "field.shipping_mode": "[ko] shipping mode",
5
+ "field.shipping_mode": "선적 모드",
6
6
  "field.service_fee": "[ko] service fee",
7
7
  "field.transaction_fee": "[ko] transaction fee",
8
8
  "field.total_released_amt": "[ko] total release amount",
9
- "field.voucher_code": "[ko] voucher code",
9
+ "field.voucher_code": "바우처 코드",
10
10
  "field.comission_fee": "[ko] comission fee",
11
- "field.fulfilment_center": "[ko] fulfilment center",
12
- "button.add_product": "[ko] add product",
13
- "button.add": "[ko] add",
11
+ "field.fulfilment_center": "풀필먼트센터",
12
+ "button.add_product": "상품 추가",
13
+ "button.add": "추가",
14
14
  "button.airway_bill": "[ko] airway bill",
15
15
  "button.auto_link": "[ko] auto link",
16
16
  "button.back": "[ko] back",
@@ -45,15 +45,15 @@
45
45
  "field.address_id": "[ko] address id",
46
46
  "field.assigned_warehouse_sku": "[ko] assigned warehouse sku",
47
47
  "field.auto_shipping_fee_subsidy_by_lazada": "[ko] auto shipping fee subsidy (by lazada)",
48
- "field.available_to_purchase": "[ko] available to purchase",
49
- "field.available": "[ko] available",
48
+ "field.available_to_purchase": "구매 가능",
49
+ "field.available": "가능",
50
50
  "field.batch_id": "[ko] batch no",
51
51
  "field.branch_id": "[ko] branch id",
52
52
  "field.branch": "[ko] branch",
53
- "field.buyer_username": "[ko] buyer username",
54
- "field.channel_sku": "[ko] channel sku",
55
- "field.city": "[ko] city",
56
- "field.country": "[ko] country",
53
+ "field.buyer_username": "구매자 이름",
54
+ "field.channel_sku": "채널 SKU",
55
+ "field.city": "도시",
56
+ "field.country": "국가",
57
57
  "field.commission_fee": "[ko] commission fee",
58
58
  "field.criteria": "[ko] criteria",
59
59
  "field.date": "[ko] date",
@@ -69,7 +69,7 @@
69
69
  "field.is_splitted": "[ko] splitted",
70
70
  "field.item_count": "[ko] item count",
71
71
  "field.item_price_credit": "[ko] item price credit",
72
- "field.item": "[ko] item",
72
+ "field.item": "항목",
73
73
  "field.last_updated": "[ko] last updated",
74
74
  "field.lazada_bonus": "[ko] lazada bonus",
75
75
  "field.lazada_bonus_lzd_cofund": "[ko] lazada bonus - LZD co-fund",
@@ -114,6 +114,7 @@
114
114
  "field.required_branch": "[ko] required branch",
115
115
  "field.required_sender": "[ko] required sender",
116
116
  "field.required_tracking": "[ko] required tracking",
117
+ "field.reserve_enabled": "[ko] reserve enabled",
117
118
  "field.reserve_qty": "[ko] reserve qty",
118
119
  "field.ro_created": "[ko] ro created",
119
120
  "field.save": "[ko] save",
@@ -144,6 +145,7 @@
144
145
  "field.town": "[ko] town",
145
146
  "field.tracking_no": "[ko] tracking no",
146
147
  "field.tracking_url": "[ko] tracking URL",
148
+ "field.transporter": "[ko] transporter",
147
149
  "field.type": "[ko] type",
148
150
  "field.unit": "[ko] unit",
149
151
  "field.uom_value": "[ko] UOM value",
@@ -358,8 +360,8 @@
358
360
  "title.stock_replenishment_detail": "[ko] stock replenishment detail",
359
361
  "title.stock_replenishment_list": "[ko] stock replenishment list",
360
362
  "title.stock_replenishment": "[ko] stock replenishment",
361
- "title.sync_marketplace_order": "[ko] sync marketplace order",
362
- "title.uploaded_images": "[ko] uploaded images",
363
- "title.vas": "[ko] vas",
364
- "title.warehouse_products": "[ko] warehouse products"
365
- }
363
+ "title.sync_marketplace_order": "마켓플레이스 주문 동기화",
364
+ "title.uploaded_images": "업로드된 이미지",
365
+ "title.vas": "VAS",
366
+ "title.warehouse_products": "창고 상품"
367
+ }
@@ -114,6 +114,7 @@
114
114
  "field.required_branch": "[ms] required branch",
115
115
  "field.required_sender": "[ms] required sender",
116
116
  "field.required_tracking": "[ms] required tracking",
117
+ "field.reserve_enabled": "[ms] reserve enabled",
117
118
  "field.reserve_qty": "[ms] reserve qty",
118
119
  "field.ro_created": "[ms] ro created",
119
120
  "field.save": "[ms] save",
@@ -144,6 +145,7 @@
144
145
  "field.town": "[ms] town",
145
146
  "field.tracking_no": "[ms] tracking no",
146
147
  "field.tracking_url": "[ms] tracking URL",
148
+ "field.transporter": "[ms] transporter",
147
149
  "field.type": "[ms] type",
148
150
  "field.unit": "[ms] unit",
149
151
  "field.uom_value": "[ms] UOM value",
@@ -114,6 +114,7 @@
114
114
  "field.required_branch": "[zh] required branch",
115
115
  "field.required_sender": "[zh] required sender",
116
116
  "field.required_tracking": "[zh] required tracking",
117
+ "field.reserve_enabled": "[zh] reserve enabled",
117
118
  "field.reserve_qty": "[zh] reserve qty",
118
119
  "field.ro_created": "[zh] ro created",
119
120
  "field.save": "[zh] save",
@@ -144,6 +145,7 @@
144
145
  "field.town": "[zh] town",
145
146
  "field.tracking_no": "[zh] tracking no",
146
147
  "field.tracking_url": "[zh] tracking URL",
148
+ "field.transporter": "[zh] transporter",
147
149
  "field.type": "[zh] type",
148
150
  "field.unit": "[zh] unit",
149
151
  "field.uom_value": "[zh] UOM value",
@@ -1,88 +0,0 @@
1
- module.exports = {
2
- domainType: 'company',
3
- ormconfig: {
4
- name: 'default',
5
- type: 'sqlite',
6
- database: 'db.sqlite',
7
- synchronize: false,
8
- logging: true,
9
- logger: 'debug'
10
- // name: 'default',
11
- // type: 'postgres',
12
- // database: 'postgres',
13
- // username: 'postgres',
14
- // password: 'abcd1234',
15
- // host: 'localhost',
16
- // port: 15432,
17
- // synchronize: true,
18
- // logging: true
19
- },
20
- oauth2: {
21
- platforms: [
22
- {
23
- name: 'Operato Hub',
24
- apiURL: 'http://operato-m.localhost:3000/api'
25
- }
26
- ]
27
- },
28
- useVirtualHostBasedDomain: false,
29
- port: 5000,
30
- uploads: 'uploads',
31
- attachmentsPath: 'attachments',
32
- SECRET: '0xD58F835B69D207A76CC5F84a70a1D0d4C79dfC95',
33
- logger: {
34
- file: {
35
- filename: 'logs/application-%DATE%.log',
36
- datePattern: 'YYYY-MM-DD-HH',
37
- zippedArchive: true,
38
- maxSize: '200m',
39
- maxFiles: '1m',
40
- level: 'info'
41
- }
42
- },
43
- fulfillmentIntegrationOperato: {
44
- host: 'operatohub.com',
45
- platform: 'operato',
46
- application: 'Operato MMS',
47
- appKey: '480d19cbfb0655357878119559d47333',
48
- appSecret: 'dc5078bc17d50a18ef6fc3188934bbbd',
49
- callback: 'https://www.myoperato.com/callback-operato'
50
- },
51
- marketplaceIntegrationShopee: {
52
- platform: 'shopee',
53
- isUAT: false,
54
- application: 'Operato MMS',
55
- partnerId: 846025,
56
- partnerKey: 'd34cfd85a603f196a0d74ebe08043280c1a27788bb36bdffd61e7e0bb1c90b64'
57
- },
58
- marketplaceIntegrationLazada: {
59
- platform: 'lazada',
60
- application: 'operato-mms',
61
- appKey: '120961',
62
- appSecret: 'HB3RTNEXHlVSlBr9SmWF8AjbSUT7a825',
63
- callback: 'https://myoperato.com/lazada-callback'
64
- },
65
- notification: {
66
- fcm: {
67
- serviceAccount: {
68
- project_id: 'operato',
69
- private_key:
70
- '-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDYNOfyNjPMSeG9\nzU1qs0cpVK5cVfadcUaw5g+hkQZMOMlAA7uqW2eX4vkayj7MzbYUayH+sei8044Q\nJIyl6f26dNX1VT3UgTmSmCS0v48EBEZHCgusrUGFjduLRN6OS6uvrXW1xKA18k9q\nai1C2EHCXF2AE4PTvf239RC1UIOnVePcMtT7rMTdHRO4s8OKVuSDbzIt8k1cV3Zt\nES0YsJlkELqBisYpV//2/ZSILTt39J9JzrVef03X9kkoo9p+YnNyy6tWsfQPfgJO\nybiRGBNxiyJ/E2pxRo/WqU0go9OzYJlGaSUrUx09heNiRD1b0MAOmyPDJz/6AaTk\nkU/A+kLzAgMBAAECggEADQ5s2gtR53VSujk1V/Xe8e0Di99DwaWUj5w6YhcK7/wX\nPdQRN4Fw6RLeLjL7xeG/rCNSwzm6hKSrQJL5zLnWW7XbMdyQRk6jdmnVAEv3zACi\nFH9+eFK3e+Q214XfgWz/v4p/FZdRLCYni5VBNHcwyWxLLS/V1ynzB3KM1sDiTRmI\npcT7+uTtwrKgJq64sXtFE2pYrFxDdCiyqzkhv/2ed4YIowAjpKBbbcCDKeVxVkoz\nC1P4PAzs9EeUuKSWYrWaUjN17lqtRlYeT1ylR1PIJuWqd4cKfgoEgz+lHwRPDCEX\nAYbk3nofiJIPBhSfCHrXS755wK48mY8vMwFdfCPJeQKBgQDsz4tjYTHdat5A25n5\nekwMxZwFQ5OvMV4eulwZUDMypTAYSz1iB6sDlgwKDm5omZIfuneqCEIvrqxV/kx3\n5wV/DANHO3hYxdp/NV7rM23xmqlaKZhHQbDono1Fm/LP6DEmJiD7N2eFKsXYcPpR\nSAIdCv0X3zkDQ4zRi51yJlCXzQKBgQDpufJBxCoXngiQJ2j14lWVAeOOdQ6zh5Ip\nBcDwF0X67cNSN3Wl40bS4yLFdolhEAyj5m0WPuYYXpjzhHhZ0W3V3ItdBkrmwIvy\nWOWu26qN0ZbwxVS2qVpHuj6iHWJKHuDZZUkFtJg3BeeBSOUHSA8TvjnA0xd83xeb\n8ZJasWoFvwKBgQDFs/gQ/gIdcq0exLfluh5nw0qgcmyHpNWJHdjqITS9IX/nqFkU\n0IYLtmdStf2jQiLmbkydHcvz9wZVvLqml67VBHhwLcwpgPULoskd34/4V0Dvzy4c\nv1Esw8H5zVqIDLeLu+VpFjZMzQrjyl6RIWbyTExEc84rVWfpQYAu3qIGOQKBgAFr\nXatEk7TdAtRNSPflTfu/rTAaSeKROjQBkvBiU8x4US1YpOBDBxUUyAtG8wKh5FHC\nfnsaGq+fM3KXJVv2R6J62mXQOfg4xyDLpWlwcBK4aSBBMoiBcsjouqSlZQlqMpdf\nZBgixqHe6U8BsFJg/6ZxC0y+e3AIss4Bo4/lb+1lAoGAFOexvaBh21K6W3inmRW4\nLlkVYJaBJ20OwokXg5aXjBiHxqmk7VLAuFbkpb5LOKH2xPILRQ0OEkn51yVymS3T\n9lLpHOFTQXt5tF2/F7NW7kaQJNlLr/h5jPi3O9XHeFmuaN2z150ZB6zzgjeGKzr8\ni+1fgTsRfDtNw8xkSH9qL1Y=\n-----END PRIVATE KEY-----\n',
71
- client_email: 'firebase-adminsdk-xmm2e@operato.iam.gserviceaccount.com'
72
- },
73
- appConfig: {
74
- apiKey: 'AIzaSyDdTM2BTLHSt2LNS0G5QB8G0i4KBXFiG7U',
75
- projectId: 'operato',
76
- messagingSenderId: 79537064975,
77
- appId: '1:79537064975:web:32f53119e9c8c6ee2a277a'
78
- },
79
- serverKey:
80
- 'AAAAEoTHTA8:APA91bGwt-4HT82Dfwf_VwbQaKT0_qHd0Y3tuW41udjWz5Lz0Ko0mEMD6WbHHSILvQpa6yuoGGKCMsrU7VW2qWRrUm3CYpyG9oSwshNm1tIhljAnOuUfwHCoawbVLwf9qlWpHt4dwCoc'
81
- },
82
- vapidKey: {
83
- subject: 'mailto:heartyoh@hatiolab.com',
84
- publicKey: 'BAkVkITsCXBIsYL1yeaBmx5_dn57we-ZXMjirPPHzC2dan82cdEnAio_53PQ-1_w3ykWCBPrrFAWQ_d9N4cFF0o',
85
- privateKey: '4pmlt3Wk019u7nqU3Q_oGZE6LbUDjjf8DpmAcn9-iss'
86
- }
87
- }
88
- }