@things-factory/marketplace-base 4.0.9 → 4.0.13

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 (85) hide show
  1. package/dist-server/entities/index.js +8 -2
  2. package/dist-server/entities/index.js.map +1 -1
  3. package/dist-server/entities/marketplace-order-item.js +80 -0
  4. package/dist-server/entities/marketplace-order-item.js.map +1 -1
  5. package/dist-server/entities/marketplace-order-shipping.js +16 -0
  6. package/dist-server/entities/marketplace-order-shipping.js.map +1 -1
  7. package/dist-server/entities/marketplace-order.js +36 -0
  8. package/dist-server/entities/marketplace-order.js.map +1 -1
  9. package/dist-server/entities/marketplace-refund-order-item.js +82 -0
  10. package/dist-server/entities/marketplace-refund-order-item.js.map +1 -0
  11. package/dist-server/entities/marketplace-refund-order.js +77 -0
  12. package/dist-server/entities/marketplace-refund-order.js.map +1 -0
  13. package/dist-server/graphql/resolvers/index.js +2 -0
  14. package/dist-server/graphql/resolvers/index.js.map +1 -1
  15. package/dist-server/graphql/resolvers/marketplace-order/marketplace-orders.js +19 -17
  16. package/dist-server/graphql/resolvers/marketplace-order/marketplace-orders.js.map +1 -1
  17. package/dist-server/graphql/resolvers/marketplace-order/sync-all-marketplace-order.js +267 -205
  18. package/dist-server/graphql/resolvers/marketplace-order/sync-all-marketplace-order.js.map +1 -1
  19. package/dist-server/graphql/resolvers/marketplace-order/sync-marketplace-order.js +100 -43
  20. package/dist-server/graphql/resolvers/marketplace-order/sync-marketplace-order.js.map +1 -1
  21. package/dist-server/graphql/resolvers/marketplace-order-item/marketplace-order-items.js +1 -1
  22. package/dist-server/graphql/resolvers/marketplace-order-item/marketplace-order-items.js.map +1 -1
  23. package/dist-server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shippings.js +28 -10
  24. package/dist-server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shippings.js.map +1 -1
  25. package/dist-server/graphql/resolvers/marketplace-order-shipping/update-marketplace-order-shipping.js +7 -0
  26. package/dist-server/graphql/resolvers/marketplace-order-shipping/update-marketplace-order-shipping.js.map +1 -1
  27. package/dist-server/graphql/resolvers/marketplace-refund-order/index.js +9 -0
  28. package/dist-server/graphql/resolvers/marketplace-refund-order/index.js.map +1 -0
  29. package/dist-server/graphql/resolvers/marketplace-refund-order/sync-all-marketplace-refund-orders.js +93 -0
  30. package/dist-server/graphql/resolvers/marketplace-refund-order/sync-all-marketplace-refund-orders.js.map +1 -0
  31. package/dist-server/graphql/resolvers/marketplace-refund-order/sync-marketplace-refund-orders.js +79 -0
  32. package/dist-server/graphql/resolvers/marketplace-refund-order/sync-marketplace-refund-orders.js.map +1 -0
  33. package/dist-server/graphql/resolvers/marketplace-report/index.js +8 -0
  34. package/dist-server/graphql/resolvers/marketplace-report/index.js.map +1 -0
  35. package/dist-server/graphql/resolvers/marketplace-report/marketplace-sales-report.js +112 -0
  36. package/dist-server/graphql/resolvers/marketplace-report/marketplace-sales-report.js.map +1 -0
  37. package/dist-server/graphql/types/index.js +2 -0
  38. package/dist-server/graphql/types/index.js.map +1 -1
  39. package/dist-server/graphql/types/marketplace-order/marketplace-order.js +2 -0
  40. package/dist-server/graphql/types/marketplace-order/marketplace-order.js.map +1 -1
  41. package/dist-server/graphql/types/marketplace-order-item/marketplace-order-item.js +4 -0
  42. package/dist-server/graphql/types/marketplace-order-item/marketplace-order-item.js.map +1 -1
  43. package/dist-server/graphql/types/marketplace-order-shipping/marketplace-order-shipping.js +4 -0
  44. package/dist-server/graphql/types/marketplace-order-shipping/marketplace-order-shipping.js.map +1 -1
  45. package/dist-server/graphql/types/marketplace-refund-order/index.js +31 -0
  46. package/dist-server/graphql/types/marketplace-refund-order/index.js.map +1 -0
  47. package/dist-server/graphql/types/marketplace-refund-order/marketplace-refund-order-list.js +14 -0
  48. package/dist-server/graphql/types/marketplace-refund-order/marketplace-refund-order-list.js.map +1 -0
  49. package/dist-server/graphql/types/marketplace-refund-order/marketplace-refund-order.js +23 -0
  50. package/dist-server/graphql/types/marketplace-refund-order/marketplace-refund-order.js.map +1 -0
  51. package/dist-server/graphql/types/marketplace-report/index.js +25 -0
  52. package/dist-server/graphql/types/marketplace-report/index.js.map +1 -0
  53. package/dist-server/graphql/types/marketplace-report/marketplace-sales-report-list.js +14 -0
  54. package/dist-server/graphql/types/marketplace-report/marketplace-sales-report-list.js.map +1 -0
  55. package/dist-server/graphql/types/marketplace-report/marketplace-sales-report.js +65 -0
  56. package/dist-server/graphql/types/marketplace-report/marketplace-sales-report.js.map +1 -0
  57. package/package.json +5 -5
  58. package/server/entities/index.ts +8 -2
  59. package/server/entities/marketplace-order-item.ts +60 -0
  60. package/server/entities/marketplace-order-shipping.ts +12 -0
  61. package/server/entities/marketplace-order.ts +27 -0
  62. package/server/entities/marketplace-refund-order-item.ts +65 -0
  63. package/server/entities/marketplace-refund-order.ts +62 -0
  64. package/server/graphql/resolvers/index.ts +2 -0
  65. package/server/graphql/resolvers/marketplace-order/marketplace-orders.ts +25 -17
  66. package/server/graphql/resolvers/marketplace-order/sync-all-marketplace-order.ts +337 -278
  67. package/server/graphql/resolvers/marketplace-order/sync-marketplace-order.ts +107 -45
  68. package/server/graphql/resolvers/marketplace-order-item/marketplace-order-items.ts +5 -2
  69. package/server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shippings.ts +35 -14
  70. package/server/graphql/resolvers/marketplace-order-shipping/update-marketplace-order-shipping.ts +8 -0
  71. package/server/graphql/resolvers/marketplace-refund-order/index.ts +9 -0
  72. package/server/graphql/resolvers/marketplace-refund-order/sync-all-marketplace-refund-orders.ts +121 -0
  73. package/server/graphql/resolvers/marketplace-refund-order/sync-marketplace-refund-orders.ts +103 -0
  74. package/server/graphql/resolvers/marketplace-report/index.ts +7 -0
  75. package/server/graphql/resolvers/marketplace-report/marketplace-sales-report.ts +130 -0
  76. package/server/graphql/types/index.ts +2 -0
  77. package/server/graphql/types/marketplace-order/marketplace-order.ts +2 -0
  78. package/server/graphql/types/marketplace-order-item/marketplace-order-item.ts +4 -0
  79. package/server/graphql/types/marketplace-order-shipping/marketplace-order-shipping.ts +4 -0
  80. package/server/graphql/types/marketplace-refund-order/index.ts +16 -0
  81. package/server/graphql/types/marketplace-refund-order/marketplace-refund-order-list.ts +8 -0
  82. package/server/graphql/types/marketplace-refund-order/marketplace-refund-order.ts +17 -0
  83. package/server/graphql/types/marketplace-report/index.ts +10 -0
  84. package/server/graphql/types/marketplace-report/marketplace-sales-report-list.ts +8 -0
  85. package/server/graphql/types/marketplace-report/marketplace-sales-report.ts +59 -0
@@ -0,0 +1,130 @@
1
+ import { getRepository, SelectQueryBuilder } from 'typeorm'
2
+
3
+ import { buildQuery, ListParam } from '@things-factory/shell'
4
+
5
+ import { MarketplaceOrderItem } from '../../../entities'
6
+
7
+ export const marketplaceSalesReportsResolver = {
8
+ async marketplaceSalesReports(_: any, params: ListParam, context: any) {
9
+ const { page, limit } = params.pagination
10
+
11
+ let marketplaceStoreSorter = params.sortings.find(sort => sort.name === 'marketplaceStore')
12
+ let orderNoSorter = params.sortings.find(sort => sort.name === 'orderNo')
13
+
14
+ let platformFilter = params.filters.find(filter => filter.name === 'platform')
15
+ let marketplaceStoreFilter = params.filters.find(filter => filter.name === 'marketplaceStoreId')
16
+ let fromDateFilter = params.filters.find(filter => filter.name === 'fromDate')
17
+ let toDateFilter = params.filters.find(filter => filter.name === 'toDate')
18
+
19
+ params.sortings = params.sortings.filter(sort => ['marketplaceStore', 'orderNo'].indexOf(sort.name) == -1)
20
+ params.filters = params.filters.filter(
21
+ filter => ['platform', 'marketplaceStoreId', 'fromDate', 'toDate'].indexOf(filter.name) == -1
22
+ )
23
+
24
+ let qb: SelectQueryBuilder<MarketplaceOrderItem> = getRepository(MarketplaceOrderItem).createQueryBuilder('moi')
25
+ buildQuery(qb, params, context)
26
+ qb.leftJoinAndSelect('moi.domain', 'domain')
27
+ .leftJoinAndSelect('moi.marketplaceOrderShipping', 'mos')
28
+ .leftJoinAndSelect('moi.marketplaceOrder', 'mo')
29
+ .leftJoinAndSelect('mo.fulfillmentCenter', 'fc')
30
+ .leftJoinAndSelect('mo.marketplaceStore', 'ms')
31
+ .leftJoinAndSelect('moi.marketplaceProductVariation', 'mpv')
32
+ .leftJoinAndSelect('mpv.marketplaceProduct', 'mp')
33
+ .leftJoinAndSelect('moi.creator', 'creator')
34
+ .leftJoinAndSelect('moi.updater', 'updater')
35
+ .leftJoinAndSelect(
36
+ 'marketplace_refund_orders',
37
+ 'mro',
38
+ 'mo.name = mro.original_order_no AND mo.domain_id = mro.domain_id'
39
+ )
40
+
41
+ if (marketplaceStoreSorter) {
42
+ qb.addOrderBy('ms.name', marketplaceStoreSorter.desc ? 'DESC' : 'ASC')
43
+ }
44
+
45
+ if (orderNoSorter) {
46
+ qb.addOrderBy('mo.name', orderNoSorter.desc ? 'DESC' : 'ASC')
47
+ }
48
+
49
+ if (platformFilter) {
50
+ qb.andWhere('ms.platform = :platform', { platform: platformFilter.value })
51
+ }
52
+
53
+ if (marketplaceStoreFilter) {
54
+ qb.andWhere('ms.id = :marketplaceStore', { marketplaceStore: marketplaceStoreFilter.value })
55
+ }
56
+
57
+ if (fromDateFilter && toDateFilter) {
58
+ qb.andWhere('mo.order_created_at BETWEEN :fromDate AND :toDate', {
59
+ fromDate: fromDateFilter.value,
60
+ toDate: toDateFilter.value
61
+ })
62
+ }
63
+
64
+ let items = await qb
65
+ .offset((page - 1) * limit)
66
+ .limit(limit)
67
+ .getRawMany()
68
+
69
+ const total = await qb.getCount()
70
+
71
+ items = items.map(item => {
72
+ return {
73
+ fulfilmentCenter: item.fc_name,
74
+ orderNo: item.mo_name,
75
+ orderCreatedAt: item.mo_order_created_at,
76
+ buyerUsername: item.mo_buyer_username,
77
+ payTime: item.mo_pay_time,
78
+ totalAmount: item.mo_total_amount,
79
+ refundAmount: item.mro_amount,
80
+ shippingProvider: item.mo_shipping_provider,
81
+ storeName: item.ms_name,
82
+ storeDescription: item.ms_description,
83
+ promotionId: item.moi_promotion_id,
84
+ originalPrice: item.moi_original_price,
85
+ paidPrice: item.moi_paid_price,
86
+ sku: item.mpv_sku,
87
+ qty: item.moi_qty,
88
+ variationId: item.mpv_variation_id,
89
+ variationName: item.mpv_name,
90
+ productName: item.mp_name,
91
+ productSku: item.mp_isku,
92
+ productDiscount: item.moi_discount,
93
+ paymentFee: item.moi_payment_fee,
94
+ shippingFee: item.mos_shipping_fee,
95
+ actualShippingFee: item.mos_actual_shipping_fee,
96
+ marketplaceShippingFeeVoucher: item.mos_marketplace_shipping_fee_voucher,
97
+ sellerShippingFeeVoucher: item.mos_seller_shipping_fee_voucher,
98
+ voucherAmount: item.mo_voucher_amount,
99
+ shippingRebate: item.mo_shipping_rebate,
100
+ commissionFee: item.mo_commission_fee,
101
+ serviceFee: item.mo_service_fee,
102
+ transactionFee: item.mo_transaction_fee,
103
+ totalRealeasedAmount: item.mo_total_realeased_amount,
104
+ voucherCode: item.mo_voucher_code,
105
+ shippingMode: item.mo_shipping_mode,
106
+ status: item.mo_status,
107
+ shippingFeePaidByCustomer: item.moi_shipping_fee_paid_by_customer,
108
+ promotionalCharges: item.moi_promotional_charges,
109
+ ordersMarketplaceFeesTotal: item.moi_orders_marketplace_fees_total,
110
+ ordersMarketingFeesTotal: item.moi_orders_marketing_fees_total,
111
+ ordersSalesTotal: item.moi_orders_sales_total,
112
+ ordersLogisticsTotal: item.moi_orders_logistics_total,
113
+ itemPriceCredit: item.moi_item_price_credit,
114
+ marketplaceBonus: item.moi_marketplace_bonus + item.moi_marketplace_bonus_seller,
115
+ marketplaceBonusSeller: item.moi_marketplace_bonus_seller,
116
+ shippingFeeDiscountMarketplace: item.moi_shipping_fee_discount_marketplace,
117
+ shippingFeeDiscountSeller: item.moi_shipping_fee_discount_seller,
118
+ promotionalChargesFlexiCombo: item.moi_promotional_charges_flexi_combo,
119
+ autoShippingSubsidyMarketplace: item.moi_auto_shipping_subsidy_marketplace,
120
+ grandTotal: item.moi_orders_marketplace_fees_total + item.moi_orders_marketing_fees_total + item.moi_orders_sales_total + item.moi_orders_logistics_total,
121
+ originalShippingFee: item.moi_original_shipping_fee,
122
+ taxAmount: item.moi_tax_amount,
123
+ itemCommissionFee: item.moi_commission_fee,
124
+ variationSku: item.mpv_variation_sku
125
+ }
126
+ })
127
+
128
+ return { items, total }
129
+ }
130
+ }
@@ -8,3 +8,5 @@ export * from './marketplace-product-variation'
8
8
  export * from './store-replenishment'
9
9
  export * from './store-replenishment-item'
10
10
  export * from './marketplace-product-variation-price'
11
+ export * from './marketplace-refund-order'
12
+ export * from './marketplace-report'
@@ -27,6 +27,8 @@ export const MarketplaceOrder = gql`
27
27
  releaseOrderId: String
28
28
  otherInfoJSON: String
29
29
  isSplitted: Boolean
30
+ buyerUsername: String
31
+ payTime: String
30
32
  updater: User
31
33
  creator: User
32
34
  orderUpdatedAt: String
@@ -20,6 +20,10 @@ export const MarketplaceOrderItem = gql`
20
20
  reason: String
21
21
  status: String
22
22
  description: String
23
+ originalPrice: Float
24
+ discount: Float
25
+ promotionId: String
26
+ paymentFee: Float
23
27
  updater: User
24
28
  creator: User
25
29
  updatedAt: String
@@ -44,6 +44,10 @@ export const MarketplaceOrderShipping = gql`
44
44
  parcelType: Int
45
45
  goodsType: Int
46
46
  deliveryMethod: Int
47
+ shippingFee: Float
48
+ actualShippingFee: Float
49
+ marketplaceShippingFeeVoucher: Float
50
+ sellerShippingFeeVoucher: Float
47
51
  updater: User
48
52
  creator: User
49
53
  updatedAt: String
@@ -0,0 +1,16 @@
1
+ import gql from 'graphql-tag'
2
+
3
+ export * from './marketplace-refund-order'
4
+ export * from './marketplace-refund-order-list'
5
+
6
+ export const MarketplaceRefundOrderResolver = gql`
7
+ extend type Mutation {
8
+ syncMarketplaceRefundOrders(storeId: String!, fromDate: String, toDate: String): Boolean @transaction
9
+ syncAllMarketplaceRefundOrders(
10
+ companyDomainId: String
11
+ fromDate: String
12
+ toDate: String
13
+ blackListStores: [String]
14
+ ): Boolean
15
+ }
16
+ `
@@ -0,0 +1,8 @@
1
+ import gql from 'graphql-tag'
2
+
3
+ export const MarketplaceRefundOrderList = gql`
4
+ type MarketplaceRefundOrderList {
5
+ items: [MarketplaceRefundOrder]
6
+ total: Int
7
+ }
8
+ `
@@ -0,0 +1,17 @@
1
+ import gql from 'graphql-tag'
2
+
3
+ export const MarketplaceRefundOrder = gql`
4
+ type MarketplaceRefundOrder {
5
+ id: String
6
+ name: String
7
+ domain: Domain
8
+ originalOrderNo: String
9
+ orderNo: String
10
+ amount: Int
11
+ status: String
12
+ updater: User
13
+ creator: User
14
+ updatedAt: String
15
+ createdAt: String
16
+ }
17
+ `
@@ -0,0 +1,10 @@
1
+ import gql from 'graphql-tag'
2
+
3
+ export * from './marketplace-sales-report'
4
+ export * from './marketplace-sales-report-list'
5
+
6
+ export const MarketplaceReportResolver = gql`
7
+ extend type Query {
8
+ marketplaceSalesReports(filters: [Filter], pagination: Pagination, sortings: [Sorting]): MarketplaceSalesReportList
9
+ }
10
+ `
@@ -0,0 +1,8 @@
1
+ import gql from 'graphql-tag'
2
+
3
+ export const MarketplaceSalesReportList = gql`
4
+ type MarketplaceSalesReportList {
5
+ items: [MarketplaceSalesReport]
6
+ total: Int
7
+ }
8
+ `
@@ -0,0 +1,59 @@
1
+ import gql from 'graphql-tag'
2
+
3
+ export const MarketplaceSalesReport = gql`
4
+ type MarketplaceSalesReport {
5
+ fulfilmentCenter: String
6
+ voucherAmount: Float
7
+ shippingRebate: Float
8
+ commissionFee: Float
9
+ serviceFee: Float
10
+ transactionFee: String
11
+ totalRealeasedAmount: Float
12
+ voucherCode: String
13
+ shippingMode: String
14
+ status: String
15
+ orderNo: String
16
+ orderCreatedAt: String
17
+ buyerUsername: String
18
+ payTime: String
19
+ totalAmount: Float
20
+ refundAmount: Float
21
+ shippingProvider: String
22
+ storeName: String
23
+ storeDescription: String
24
+ promotionId: String
25
+ originalPrice: Float
26
+ paidPrice: Float
27
+ sku: String
28
+ qty: Int
29
+ variationId: String
30
+ variationName: String
31
+ productName: String
32
+ productSku: String
33
+ productDiscount: Float
34
+ paymentFee: Float
35
+ shippingFee: Float
36
+ actualShippingFee: Float
37
+ marketplaceShippingFeeVoucher: Float
38
+ sellerShippingFeeVoucher: Float
39
+ shippingFeePaidByCustomer: Float
40
+ promotionalCharges: Float
41
+ ordersMarketplaceFeesTotal: Float
42
+ ordersMarketingFeesTotal: Float
43
+ ordersSalesTotal: Float
44
+ ordersLogisticsTotal: Float
45
+ itemPriceCredit: Float
46
+ marketplaceBonus: Float
47
+ marketplaceBonusSeller: Float
48
+ shippingFeeDiscountMarketplace: Float
49
+ shippingFeeDiscountSeller: Float
50
+ promotionalChargesFlexiCombo: Float
51
+ autoShippingSubsidyMarketplace: Float
52
+ grandTotal: Float
53
+ originalShippingFee: Float
54
+ taxAmount: Float
55
+ fulfillmentCenter: String
56
+ variationSku: String
57
+ itemCommissionFee: Float
58
+ }
59
+ `