@things-factory/marketplace-base 8.0.7 → 9.0.0-beta.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -7
- package/server/constants/attachment.ts +0 -3
- package/server/constants/index.ts +0 -4
- package/server/constants/order.ts +0 -11
- package/server/constants/platform.ts +0 -7
- package/server/constants/product.ts +0 -5
- package/server/constants/reserve-qty-order-statuses.ts +0 -7
- package/server/controllers/index.ts +0 -0
- package/server/entities/index.ts +0 -45
- package/server/entities/marketplace-order-item.ts +0 -137
- package/server/entities/marketplace-order-shipping-item.ts +0 -55
- package/server/entities/marketplace-order-shipping.ts +0 -168
- package/server/entities/marketplace-order.ts +0 -141
- package/server/entities/marketplace-product-attribute.ts +0 -83
- package/server/entities/marketplace-product-category.ts +0 -53
- package/server/entities/marketplace-product-variation-price.ts +0 -63
- package/server/entities/marketplace-product-variation.ts +0 -147
- package/server/entities/marketplace-product.ts +0 -164
- package/server/entities/marketplace-refund-order-item.ts +0 -56
- package/server/entities/marketplace-refund-order.ts +0 -51
- package/server/entities/marketplace-setting.ts +0 -49
- package/server/entities/store-replenishment-item.ts +0 -48
- package/server/entities/store-replenishment.ts +0 -79
- package/server/graphql/index.ts +0 -9
- package/server/graphql/resolvers/index.ts +0 -14
- package/server/graphql/resolvers/marketplace-order/auto-initialise-logistics-by-batch.ts +0 -164
- package/server/graphql/resolvers/marketplace-order/auto-update-order-ready-to-ship.ts +0 -136
- package/server/graphql/resolvers/marketplace-order/cancel-marketplace-order.ts +0 -64
- package/server/graphql/resolvers/marketplace-order/create-marketplace-order-note.ts +0 -21
- package/server/graphql/resolvers/marketplace-order/dashboard-marketplace-orders.ts +0 -82
- package/server/graphql/resolvers/marketplace-order/dashboard-marketplace-sales-average.ts +0 -82
- package/server/graphql/resolvers/marketplace-order/dashboard-marketplace-sales.ts +0 -93
- package/server/graphql/resolvers/marketplace-order/delete-marketplace-orders.ts +0 -17
- package/server/graphql/resolvers/marketplace-order/generate-marketplace-order.ts +0 -180
- package/server/graphql/resolvers/marketplace-order/get-address-list.ts +0 -9
- package/server/graphql/resolvers/marketplace-order/get-branch-list.ts +0 -9
- package/server/graphql/resolvers/marketplace-order/get-etrax-order-document.ts +0 -49
- package/server/graphql/resolvers/marketplace-order/get-logistics-param.ts +0 -47
- package/server/graphql/resolvers/marketplace-order/get-order-document.ts +0 -149
- package/server/graphql/resolvers/marketplace-order/get-store-logistics.ts +0 -9
- package/server/graphql/resolvers/marketplace-order/get-time-slot.ts +0 -9
- package/server/graphql/resolvers/marketplace-order/index.ts +0 -75
- package/server/graphql/resolvers/marketplace-order/initialise-lazada-logistics-by-batch.ts +0 -165
- package/server/graphql/resolvers/marketplace-order/initialise-logistics-by-batch.ts +0 -41
- package/server/graphql/resolvers/marketplace-order/initialise-logistics.ts +0 -29
- package/server/graphql/resolvers/marketplace-order/initialise-shopee-logistics-by-batch.ts +0 -97
- package/server/graphql/resolvers/marketplace-order/marketplace-order.ts +0 -12
- package/server/graphql/resolvers/marketplace-order/marketplace-orders-for-batch-init.ts +0 -52
- package/server/graphql/resolvers/marketplace-order/marketplace-orders-for-export.ts +0 -63
- package/server/graphql/resolvers/marketplace-order/marketplace-orders.ts +0 -56
- package/server/graphql/resolvers/marketplace-order/set-marketplace-order-delivered.ts +0 -25
- package/server/graphql/resolvers/marketplace-order/set-marketplace-order-failed-delivery.ts +0 -25
- package/server/graphql/resolvers/marketplace-order/set-own-shipping-provider-by-orders.ts +0 -39
- package/server/graphql/resolvers/marketplace-order/split-orders-by-batch.ts +0 -245
- package/server/graphql/resolvers/marketplace-order/sync-all-marketplace-order.ts +0 -39
- package/server/graphql/resolvers/marketplace-order/sync-marketplace-order.ts +0 -940
- package/server/graphql/resolvers/marketplace-order/sync-marketplace-orders-by-platform.ts +0 -31
- package/server/graphql/resolvers/marketplace-order/sync-shopee-awb.ts +0 -49
- package/server/graphql/resolvers/marketplace-order/update-marketplace-order.ts +0 -35
- package/server/graphql/resolvers/marketplace-order/update-order-ready-to-ship.ts +0 -142
- package/server/graphql/resolvers/marketplace-order-item/create-marketplace-order-item.ts +0 -14
- package/server/graphql/resolvers/marketplace-order-item/delete-marketplace-order-item.ts +0 -10
- package/server/graphql/resolvers/marketplace-order-item/delete-marketplace-order-items.ts +0 -17
- package/server/graphql/resolvers/marketplace-order-item/index.ts +0 -22
- package/server/graphql/resolvers/marketplace-order-item/marketplace-order-item.ts +0 -14
- package/server/graphql/resolvers/marketplace-order-item/marketplace-order-items.ts +0 -15
- package/server/graphql/resolvers/marketplace-order-item/update-marketplace-order-item.ts +0 -18
- package/server/graphql/resolvers/marketplace-order-item/update-multiple-marketplace-order-item.ts +0 -44
- package/server/graphql/resolvers/marketplace-order-shipping/create-marketplace-order-shipping.ts +0 -14
- package/server/graphql/resolvers/marketplace-order-shipping/delete-marketplace-order-shipping.ts +0 -10
- package/server/graphql/resolvers/marketplace-order-shipping/delete-marketplace-order-shippings.ts +0 -17
- package/server/graphql/resolvers/marketplace-order-shipping/index.ts +0 -23
- package/server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shipping.ts +0 -25
- package/server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shippings-for-batch-init.ts +0 -88
- package/server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shippings.ts +0 -43
- package/server/graphql/resolvers/marketplace-order-shipping/update-marketplace-order-shipping.ts +0 -32
- package/server/graphql/resolvers/marketplace-order-shipping/update-multiple-marketplace-order-shipping.ts +0 -44
- package/server/graphql/resolvers/marketplace-order-shipping-item/create-marketplace-order-shipping-item.ts +0 -14
- package/server/graphql/resolvers/marketplace-order-shipping-item/delete-marketplace-order-shipping-item.ts +0 -10
- package/server/graphql/resolvers/marketplace-order-shipping-item/delete-marketplace-order-shipping-items.ts +0 -15
- package/server/graphql/resolvers/marketplace-order-shipping-item/index.ts +0 -20
- package/server/graphql/resolvers/marketplace-order-shipping-item/marketplace-order-shipping-item.ts +0 -21
- package/server/graphql/resolvers/marketplace-order-shipping-item/marketplace-order-shipping-items.ts +0 -14
- package/server/graphql/resolvers/marketplace-order-shipping-item/update-marketplace-order-shipping-item.ts +0 -18
- package/server/graphql/resolvers/marketplace-order-shipping-item/update-multiple-marketplace-order-shipping-item.ts +0 -44
- package/server/graphql/resolvers/marketplace-product/create-marketplace-product.ts +0 -35
- package/server/graphql/resolvers/marketplace-product/delete-marketplace-product.ts +0 -10
- package/server/graphql/resolvers/marketplace-product/delete-marketplace-products.ts +0 -17
- package/server/graphql/resolvers/marketplace-product/index.ts +0 -27
- package/server/graphql/resolvers/marketplace-product/marketplace-product.ts +0 -24
- package/server/graphql/resolvers/marketplace-product/marketplace-products.ts +0 -23
- package/server/graphql/resolvers/marketplace-product/sync-all-marketplace-store-products.ts +0 -225
- package/server/graphql/resolvers/marketplace-product/sync-marketplace-store-products.ts +0 -222
- package/server/graphql/resolvers/marketplace-product/update-marketplace-product.ts +0 -24
- package/server/graphql/resolvers/marketplace-product/upsert-marketplace-product.ts +0 -39
- package/server/graphql/resolvers/marketplace-product-attribute/create-marketplace-product-attribute.ts +0 -14
- package/server/graphql/resolvers/marketplace-product-attribute/delete-marketplace-product-attribute.ts +0 -10
- package/server/graphql/resolvers/marketplace-product-attribute/delete-marketplace-product-attributes.ts +0 -17
- package/server/graphql/resolvers/marketplace-product-attribute/index.ts +0 -22
- package/server/graphql/resolvers/marketplace-product-attribute/marketplace-product-attribute.ts +0 -14
- package/server/graphql/resolvers/marketplace-product-attribute/marketplace-product-attributes.ts +0 -14
- package/server/graphql/resolvers/marketplace-product-attribute/update-marketplace-product-attribute.ts +0 -18
- package/server/graphql/resolvers/marketplace-product-attribute/update-multiple-marketplace-product-attribute.ts +0 -44
- package/server/graphql/resolvers/marketplace-product-category/create-marketplace-product-category.ts +0 -14
- package/server/graphql/resolvers/marketplace-product-category/delete-marketplace-product-categories.ts +0 -17
- package/server/graphql/resolvers/marketplace-product-category/delete-marketplace-product-category.ts +0 -10
- package/server/graphql/resolvers/marketplace-product-category/index.ts +0 -22
- package/server/graphql/resolvers/marketplace-product-category/marketplace-product-categories.ts +0 -14
- package/server/graphql/resolvers/marketplace-product-category/marketplace-product-category.ts +0 -14
- package/server/graphql/resolvers/marketplace-product-category/update-marketplace-product-category.ts +0 -18
- package/server/graphql/resolvers/marketplace-product-category/update-multiple-marketplace-product-category.ts +0 -44
- package/server/graphql/resolvers/marketplace-product-variation/create-marketplace-product-variation.ts +0 -14
- package/server/graphql/resolvers/marketplace-product-variation/delete-marketplace-product-variation.ts +0 -10
- package/server/graphql/resolvers/marketplace-product-variation/delete-marketplace-product-variations.ts +0 -17
- package/server/graphql/resolvers/marketplace-product-variation/index.ts +0 -30
- package/server/graphql/resolvers/marketplace-product-variation/link-warehouse-marketplace-product-variations.ts +0 -59
- package/server/graphql/resolvers/marketplace-product-variation/marketplace-product-variation.ts +0 -14
- package/server/graphql/resolvers/marketplace-product-variation/marketplace-product-variations.ts +0 -79
- package/server/graphql/resolvers/marketplace-product-variation/update-marketplace-product-variation.ts +0 -32
- package/server/graphql/resolvers/marketplace-product-variation/update-multiple-marketplace-product-variation-quantity.ts +0 -76
- package/server/graphql/resolvers/marketplace-product-variation/update-multiple-marketplace-product-variations.ts +0 -49
- package/server/graphql/resolvers/marketplace-product-variation-price/create-marketplace-product-variation-price.ts +0 -16
- package/server/graphql/resolvers/marketplace-product-variation-price/delete-marketplace-product-variation-price.ts +0 -13
- package/server/graphql/resolvers/marketplace-product-variation-price/delete-marketplace-product-variation-prices.ts +0 -18
- package/server/graphql/resolvers/marketplace-product-variation-price/index.ts +0 -19
- package/server/graphql/resolvers/marketplace-product-variation-price/marketplace-product-variation-price-query.ts +0 -52
- package/server/graphql/resolvers/marketplace-product-variation-price/update-marketplace-product-variation-price.ts +0 -20
- package/server/graphql/resolvers/marketplace-product-variation-price/update-multiple-marketplace-product-variation-price.ts +0 -49
- package/server/graphql/resolvers/marketplace-refund-order/index.ts +0 -9
- package/server/graphql/resolvers/marketplace-refund-order/sync-all-marketplace-refund-orders.ts +0 -122
- package/server/graphql/resolvers/marketplace-refund-order/sync-marketplace-refund-orders.ts +0 -106
- package/server/graphql/resolvers/marketplace-report/index.ts +0 -7
- package/server/graphql/resolvers/marketplace-report/marketplace-sales-report.ts +0 -143
- package/server/graphql/resolvers/store-replenishment/create-store-replenishment.ts +0 -16
- package/server/graphql/resolvers/store-replenishment/delete-store-replenishment.ts +0 -13
- package/server/graphql/resolvers/store-replenishment/delete-store-replenishments.ts +0 -18
- package/server/graphql/resolvers/store-replenishment/index.ts +0 -19
- package/server/graphql/resolvers/store-replenishment/store-replenishment-query.ts +0 -52
- package/server/graphql/resolvers/store-replenishment/update-multiple-store-replenishment.ts +0 -49
- package/server/graphql/resolvers/store-replenishment/update-store-replenishment.ts +0 -20
- package/server/graphql/resolvers/store-replenishment-item/create-store-replenishment-item.ts +0 -16
- package/server/graphql/resolvers/store-replenishment-item/delete-store-replenishment-item.ts +0 -13
- package/server/graphql/resolvers/store-replenishment-item/delete-store-replenishment-items.ts +0 -18
- package/server/graphql/resolvers/store-replenishment-item/index.ts +0 -19
- package/server/graphql/resolvers/store-replenishment-item/store-replenishment-item-query.ts +0 -52
- package/server/graphql/resolvers/store-replenishment-item/update-multiple-store-replenishment-item.ts +0 -49
- package/server/graphql/resolvers/store-replenishment-item/update-store-replenishment-item.ts +0 -20
- package/server/graphql/types/index.ts +0 -13
- package/server/graphql/types/marketplace-order/dashboard-order.ts +0 -13
- package/server/graphql/types/marketplace-order/full-logistics-detail.ts +0 -10
- package/server/graphql/types/marketplace-order/index.ts +0 -69
- package/server/graphql/types/marketplace-order/logistics-detail.ts +0 -8
- package/server/graphql/types/marketplace-order/logistics-info.ts +0 -27
- package/server/graphql/types/marketplace-order/logistics-init.ts +0 -9
- package/server/graphql/types/marketplace-order/logistics-time.ts +0 -9
- package/server/graphql/types/marketplace-order/logistics.ts +0 -21
- package/server/graphql/types/marketplace-order/marketplace-logistics.ts +0 -11
- package/server/graphql/types/marketplace-order/marketplace-order-export.ts +0 -19
- package/server/graphql/types/marketplace-order/marketplace-order-list.ts +0 -8
- package/server/graphql/types/marketplace-order/marketplace-order-patch.ts +0 -14
- package/server/graphql/types/marketplace-order/marketplace-order.ts +0 -40
- package/server/graphql/types/marketplace-order/new-marketplace-order.ts +0 -22
- package/server/graphql/types/marketplace-order/order-address.ts +0 -16
- package/server/graphql/types/marketplace-order/order-document.ts +0 -13
- package/server/graphql/types/marketplace-order-item/index.ts +0 -21
- package/server/graphql/types/marketplace-order-item/marketplace-order-item-list.ts +0 -8
- package/server/graphql/types/marketplace-order-item/marketplace-order-item-patch.ts +0 -10
- package/server/graphql/types/marketplace-order-item/marketplace-order-item.ts +0 -32
- package/server/graphql/types/marketplace-order-item/new-marketplace-order-item.ts +0 -17
- package/server/graphql/types/marketplace-order-shipping/index.ts +0 -31
- package/server/graphql/types/marketplace-order-shipping/marketplace-order-shipping-list.ts +0 -8
- package/server/graphql/types/marketplace-order-shipping/marketplace-order-shipping-patch.ts +0 -45
- package/server/graphql/types/marketplace-order-shipping/marketplace-order-shipping.ts +0 -59
- package/server/graphql/types/marketplace-order-shipping/new-marketplace-order-shipping.ts +0 -44
- package/server/graphql/types/marketplace-order-shipping-item/index.ts +0 -32
- package/server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item-list.ts +0 -8
- package/server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item-patch.ts +0 -13
- package/server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item.ts +0 -16
- package/server/graphql/types/marketplace-order-shipping-item/new-marketplace-order-shipping-item.ts +0 -12
- package/server/graphql/types/marketplace-product/index.ts +0 -28
- package/server/graphql/types/marketplace-product/marketplace-product-list.ts +0 -8
- package/server/graphql/types/marketplace-product/marketplace-product-patch.ts +0 -24
- package/server/graphql/types/marketplace-product/marketplace-product.ts +0 -30
- package/server/graphql/types/marketplace-product/new-marketplace-product.ts +0 -24
- package/server/graphql/types/marketplace-product-attribute/index.ts +0 -35
- package/server/graphql/types/marketplace-product-attribute/marketplace-product-attribute-list.ts +0 -8
- package/server/graphql/types/marketplace-product-attribute/marketplace-product-attribute-patch.ts +0 -10
- package/server/graphql/types/marketplace-product-attribute/marketplace-product-attribute.ts +0 -20
- package/server/graphql/types/marketplace-product-attribute/new-marketplace-product-attribute.ts +0 -13
- package/server/graphql/types/marketplace-product-category/index.ts +0 -28
- package/server/graphql/types/marketplace-product-category/marketplace-product-category-list.ts +0 -8
- package/server/graphql/types/marketplace-product-category/marketplace-product-category-patch.ts +0 -10
- package/server/graphql/types/marketplace-product-category/marketplace-product-category.ts +0 -17
- package/server/graphql/types/marketplace-product-category/new-marketplace-product-category.ts +0 -10
- package/server/graphql/types/marketplace-product-variation/index.ts +0 -47
- package/server/graphql/types/marketplace-product-variation/marketplace-product-variation-list.ts +0 -8
- package/server/graphql/types/marketplace-product-variation/marketplace-product-variation-patch.ts +0 -32
- package/server/graphql/types/marketplace-product-variation/marketplace-product-variation.ts +0 -35
- package/server/graphql/types/marketplace-product-variation/new-marketplace-product-variation.ts +0 -26
- package/server/graphql/types/marketplace-product-variation/warehouse-product.ts +0 -9
- package/server/graphql/types/marketplace-product-variation-price/index.ts +0 -21
- package/server/graphql/types/marketplace-product-variation-price/marketplace-product-variation-price-list.ts +0 -8
- package/server/graphql/types/marketplace-product-variation-price/marketplace-product-variation-price-patch.ts +0 -17
- package/server/graphql/types/marketplace-product-variation-price/marketplace-product-variation-price.ts +0 -21
- package/server/graphql/types/marketplace-product-variation-price/new-marketplace-product-variation-price.ts +0 -14
- package/server/graphql/types/marketplace-refund-order/index.ts +0 -16
- package/server/graphql/types/marketplace-refund-order/marketplace-refund-order-list.ts +0 -8
- package/server/graphql/types/marketplace-refund-order/marketplace-refund-order.ts +0 -17
- package/server/graphql/types/marketplace-report/index.ts +0 -10
- package/server/graphql/types/marketplace-report/marketplace-sales-report-list.ts +0 -8
- package/server/graphql/types/marketplace-report/marketplace-sales-report.ts +0 -67
- package/server/graphql/types/store-replenishment/index.ts +0 -21
- package/server/graphql/types/store-replenishment/new-store-replenishment.ts +0 -8
- package/server/graphql/types/store-replenishment/store-replenishment-list.ts +0 -8
- package/server/graphql/types/store-replenishment/store-replenishment-patch.ts +0 -10
- package/server/graphql/types/store-replenishment/store-replenishment.ts +0 -24
- package/server/graphql/types/store-replenishment-item/index.ts +0 -21
- package/server/graphql/types/store-replenishment-item/new-store-replenishment-item.ts +0 -8
- package/server/graphql/types/store-replenishment-item/store-replenishment-item-list.ts +0 -8
- package/server/graphql/types/store-replenishment-item/store-replenishment-item-patch.ts +0 -10
- package/server/graphql/types/store-replenishment-item/store-replenishment-item.ts +0 -15
- package/server/index.ts +0 -6
- package/server/middlewares/index.ts +0 -3
- package/server/migrations/index.ts +0 -9
- package/server/routes.ts +0 -26
- package/server/utils/index.ts +0 -1
- package/server/utils/no-generator.ts +0 -25
- package/tsconfig.json +0 -9
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { getRepository } from '@things-factory/shell'
|
|
2
|
-
|
|
3
|
-
import { ORDER_STATUS } from '../../../constants'
|
|
4
|
-
import { MarketplaceOrder } from '../../../entities'
|
|
5
|
-
|
|
6
|
-
export const dashboardMarketplaceSalesAverageResolver = {
|
|
7
|
-
async dashboardMarketplaceSalesAverage(_: any, { dayCount, endDate }, context: ResolverContext) {
|
|
8
|
-
const domain = context.state.domain
|
|
9
|
-
|
|
10
|
-
if (!dayCount) dayCount = 7
|
|
11
|
-
|
|
12
|
-
// 1. initialize time interval
|
|
13
|
-
if (endDate && endDate !== '') {
|
|
14
|
-
endDate = new Date(`${endDate.split(' ').join('')}`)
|
|
15
|
-
|
|
16
|
-
if (endDate instanceof Date && !isNaN(endDate.getDate())) var timeNow = '23:59:59'
|
|
17
|
-
else throw new Error('endDate is invalid')
|
|
18
|
-
} else {
|
|
19
|
-
endDate = new Date()
|
|
20
|
-
var hh = `${String(endDate.getHours()).padStart(2, '0')}`
|
|
21
|
-
var mm = `${String(endDate.getMinutes()).padStart(2, '0')}`
|
|
22
|
-
var ss = `${String(endDate.getSeconds()).padStart(2, '0')}`
|
|
23
|
-
var timeNow = `${hh}:${mm}:${ss}`
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// 2. set startDate & compare equal 7 days or dayCount before endDate
|
|
27
|
-
let startDate = new Date(endDate)
|
|
28
|
-
startDate.setDate(startDate.getDate() - dayCount)
|
|
29
|
-
startDate.setHours(0)
|
|
30
|
-
startDate.setMinutes(0)
|
|
31
|
-
startDate.setSeconds(0)
|
|
32
|
-
|
|
33
|
-
let compareDate = new Date(endDate)
|
|
34
|
-
compareDate.setDate(compareDate.getDate() - dayCount)
|
|
35
|
-
compareDate.setHours(0)
|
|
36
|
-
compareDate.setMinutes(0)
|
|
37
|
-
compareDate.setSeconds(0)
|
|
38
|
-
|
|
39
|
-
// 3. get sales data
|
|
40
|
-
const marketplaceOrders = await getRepository(MarketplaceOrder).query(`
|
|
41
|
-
select order_date, round(cast(avg(amount) as numeric), 2) as sales_avg from (
|
|
42
|
-
select date(mo.order_created_at) as order_date,
|
|
43
|
-
mo.total_amount::float as amount
|
|
44
|
-
from marketplace_orders mo
|
|
45
|
-
where mo.order_created_at between '${startDate.toLocaleDateString()} 00:00:00' and '${endDate.toLocaleDateString()} ${timeNow}'
|
|
46
|
-
and mo.status in ('${ORDER_STATUS.COMPLETED}', '${ORDER_STATUS.DELIVERED}', '${
|
|
47
|
-
ORDER_STATUS.TO_CONFIRM_RECEIVE
|
|
48
|
-
}', '${ORDER_STATUS.SHIPPED}')
|
|
49
|
-
and mo.domain_id = '${domain.id}'
|
|
50
|
-
) as foo
|
|
51
|
-
group by order_date
|
|
52
|
-
order by order_date asc
|
|
53
|
-
`)
|
|
54
|
-
|
|
55
|
-
// 4. initialize item array
|
|
56
|
-
let items = []
|
|
57
|
-
for (let i = 0; i < dayCount; i++) {
|
|
58
|
-
const month = startDate.toLocaleString('default', { month: 'short' })
|
|
59
|
-
const day = startDate.getDate()
|
|
60
|
-
|
|
61
|
-
items.push({
|
|
62
|
-
date: `${month} ${String(day).padStart(2, '0')}`,
|
|
63
|
-
salesAvg: 0.0
|
|
64
|
-
})
|
|
65
|
-
startDate.setDate(startDate.getDate() + 1)
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
// 5. assign orders data according to date
|
|
69
|
-
items = items.map(item => {
|
|
70
|
-
marketplaceOrders.forEach(order => {
|
|
71
|
-
if (order.order_date.toLocaleDateString() === compareDate.toLocaleDateString()) {
|
|
72
|
-
item.salesAvg = order.sales_avg
|
|
73
|
-
}
|
|
74
|
-
})
|
|
75
|
-
|
|
76
|
-
compareDate.setDate(compareDate.getDate() + 1)
|
|
77
|
-
return item
|
|
78
|
-
})
|
|
79
|
-
|
|
80
|
-
return items
|
|
81
|
-
}
|
|
82
|
-
}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { getRepository } from '@things-factory/shell'
|
|
2
|
-
|
|
3
|
-
import { MARKETPLACE_PLATFORM, ORDER_STATUS } from '../../../constants'
|
|
4
|
-
import { MarketplaceOrder } from '../../../entities'
|
|
5
|
-
|
|
6
|
-
export const dashboardMarketplaceSalesResolver = {
|
|
7
|
-
async dashboardMarketplaceSales(_: any, { dayCount, endDate }, context: ResolverContext) {
|
|
8
|
-
const domain = context.state.domain
|
|
9
|
-
|
|
10
|
-
if (!dayCount) dayCount = 7
|
|
11
|
-
|
|
12
|
-
// 1. initialize time interval
|
|
13
|
-
if (endDate && endDate !== '') {
|
|
14
|
-
endDate = new Date(`${endDate.split(' ').join('')}`)
|
|
15
|
-
|
|
16
|
-
if (endDate instanceof Date && !isNaN(endDate.getDate())) var timeNow = '23:59:59'
|
|
17
|
-
else throw new Error('endDate is invalid')
|
|
18
|
-
} else {
|
|
19
|
-
endDate = new Date()
|
|
20
|
-
var hh = `${String(endDate.getHours()).padStart(2, '0')}`
|
|
21
|
-
var mm = `${String(endDate.getMinutes()).padStart(2, '0')}`
|
|
22
|
-
var ss = `${String(endDate.getSeconds()).padStart(2, '0')}`
|
|
23
|
-
var timeNow = `${hh}:${mm}:${ss}`
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// 2. set startDate & compare equal 7 days or dayCount before endDate
|
|
27
|
-
let startDate = new Date(endDate)
|
|
28
|
-
startDate.setDate(startDate.getDate() - dayCount)
|
|
29
|
-
startDate.setHours(0)
|
|
30
|
-
startDate.setMinutes(0)
|
|
31
|
-
startDate.setSeconds(0)
|
|
32
|
-
|
|
33
|
-
let compareDate = new Date(endDate)
|
|
34
|
-
compareDate.setDate(compareDate.getDate() - dayCount)
|
|
35
|
-
compareDate.setHours(0)
|
|
36
|
-
compareDate.setMinutes(0)
|
|
37
|
-
compareDate.setSeconds(0)
|
|
38
|
-
|
|
39
|
-
// 3. get sales data
|
|
40
|
-
const marketplaceOrders = await getRepository(MarketplaceOrder).query(`
|
|
41
|
-
select order_date, round(cast(sum(lazada) as numeric), 2) as lazada,
|
|
42
|
-
round(cast(sum(shopee) as numeric), 2) as shopee,
|
|
43
|
-
round(cast(sum(zalora) as numeric), 2) as zalora from (
|
|
44
|
-
select date(mo.order_created_at) as order_date,
|
|
45
|
-
case when ms.platform = '${MARKETPLACE_PLATFORM.SHOPEE}' then total_amount::float else 0 end as shopee,
|
|
46
|
-
case when ms.platform = '${MARKETPLACE_PLATFORM.LAZADA}' then total_amount::float else 0 end as lazada,
|
|
47
|
-
case when ms.platform = '${MARKETPLACE_PLATFORM.ZALORA}' then total_amount::float else 0 end as zalora
|
|
48
|
-
from marketplace_orders mo
|
|
49
|
-
inner join marketplace_stores ms
|
|
50
|
-
on mo.marketplace_store_id = ms.id
|
|
51
|
-
and mo.domain_id = ms.domain_id
|
|
52
|
-
where mo.order_created_at between '${startDate.toLocaleDateString()} 00:00:00' and '${endDate.toLocaleDateString()} ${timeNow}'
|
|
53
|
-
and mo.status in ('${ORDER_STATUS.COMPLETED}', '${ORDER_STATUS.DELIVERED}', '${
|
|
54
|
-
ORDER_STATUS.TO_CONFIRM_RECEIVE
|
|
55
|
-
}', '${ORDER_STATUS.SHIPPED}')
|
|
56
|
-
and mo.domain_id = '${domain.id}'
|
|
57
|
-
) as foo
|
|
58
|
-
group by order_date
|
|
59
|
-
order by order_date asc
|
|
60
|
-
`)
|
|
61
|
-
|
|
62
|
-
// 4. initialize item array
|
|
63
|
-
let items = []
|
|
64
|
-
for (let i = 0; i < dayCount; i++) {
|
|
65
|
-
const month = startDate.toLocaleString('default', { month: 'short' })
|
|
66
|
-
const day = startDate.getDate()
|
|
67
|
-
|
|
68
|
-
items.push({
|
|
69
|
-
date: `${month} ${String(day).padStart(2, '0')}`,
|
|
70
|
-
shopee: 0,
|
|
71
|
-
lazada: 0,
|
|
72
|
-
zalora: 0
|
|
73
|
-
})
|
|
74
|
-
startDate.setDate(startDate.getDate() + 1)
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
// 5. assign orders data according to date
|
|
78
|
-
items = items.map(item => {
|
|
79
|
-
marketplaceOrders.forEach(order => {
|
|
80
|
-
if (order.order_date.toLocaleDateString() === compareDate.toLocaleDateString()) {
|
|
81
|
-
item.shopee = order.shopee
|
|
82
|
-
item.lazada = order.lazada
|
|
83
|
-
item.zalora = order.zalora
|
|
84
|
-
}
|
|
85
|
-
})
|
|
86
|
-
|
|
87
|
-
compareDate.setDate(compareDate.getDate() + 1)
|
|
88
|
-
return item
|
|
89
|
-
})
|
|
90
|
-
|
|
91
|
-
return items
|
|
92
|
-
}
|
|
93
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { In } from 'typeorm'
|
|
2
|
-
|
|
3
|
-
import { getRepository } from '@things-factory/shell'
|
|
4
|
-
|
|
5
|
-
import { MarketplaceOrder } from '../../../entities'
|
|
6
|
-
|
|
7
|
-
export const deleteMarketplaceOrders = {
|
|
8
|
-
async deleteMarketplaceOrders(_: any, { names }, context: ResolverContext) {
|
|
9
|
-
const { domain } = context.state
|
|
10
|
-
|
|
11
|
-
await getRepository(MarketplaceOrder).delete({
|
|
12
|
-
domain: { id: domain.id },
|
|
13
|
-
name: In(names)
|
|
14
|
-
})
|
|
15
|
-
return true
|
|
16
|
-
}
|
|
17
|
-
}
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
import { EntityManager, IsNull, SelectQueryBuilder } from 'typeorm'
|
|
2
|
-
import { v4 as uuidv4 } from 'uuid'
|
|
3
|
-
|
|
4
|
-
import { User } from '@things-factory/auth-base'
|
|
5
|
-
import { MarketplaceStore as MarketplaceStoreEntity } from '@things-factory/integration-marketplace'
|
|
6
|
-
import { Product, ProductBundle, ProductBundleSetting } from '@things-factory/product-base'
|
|
7
|
-
import { Domain } from '@things-factory/shell'
|
|
8
|
-
|
|
9
|
-
import {
|
|
10
|
-
MarketplaceOrder as MarketplaceOrderEntity,
|
|
11
|
-
MarketplaceOrderItem as MarketplaceOrderItemEntity,
|
|
12
|
-
MarketplaceOrderShipping as MarketplaceOrderShippingEntity,
|
|
13
|
-
MarketplaceOrderShippingItem as MarketplaceOrderShippingItemEntity,
|
|
14
|
-
MarketplaceProductVariation as MarketplaceProductVariationEntity
|
|
15
|
-
} from '../../../entities'
|
|
16
|
-
import { NoGenerator } from '../../../utils/no-generator'
|
|
17
|
-
|
|
18
|
-
export const generateMarketplaceOrderResolver = {
|
|
19
|
-
async generateMarketplaceOrder(_: any, { marketplaceOrder }, context: ResolverContext) {
|
|
20
|
-
const { domain, user, tx, marketplaceStore } = context.state
|
|
21
|
-
const createdMarketplaceOrder: MarketplaceOrderEntity = await generateMarketplaceOrder(
|
|
22
|
-
_,
|
|
23
|
-
marketplaceOrder,
|
|
24
|
-
domain,
|
|
25
|
-
marketplaceStore as MarketplaceStoreEntity,
|
|
26
|
-
user,
|
|
27
|
-
tx
|
|
28
|
-
)
|
|
29
|
-
|
|
30
|
-
return createdMarketplaceOrder
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export async function generateMarketplaceOrder(
|
|
35
|
-
_: any,
|
|
36
|
-
marketplaceOrder: any,
|
|
37
|
-
domain: Domain,
|
|
38
|
-
marketplaceStore: MarketplaceStoreEntity,
|
|
39
|
-
user: User,
|
|
40
|
-
tx?: EntityManager
|
|
41
|
-
): Promise<MarketplaceOrderEntity> {
|
|
42
|
-
let marketplaceOrderItems: MarketplaceOrderItemEntity[] = []
|
|
43
|
-
|
|
44
|
-
let newMarketplaceOrder: MarketplaceOrderEntity = Object.assign({}, marketplaceOrder)
|
|
45
|
-
const itemCount: number = marketplaceOrder.marketplaceOrderItems?.length
|
|
46
|
-
|
|
47
|
-
newMarketplaceOrder.name = marketplaceOrder?.name ? marketplaceOrder.name : NoGenerator.marketplaceOrder()
|
|
48
|
-
newMarketplaceOrder.itemCount = itemCount
|
|
49
|
-
newMarketplaceOrder.marketplaceStore = marketplaceStore
|
|
50
|
-
newMarketplaceOrder.domain = domain
|
|
51
|
-
newMarketplaceOrder.creator = user
|
|
52
|
-
newMarketplaceOrder = await tx.getRepository(MarketplaceOrderEntity).save(newMarketplaceOrder)
|
|
53
|
-
|
|
54
|
-
let newMarketplaceOrderShipping: MarketplaceOrderShippingEntity
|
|
55
|
-
if (marketplaceOrder?.marketplaceOrderShipping) {
|
|
56
|
-
const marketplaceOrderShipping: any = marketplaceOrder.marketplaceOrderShipping
|
|
57
|
-
newMarketplaceOrderShipping = Object.assign({}, marketplaceOrderShipping)
|
|
58
|
-
newMarketplaceOrderShipping.name = marketplaceOrderShipping?.shippingId
|
|
59
|
-
? marketplaceOrderShipping.shippingId
|
|
60
|
-
: NoGenerator.orderShipping()
|
|
61
|
-
newMarketplaceOrderShipping.transporter =
|
|
62
|
-
marketplaceOrderShipping?.transporter === '' ? null : marketplaceOrderShipping.transporter
|
|
63
|
-
newMarketplaceOrderShipping.ownTransporter =
|
|
64
|
-
marketplaceOrderShipping?.transporter === '' ? null : marketplaceOrderShipping.transporter
|
|
65
|
-
newMarketplaceOrderShipping.marketplaceStore = marketplaceStore
|
|
66
|
-
newMarketplaceOrderShipping.orderNoRef = newMarketplaceOrder.orderNo
|
|
67
|
-
newMarketplaceOrderShipping.subOrderNoRef = newMarketplaceOrder.orderNo
|
|
68
|
-
newMarketplaceOrderShipping.domain = domain
|
|
69
|
-
newMarketplaceOrderShipping.creator = user
|
|
70
|
-
newMarketplaceOrderShipping = await tx
|
|
71
|
-
.getRepository(MarketplaceOrderShippingEntity)
|
|
72
|
-
.save(newMarketplaceOrderShipping)
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
marketplaceOrderItems = await Promise.all(
|
|
76
|
-
marketplaceOrder?.marketplaceOrderItems.map(async orderItem => {
|
|
77
|
-
let marketplaceOrderItem: MarketplaceOrderItemEntity = Object.assign({}, orderItem)
|
|
78
|
-
|
|
79
|
-
const marketplaceProductVariation = orderItem.marketplaceProductVariation
|
|
80
|
-
const qb: SelectQueryBuilder<MarketplaceProductVariationEntity> = await tx
|
|
81
|
-
.getRepository(MarketplaceProductVariationEntity)
|
|
82
|
-
.createQueryBuilder('mpv')
|
|
83
|
-
.leftJoin('mpv.marketplaceProduct', 'mp')
|
|
84
|
-
.leftJoin('mp.marketplaceStore', 'ms')
|
|
85
|
-
.where('mpv.domain_id = :domainId')
|
|
86
|
-
.andWhere('mpv.variation_id = :variationId')
|
|
87
|
-
.andWhere('ms.id = :marketplaceStoreId')
|
|
88
|
-
.setParameters({
|
|
89
|
-
domainId: domain.id,
|
|
90
|
-
variationId: marketplaceProductVariation.variationId,
|
|
91
|
-
marketplaceStoreId: marketplaceStore.id
|
|
92
|
-
})
|
|
93
|
-
|
|
94
|
-
let foundVariation: MarketplaceProductVariationEntity = await qb.getOne()
|
|
95
|
-
|
|
96
|
-
if (!foundVariation) {
|
|
97
|
-
let newVariation: MarketplaceProductVariationEntity = Object.assign({}, marketplaceProductVariation)
|
|
98
|
-
newVariation.status = 'ACTIVE'
|
|
99
|
-
newVariation.domain = domain
|
|
100
|
-
|
|
101
|
-
await tx.getRepository(MarketplaceProductVariationEntity).save(newVariation)
|
|
102
|
-
foundVariation = newVariation
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
marketplaceOrderItem.marketplaceProductVariation = foundVariation
|
|
106
|
-
marketplaceOrderItem.name = orderItem.orderItemId
|
|
107
|
-
marketplaceOrderItem.marketplaceOrder = newMarketplaceOrder
|
|
108
|
-
marketplaceOrderItem.domain = domain
|
|
109
|
-
marketplaceOrderItem.creator = user
|
|
110
|
-
|
|
111
|
-
return marketplaceOrderItem
|
|
112
|
-
})
|
|
113
|
-
)
|
|
114
|
-
|
|
115
|
-
marketplaceOrderItems = await tx.getRepository(MarketplaceOrderItemEntity).save(marketplaceOrderItems)
|
|
116
|
-
|
|
117
|
-
await Promise.all(
|
|
118
|
-
marketplaceOrderItems.map(async marketplaceOrderItem => {
|
|
119
|
-
const marketplaceProductVariation = marketplaceOrderItem.marketplaceProductVariation
|
|
120
|
-
|
|
121
|
-
let product: Product = await tx.getRepository(Product).findOne({
|
|
122
|
-
where: {
|
|
123
|
-
domain: { id: marketplaceStore.domain.id },
|
|
124
|
-
sku: marketplaceProductVariation.sku,
|
|
125
|
-
deletedAt: IsNull()
|
|
126
|
-
},
|
|
127
|
-
relations: ['productDetails']
|
|
128
|
-
})
|
|
129
|
-
|
|
130
|
-
let productBundle: ProductBundle
|
|
131
|
-
if (!product) {
|
|
132
|
-
productBundle = await tx.getRepository(ProductBundle).findOne({
|
|
133
|
-
where: { domain: { id: marketplaceStore.domain.id }, sku: marketplaceProductVariation.sku },
|
|
134
|
-
relations: ['productBundleSettings', 'productBundleSettings.product']
|
|
135
|
-
})
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
let existingMarketplaceOrderShippingItems: MarketplaceOrderShippingItemEntity[] = await tx
|
|
139
|
-
.getRepository(MarketplaceOrderShippingItemEntity)
|
|
140
|
-
.find({
|
|
141
|
-
where: { domain: { id: marketplaceStore.domain.id }, marketplaceOrderItem: { id: marketplaceOrderItem.id } }
|
|
142
|
-
})
|
|
143
|
-
|
|
144
|
-
if (existingMarketplaceOrderShippingItems && existingMarketplaceOrderShippingItems?.length) {
|
|
145
|
-
} else {
|
|
146
|
-
if (productBundle) {
|
|
147
|
-
const productBundleSettings: ProductBundleSetting[] = productBundle.productBundleSettings
|
|
148
|
-
let marketplaceOrderShippingItems: MarketplaceOrderShippingItemEntity[] = []
|
|
149
|
-
productBundleSettings.map(productBundleSetting => {
|
|
150
|
-
let marketplaceOrderShippingItem: MarketplaceOrderShippingItemEntity =
|
|
151
|
-
new MarketplaceOrderShippingItemEntity()
|
|
152
|
-
marketplaceOrderShippingItem.name = uuidv4()
|
|
153
|
-
marketplaceOrderShippingItem.qty = marketplaceOrderItem.qty * productBundleSetting.bundleQty
|
|
154
|
-
marketplaceOrderShippingItem.domain = marketplaceStore.domain
|
|
155
|
-
marketplaceOrderShippingItem.marketplaceOrderItem = marketplaceOrderItem
|
|
156
|
-
marketplaceOrderShippingItem.marketplaceOrderShipping = newMarketplaceOrderShipping
|
|
157
|
-
marketplaceOrderShippingItem.product = productBundleSetting.product
|
|
158
|
-
|
|
159
|
-
marketplaceOrderShippingItems.push(marketplaceOrderShippingItem)
|
|
160
|
-
})
|
|
161
|
-
|
|
162
|
-
await tx.getRepository(MarketplaceOrderShippingItemEntity).save(marketplaceOrderShippingItems)
|
|
163
|
-
} else {
|
|
164
|
-
let marketplaceOrderShippingItem: MarketplaceOrderShippingItemEntity =
|
|
165
|
-
new MarketplaceOrderShippingItemEntity()
|
|
166
|
-
marketplaceOrderShippingItem.name = uuidv4()
|
|
167
|
-
marketplaceOrderShippingItem.qty = marketplaceOrderItem.qty
|
|
168
|
-
marketplaceOrderShippingItem.domain = marketplaceStore.domain
|
|
169
|
-
marketplaceOrderShippingItem.marketplaceOrderItem = marketplaceOrderItem
|
|
170
|
-
marketplaceOrderShippingItem.marketplaceOrderShipping = newMarketplaceOrderShipping
|
|
171
|
-
marketplaceOrderShippingItem.product = product ? product : null
|
|
172
|
-
|
|
173
|
-
await tx.getRepository(MarketplaceOrderShippingItemEntity).save(marketplaceOrderShippingItem)
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
})
|
|
177
|
-
)
|
|
178
|
-
|
|
179
|
-
return newMarketplaceOrder
|
|
180
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { StoreAPI } from '@things-factory/integration-marketplace'
|
|
2
|
-
|
|
3
|
-
export const getAddressList = {
|
|
4
|
-
async getAddressList(_: any, { storeId }, context: ResolverContext) {
|
|
5
|
-
var store = await StoreAPI.getMarketplaceStore(storeId)
|
|
6
|
-
var addressList = await StoreAPI.getAddress(store)
|
|
7
|
-
return addressList
|
|
8
|
-
}
|
|
9
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { StoreAPI } from '@things-factory/integration-marketplace'
|
|
2
|
-
|
|
3
|
-
export const getBranchList = {
|
|
4
|
-
async getBranchList(_: any, { storeId, orderNo }, context: ResolverContext) {
|
|
5
|
-
var store = await StoreAPI.getMarketplaceStore(storeId)
|
|
6
|
-
var branchList = await StoreAPI.getBranchList(store, { orderNo })
|
|
7
|
-
return branchList
|
|
8
|
-
}
|
|
9
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { EntityManager, In } from 'typeorm'
|
|
2
|
-
|
|
3
|
-
import { MarketplaceOrder, MarketplaceOrderItem, MarketplaceOrderShipping } from '../../../entities'
|
|
4
|
-
|
|
5
|
-
export const getETraxOrderDocumentResolver = {
|
|
6
|
-
async getETraxOrderDocument(_: any, { orderNo }, context: ResolverContext) {
|
|
7
|
-
const { tx } = context.state
|
|
8
|
-
const orderDocument: any[] = await getETraxOrderDocumentFunction(orderNo, context, tx)
|
|
9
|
-
|
|
10
|
-
return orderDocument
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export async function getETraxOrderDocumentFunction(orderNo: string[], context: any, tx?: EntityManager) {
|
|
15
|
-
const foundMarketplaceOrders: MarketplaceOrder[] = await tx.getRepository(MarketplaceOrder).find({
|
|
16
|
-
where: { orderNo: In(orderNo) },
|
|
17
|
-
relations: [
|
|
18
|
-
'marketplaceStore',
|
|
19
|
-
'marketplaceOrderItems',
|
|
20
|
-
'marketplaceOrderItems.marketplaceOrder',
|
|
21
|
-
'marketplaceOrderItems.marketplaceOrderShippingItems',
|
|
22
|
-
'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping'
|
|
23
|
-
]
|
|
24
|
-
})
|
|
25
|
-
if (foundMarketplaceOrders?.length === 0) throw new Error('No order is found')
|
|
26
|
-
|
|
27
|
-
const marketplaceOrderItems: MarketplaceOrderItem[] = foundMarketplaceOrders.map(
|
|
28
|
-
(order: any) => order.marketplaceOrderItems
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
let airwayBills: any[] = []
|
|
32
|
-
marketplaceOrderItems.map((item: any) => {
|
|
33
|
-
const orderNo: string = item[0].marketplaceOrder.orderNo
|
|
34
|
-
const marketplaceOrderShipping: MarketplaceOrderShipping =
|
|
35
|
-
item[0].marketplaceOrderShippingItems[0].marketplaceOrderShipping
|
|
36
|
-
if (marketplaceOrderShipping) {
|
|
37
|
-
const airwayBill: string = marketplaceOrderShipping.airwayBill
|
|
38
|
-
if (airwayBill != null) {
|
|
39
|
-
const awb = { orderNo, airwayBill }
|
|
40
|
-
airwayBills.push(awb)
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
})
|
|
44
|
-
|
|
45
|
-
// remove repeated orderDocuments
|
|
46
|
-
airwayBills = airwayBills.filter((value, index) => airwayBills.indexOf(value) === index)
|
|
47
|
-
|
|
48
|
-
return airwayBills
|
|
49
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { config } from '@things-factory/env'
|
|
2
|
-
import { StoreAPI } from '@things-factory/integration-marketplace'
|
|
3
|
-
|
|
4
|
-
const shopeeConfig = config.get('marketplaceIntegrationShopee', {})
|
|
5
|
-
const { v2 } = shopeeConfig
|
|
6
|
-
|
|
7
|
-
export const getLogisticsParam = {
|
|
8
|
-
async getLogisticsParam(_: any, { storeId, orderNo }, context: ResolverContext) {
|
|
9
|
-
var store = await StoreAPI.getMarketplaceStore(storeId)
|
|
10
|
-
let logisticsParam = await StoreAPI.getLogisticsParam(store, { orderNo })
|
|
11
|
-
|
|
12
|
-
const { dropoff, pickup }: { dropoff: any[]; pickup: any[] } = logisticsParam
|
|
13
|
-
if (pickup && pickup.includes('address_id')) {
|
|
14
|
-
logisticsParam.logisticsDetail.pickup = await Promise.all(
|
|
15
|
-
logisticsParam.logisticsDetail.pickup.map(async address => {
|
|
16
|
-
delete address.addressFlag
|
|
17
|
-
let timeSlot
|
|
18
|
-
if (v2) {
|
|
19
|
-
timeSlot = address.timeSlot
|
|
20
|
-
} else {
|
|
21
|
-
const addressId = address.addressId
|
|
22
|
-
timeSlot = await StoreAPI.getTimeSlot(store, { orderNo, addressId })
|
|
23
|
-
}
|
|
24
|
-
if (timeSlot?.length) {
|
|
25
|
-
return {
|
|
26
|
-
...address,
|
|
27
|
-
timeSlot: timeSlot
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
})
|
|
31
|
-
)
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
if (dropoff && dropoff.includes('branch_id')) {
|
|
35
|
-
let branches: any[] = await StoreAPI.getBranchList(store, { orderNo })
|
|
36
|
-
branches = branches.map(branch => {
|
|
37
|
-
return {
|
|
38
|
-
...branch,
|
|
39
|
-
branchId: branch.branch_id
|
|
40
|
-
}
|
|
41
|
-
})
|
|
42
|
-
logisticsParam.logisticsDetail.dropoff = branches
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
return logisticsParam
|
|
46
|
-
}
|
|
47
|
-
}
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
import { In } from 'typeorm'
|
|
2
|
-
|
|
3
|
-
import { config } from '@things-factory/env'
|
|
4
|
-
import { MarketplaceStore, StoreAPI } from '@things-factory/integration-marketplace'
|
|
5
|
-
|
|
6
|
-
import {
|
|
7
|
-
MarketplaceOrder,
|
|
8
|
-
MarketplaceOrderItem,
|
|
9
|
-
MarketplaceOrderShipping,
|
|
10
|
-
MarketplaceOrderShippingItem
|
|
11
|
-
} from '../../../entities'
|
|
12
|
-
import { getETraxOrderDocumentFunction } from '../marketplace-order'
|
|
13
|
-
|
|
14
|
-
const shopeeConfig = config.get('marketplaceIntegrationShopee', {})
|
|
15
|
-
const { v2 } = shopeeConfig
|
|
16
|
-
|
|
17
|
-
export const getOrderDocumentResolver = {
|
|
18
|
-
async getOrderDocument(_: any, { orderNo, docType }, context: ResolverContext) {
|
|
19
|
-
const { tx } = context.state
|
|
20
|
-
const foundMarketplaceOrders: MarketplaceOrder[] = await tx.getRepository(MarketplaceOrder).find({
|
|
21
|
-
where: { orderNo: In(orderNo) },
|
|
22
|
-
relations: [
|
|
23
|
-
'marketplaceStore',
|
|
24
|
-
'marketplaceOrderItems',
|
|
25
|
-
'marketplaceOrderItems.marketplaceOrderShippingItems',
|
|
26
|
-
'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping'
|
|
27
|
-
]
|
|
28
|
-
})
|
|
29
|
-
if (foundMarketplaceOrders?.length === 0) throw new Error('No order is found')
|
|
30
|
-
|
|
31
|
-
let orderDocument: any[] = []
|
|
32
|
-
// 1. check marketplace store has etrax option?
|
|
33
|
-
const eTraxOption: boolean = foundMarketplaceOrders[0].marketplaceStore.eTrax
|
|
34
|
-
|
|
35
|
-
if (eTraxOption) {
|
|
36
|
-
orderDocument = await getETraxOrderDocumentFunction(orderNo, context, tx)
|
|
37
|
-
} else {
|
|
38
|
-
const marketplaceOrderItems: MarketplaceOrderItem[] = foundMarketplaceOrders.map(
|
|
39
|
-
(order: any) => order.marketplaceOrderItems
|
|
40
|
-
)
|
|
41
|
-
|
|
42
|
-
// let marketplaceOrderShippings: MarketplaceOrderShipping[] = []
|
|
43
|
-
// marketplaceOrderItems.map((item, idx) => {
|
|
44
|
-
// const marketplaceOrderShipping = item[idx].marketplaceOrderShipping
|
|
45
|
-
|
|
46
|
-
// if (marketplaceOrderShipping) {
|
|
47
|
-
// marketplaceOrderShippings.push(marketplaceOrderShipping)
|
|
48
|
-
// }
|
|
49
|
-
// })
|
|
50
|
-
|
|
51
|
-
// const uniqueMarketplaceOrderShippings: MarketplaceOrderShipping[] = Array.from(
|
|
52
|
-
// new Set(marketplaceOrderShippings.map(a => a.id))
|
|
53
|
-
// ).map(id => {
|
|
54
|
-
// return marketplaceOrderShippings.find(a => a.id === id)
|
|
55
|
-
// })
|
|
56
|
-
|
|
57
|
-
// if (uniqueMarketplaceOrderShippings.length > 0) {
|
|
58
|
-
// uniqueMarketplaceOrderShippings.map((marketplaceOrderShipping: MarketplaceOrderShipping) => {
|
|
59
|
-
// if (docType === 'invoice') {
|
|
60
|
-
// if (marketplaceOrderShipping?.invoice) {
|
|
61
|
-
// const invoice: any = {
|
|
62
|
-
// airwayBill: marketplaceOrderShipping.invoice,
|
|
63
|
-
// file: marketplaceOrderShipping.invoice
|
|
64
|
-
// }
|
|
65
|
-
// orderDocument.push(invoice)
|
|
66
|
-
// }
|
|
67
|
-
// } else {
|
|
68
|
-
// if (marketplaceOrderShipping?.airwayBill) {
|
|
69
|
-
// const airwayBill: any = {
|
|
70
|
-
// airwayBill: marketplaceOrderShipping.airwayBill,
|
|
71
|
-
// file: marketplaceOrderShipping.airwayBill
|
|
72
|
-
// }
|
|
73
|
-
// orderDocument.push(airwayBill)
|
|
74
|
-
// }
|
|
75
|
-
// }
|
|
76
|
-
// })
|
|
77
|
-
let docRefNo: any[] = []
|
|
78
|
-
marketplaceOrderItems.map((item: any) => {
|
|
79
|
-
let orderDocNo: any[] = []
|
|
80
|
-
orderDocNo = item.map(oi => oi.docRefNo)
|
|
81
|
-
if (orderDocNo[0].indexOf(',') > -1) {
|
|
82
|
-
orderDocNo = orderDocNo[0].split(',')
|
|
83
|
-
}
|
|
84
|
-
Array.prototype.push.apply(docRefNo, orderDocNo)
|
|
85
|
-
})
|
|
86
|
-
|
|
87
|
-
// remove repeated docRefNo
|
|
88
|
-
docRefNo = docRefNo.filter((value, index) => docRefNo.indexOf(value) === index)
|
|
89
|
-
|
|
90
|
-
const storeId = foundMarketplaceOrders.map((order: MarketplaceOrder) => order.marketplaceStore.id)
|
|
91
|
-
const marketplaceStore: MarketplaceStore = await StoreAPI.getMarketplaceStore(storeId[0])
|
|
92
|
-
|
|
93
|
-
let marketplaceOrderShippings: MarketplaceOrderShipping[] = []
|
|
94
|
-
marketplaceOrderItems.map((item, idx) => {
|
|
95
|
-
const marketplaceOrderShippingItems: MarketplaceOrderShippingItem[] = item[idx].marketplaceOrderShippingItems
|
|
96
|
-
marketplaceOrderShippingItems.map(marketplaceOrderShippingItem => {
|
|
97
|
-
const marketplaceOrderShipping = marketplaceOrderShippingItem.marketplaceOrderShipping
|
|
98
|
-
|
|
99
|
-
if (marketplaceOrderShipping) {
|
|
100
|
-
marketplaceOrderShippings.push(marketplaceOrderShipping)
|
|
101
|
-
}
|
|
102
|
-
})
|
|
103
|
-
})
|
|
104
|
-
|
|
105
|
-
let uniqueMarketplaceOrderShippings: MarketplaceOrderShipping[] = Array.from(
|
|
106
|
-
new Set(marketplaceOrderShippings.map(a => a.id))
|
|
107
|
-
).map(id => {
|
|
108
|
-
return marketplaceOrderShippings.find(a => a.id === id)
|
|
109
|
-
})
|
|
110
|
-
|
|
111
|
-
if (marketplaceStore.platform == 'shopee' && v2) {
|
|
112
|
-
orderDocument = [
|
|
113
|
-
{
|
|
114
|
-
orderNo: uniqueMarketplaceOrderShippings[0].orderNoRef,
|
|
115
|
-
airwayBill: uniqueMarketplaceOrderShippings[0].airwayBill
|
|
116
|
-
}
|
|
117
|
-
]
|
|
118
|
-
} else {
|
|
119
|
-
orderDocument = await StoreAPI.getStoreOrderDocument(marketplaceStore, { docRefNo, docType })
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
if (docType === 'invoice') {
|
|
123
|
-
uniqueMarketplaceOrderShippings = uniqueMarketplaceOrderShippings.map(
|
|
124
|
-
(marketplaceOrderShipping: MarketplaceOrderShipping) => {
|
|
125
|
-
return {
|
|
126
|
-
...marketplaceOrderShipping,
|
|
127
|
-
invoice: orderDocument[0].airwayBill ? orderDocument[0].airwayBill : orderDocument[0].file
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
)
|
|
131
|
-
} else {
|
|
132
|
-
uniqueMarketplaceOrderShippings = uniqueMarketplaceOrderShippings.map(
|
|
133
|
-
(marketplaceOrderShipping: MarketplaceOrderShipping) => {
|
|
134
|
-
return {
|
|
135
|
-
...marketplaceOrderShipping,
|
|
136
|
-
airwayBill: orderDocument[0].airwayBill ? orderDocument[0].airwayBill : orderDocument[0].file
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
)
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
tx.getRepository(MarketplaceOrderShipping).save(uniqueMarketplaceOrderShippings)
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
orderDocument[0].isShopeeV2 = v2
|
|
146
|
-
|
|
147
|
-
return orderDocument
|
|
148
|
-
}
|
|
149
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { StoreAPI } from '@things-factory/integration-marketplace'
|
|
2
|
-
|
|
3
|
-
export const getStoreLogistics = {
|
|
4
|
-
async getStoreLogistics(_: any, { storeId }, context: ResolverContext) {
|
|
5
|
-
var store = await StoreAPI.getMarketplaceStore(storeId)
|
|
6
|
-
var shipmentProviders = await StoreAPI.getStoreLogistics(store, {})
|
|
7
|
-
return shipmentProviders
|
|
8
|
-
}
|
|
9
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { StoreAPI } from '@things-factory/integration-marketplace'
|
|
2
|
-
|
|
3
|
-
export const getTimeSlot = {
|
|
4
|
-
async getTimeSlot(_: any, { storeId, orderNo, addressId }, context: ResolverContext) {
|
|
5
|
-
var store = await StoreAPI.getMarketplaceStore(storeId)
|
|
6
|
-
var timeSlotList = await StoreAPI.getTimeSlot(store, { orderNo, addressId })
|
|
7
|
-
return timeSlotList
|
|
8
|
-
}
|
|
9
|
-
}
|