@things-factory/marketplace-base 8.0.0-beta.8 → 8.0.0
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 +3 -0
- package/server/constants/index.ts +4 -0
- package/server/constants/order.ts +11 -0
- package/server/constants/platform.ts +7 -0
- package/server/constants/product.ts +5 -0
- package/server/constants/reserve-qty-order-statuses.ts +7 -0
- package/server/controllers/index.ts +0 -0
- package/server/entities/index.ts +45 -0
- package/server/entities/marketplace-order-item.ts +137 -0
- package/server/entities/marketplace-order-shipping-item.ts +55 -0
- package/server/entities/marketplace-order-shipping.ts +168 -0
- package/server/entities/marketplace-order.ts +141 -0
- package/server/entities/marketplace-product-attribute.ts +83 -0
- package/server/entities/marketplace-product-category.ts +53 -0
- package/server/entities/marketplace-product-variation-price.ts +63 -0
- package/server/entities/marketplace-product-variation.ts +147 -0
- package/server/entities/marketplace-product.ts +164 -0
- package/server/entities/marketplace-refund-order-item.ts +56 -0
- package/server/entities/marketplace-refund-order.ts +51 -0
- package/server/entities/marketplace-setting.ts +49 -0
- package/server/entities/store-replenishment-item.ts +48 -0
- package/server/entities/store-replenishment.ts +79 -0
- package/server/graphql/index.ts +9 -0
- package/server/graphql/resolvers/index.ts +14 -0
- package/server/graphql/resolvers/marketplace-order/auto-initialise-logistics-by-batch.ts +164 -0
- package/server/graphql/resolvers/marketplace-order/auto-update-order-ready-to-ship.ts +136 -0
- package/server/graphql/resolvers/marketplace-order/cancel-marketplace-order.ts +64 -0
- package/server/graphql/resolvers/marketplace-order/create-marketplace-order-note.ts +21 -0
- package/server/graphql/resolvers/marketplace-order/dashboard-marketplace-orders.ts +82 -0
- package/server/graphql/resolvers/marketplace-order/dashboard-marketplace-sales-average.ts +82 -0
- package/server/graphql/resolvers/marketplace-order/dashboard-marketplace-sales.ts +93 -0
- package/server/graphql/resolvers/marketplace-order/delete-marketplace-orders.ts +17 -0
- package/server/graphql/resolvers/marketplace-order/generate-marketplace-order.ts +180 -0
- package/server/graphql/resolvers/marketplace-order/get-address-list.ts +9 -0
- package/server/graphql/resolvers/marketplace-order/get-branch-list.ts +9 -0
- package/server/graphql/resolvers/marketplace-order/get-etrax-order-document.ts +49 -0
- package/server/graphql/resolvers/marketplace-order/get-logistics-param.ts +47 -0
- package/server/graphql/resolvers/marketplace-order/get-order-document.ts +149 -0
- package/server/graphql/resolvers/marketplace-order/get-store-logistics.ts +9 -0
- package/server/graphql/resolvers/marketplace-order/get-time-slot.ts +9 -0
- package/server/graphql/resolvers/marketplace-order/index.ts +75 -0
- package/server/graphql/resolvers/marketplace-order/initialise-lazada-logistics-by-batch.ts +165 -0
- package/server/graphql/resolvers/marketplace-order/initialise-logistics-by-batch.ts +41 -0
- package/server/graphql/resolvers/marketplace-order/initialise-logistics.ts +29 -0
- package/server/graphql/resolvers/marketplace-order/initialise-shopee-logistics-by-batch.ts +97 -0
- package/server/graphql/resolvers/marketplace-order/marketplace-order.ts +12 -0
- package/server/graphql/resolvers/marketplace-order/marketplace-orders-for-batch-init.ts +52 -0
- package/server/graphql/resolvers/marketplace-order/marketplace-orders-for-export.ts +63 -0
- package/server/graphql/resolvers/marketplace-order/marketplace-orders.ts +56 -0
- package/server/graphql/resolvers/marketplace-order/set-marketplace-order-delivered.ts +25 -0
- package/server/graphql/resolvers/marketplace-order/set-marketplace-order-failed-delivery.ts +25 -0
- package/server/graphql/resolvers/marketplace-order/set-own-shipping-provider-by-orders.ts +39 -0
- package/server/graphql/resolvers/marketplace-order/split-orders-by-batch.ts +245 -0
- package/server/graphql/resolvers/marketplace-order/sync-all-marketplace-order.ts +39 -0
- package/server/graphql/resolvers/marketplace-order/sync-marketplace-order.ts +940 -0
- package/server/graphql/resolvers/marketplace-order/sync-marketplace-orders-by-platform.ts +31 -0
- package/server/graphql/resolvers/marketplace-order/sync-shopee-awb.ts +49 -0
- package/server/graphql/resolvers/marketplace-order/update-marketplace-order.ts +35 -0
- package/server/graphql/resolvers/marketplace-order/update-order-ready-to-ship.ts +142 -0
- package/server/graphql/resolvers/marketplace-order-item/create-marketplace-order-item.ts +14 -0
- package/server/graphql/resolvers/marketplace-order-item/delete-marketplace-order-item.ts +10 -0
- package/server/graphql/resolvers/marketplace-order-item/delete-marketplace-order-items.ts +17 -0
- package/server/graphql/resolvers/marketplace-order-item/index.ts +22 -0
- package/server/graphql/resolvers/marketplace-order-item/marketplace-order-item.ts +14 -0
- package/server/graphql/resolvers/marketplace-order-item/marketplace-order-items.ts +15 -0
- package/server/graphql/resolvers/marketplace-order-item/update-marketplace-order-item.ts +18 -0
- package/server/graphql/resolvers/marketplace-order-item/update-multiple-marketplace-order-item.ts +44 -0
- package/server/graphql/resolvers/marketplace-order-shipping/create-marketplace-order-shipping.ts +14 -0
- package/server/graphql/resolvers/marketplace-order-shipping/delete-marketplace-order-shipping.ts +10 -0
- package/server/graphql/resolvers/marketplace-order-shipping/delete-marketplace-order-shippings.ts +17 -0
- package/server/graphql/resolvers/marketplace-order-shipping/index.ts +23 -0
- package/server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shipping.ts +25 -0
- package/server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shippings-for-batch-init.ts +88 -0
- package/server/graphql/resolvers/marketplace-order-shipping/marketplace-order-shippings.ts +43 -0
- package/server/graphql/resolvers/marketplace-order-shipping/update-marketplace-order-shipping.ts +32 -0
- package/server/graphql/resolvers/marketplace-order-shipping/update-multiple-marketplace-order-shipping.ts +44 -0
- package/server/graphql/resolvers/marketplace-order-shipping-item/create-marketplace-order-shipping-item.ts +14 -0
- package/server/graphql/resolvers/marketplace-order-shipping-item/delete-marketplace-order-shipping-item.ts +10 -0
- package/server/graphql/resolvers/marketplace-order-shipping-item/delete-marketplace-order-shipping-items.ts +15 -0
- package/server/graphql/resolvers/marketplace-order-shipping-item/index.ts +20 -0
- package/server/graphql/resolvers/marketplace-order-shipping-item/marketplace-order-shipping-item.ts +21 -0
- package/server/graphql/resolvers/marketplace-order-shipping-item/marketplace-order-shipping-items.ts +14 -0
- package/server/graphql/resolvers/marketplace-order-shipping-item/update-marketplace-order-shipping-item.ts +18 -0
- package/server/graphql/resolvers/marketplace-order-shipping-item/update-multiple-marketplace-order-shipping-item.ts +44 -0
- package/server/graphql/resolvers/marketplace-product/create-marketplace-product.ts +35 -0
- package/server/graphql/resolvers/marketplace-product/delete-marketplace-product.ts +10 -0
- package/server/graphql/resolvers/marketplace-product/delete-marketplace-products.ts +17 -0
- package/server/graphql/resolvers/marketplace-product/index.ts +27 -0
- package/server/graphql/resolvers/marketplace-product/marketplace-product.ts +24 -0
- package/server/graphql/resolvers/marketplace-product/marketplace-products.ts +23 -0
- package/server/graphql/resolvers/marketplace-product/sync-all-marketplace-store-products.ts +225 -0
- package/server/graphql/resolvers/marketplace-product/sync-marketplace-store-products.ts +222 -0
- package/server/graphql/resolvers/marketplace-product/update-marketplace-product.ts +24 -0
- package/server/graphql/resolvers/marketplace-product/upsert-marketplace-product.ts +39 -0
- package/server/graphql/resolvers/marketplace-product-attribute/create-marketplace-product-attribute.ts +14 -0
- package/server/graphql/resolvers/marketplace-product-attribute/delete-marketplace-product-attribute.ts +10 -0
- package/server/graphql/resolvers/marketplace-product-attribute/delete-marketplace-product-attributes.ts +17 -0
- package/server/graphql/resolvers/marketplace-product-attribute/index.ts +22 -0
- package/server/graphql/resolvers/marketplace-product-attribute/marketplace-product-attribute.ts +14 -0
- package/server/graphql/resolvers/marketplace-product-attribute/marketplace-product-attributes.ts +14 -0
- package/server/graphql/resolvers/marketplace-product-attribute/update-marketplace-product-attribute.ts +18 -0
- package/server/graphql/resolvers/marketplace-product-attribute/update-multiple-marketplace-product-attribute.ts +44 -0
- package/server/graphql/resolvers/marketplace-product-category/create-marketplace-product-category.ts +14 -0
- package/server/graphql/resolvers/marketplace-product-category/delete-marketplace-product-categories.ts +17 -0
- package/server/graphql/resolvers/marketplace-product-category/delete-marketplace-product-category.ts +10 -0
- package/server/graphql/resolvers/marketplace-product-category/index.ts +22 -0
- package/server/graphql/resolvers/marketplace-product-category/marketplace-product-categories.ts +14 -0
- package/server/graphql/resolvers/marketplace-product-category/marketplace-product-category.ts +14 -0
- package/server/graphql/resolvers/marketplace-product-category/update-marketplace-product-category.ts +18 -0
- package/server/graphql/resolvers/marketplace-product-category/update-multiple-marketplace-product-category.ts +44 -0
- package/server/graphql/resolvers/marketplace-product-variation/create-marketplace-product-variation.ts +14 -0
- package/server/graphql/resolvers/marketplace-product-variation/delete-marketplace-product-variation.ts +10 -0
- package/server/graphql/resolvers/marketplace-product-variation/delete-marketplace-product-variations.ts +17 -0
- package/server/graphql/resolvers/marketplace-product-variation/index.ts +30 -0
- package/server/graphql/resolvers/marketplace-product-variation/link-warehouse-marketplace-product-variations.ts +59 -0
- package/server/graphql/resolvers/marketplace-product-variation/marketplace-product-variation.ts +14 -0
- package/server/graphql/resolvers/marketplace-product-variation/marketplace-product-variations.ts +79 -0
- package/server/graphql/resolvers/marketplace-product-variation/update-marketplace-product-variation.ts +32 -0
- package/server/graphql/resolvers/marketplace-product-variation/update-multiple-marketplace-product-variation-quantity.ts +76 -0
- package/server/graphql/resolvers/marketplace-product-variation/update-multiple-marketplace-product-variations.ts +49 -0
- package/server/graphql/resolvers/marketplace-product-variation-price/create-marketplace-product-variation-price.ts +16 -0
- package/server/graphql/resolvers/marketplace-product-variation-price/delete-marketplace-product-variation-price.ts +13 -0
- package/server/graphql/resolvers/marketplace-product-variation-price/delete-marketplace-product-variation-prices.ts +18 -0
- package/server/graphql/resolvers/marketplace-product-variation-price/index.ts +19 -0
- package/server/graphql/resolvers/marketplace-product-variation-price/marketplace-product-variation-price-query.ts +52 -0
- package/server/graphql/resolvers/marketplace-product-variation-price/update-marketplace-product-variation-price.ts +20 -0
- package/server/graphql/resolvers/marketplace-product-variation-price/update-multiple-marketplace-product-variation-price.ts +49 -0
- package/server/graphql/resolvers/marketplace-refund-order/index.ts +9 -0
- package/server/graphql/resolvers/marketplace-refund-order/sync-all-marketplace-refund-orders.ts +122 -0
- package/server/graphql/resolvers/marketplace-refund-order/sync-marketplace-refund-orders.ts +106 -0
- package/server/graphql/resolvers/marketplace-report/index.ts +7 -0
- package/server/graphql/resolvers/marketplace-report/marketplace-sales-report.ts +143 -0
- package/server/graphql/resolvers/store-replenishment/create-store-replenishment.ts +16 -0
- package/server/graphql/resolvers/store-replenishment/delete-store-replenishment.ts +13 -0
- package/server/graphql/resolvers/store-replenishment/delete-store-replenishments.ts +18 -0
- package/server/graphql/resolvers/store-replenishment/index.ts +19 -0
- package/server/graphql/resolvers/store-replenishment/store-replenishment-query.ts +52 -0
- package/server/graphql/resolvers/store-replenishment/update-multiple-store-replenishment.ts +49 -0
- package/server/graphql/resolvers/store-replenishment/update-store-replenishment.ts +20 -0
- package/server/graphql/resolvers/store-replenishment-item/create-store-replenishment-item.ts +16 -0
- package/server/graphql/resolvers/store-replenishment-item/delete-store-replenishment-item.ts +13 -0
- package/server/graphql/resolvers/store-replenishment-item/delete-store-replenishment-items.ts +18 -0
- package/server/graphql/resolvers/store-replenishment-item/index.ts +19 -0
- package/server/graphql/resolvers/store-replenishment-item/store-replenishment-item-query.ts +52 -0
- package/server/graphql/resolvers/store-replenishment-item/update-multiple-store-replenishment-item.ts +49 -0
- package/server/graphql/resolvers/store-replenishment-item/update-store-replenishment-item.ts +20 -0
- package/server/graphql/types/index.ts +13 -0
- package/server/graphql/types/marketplace-order/dashboard-order.ts +13 -0
- package/server/graphql/types/marketplace-order/full-logistics-detail.ts +10 -0
- package/server/graphql/types/marketplace-order/index.ts +69 -0
- package/server/graphql/types/marketplace-order/logistics-detail.ts +8 -0
- package/server/graphql/types/marketplace-order/logistics-info.ts +27 -0
- package/server/graphql/types/marketplace-order/logistics-init.ts +9 -0
- package/server/graphql/types/marketplace-order/logistics-time.ts +9 -0
- package/server/graphql/types/marketplace-order/logistics.ts +21 -0
- package/server/graphql/types/marketplace-order/marketplace-logistics.ts +11 -0
- package/server/graphql/types/marketplace-order/marketplace-order-export.ts +19 -0
- package/server/graphql/types/marketplace-order/marketplace-order-list.ts +8 -0
- package/server/graphql/types/marketplace-order/marketplace-order-patch.ts +14 -0
- package/server/graphql/types/marketplace-order/marketplace-order.ts +40 -0
- package/server/graphql/types/marketplace-order/new-marketplace-order.ts +22 -0
- package/server/graphql/types/marketplace-order/order-address.ts +16 -0
- package/server/graphql/types/marketplace-order/order-document.ts +13 -0
- package/server/graphql/types/marketplace-order-item/index.ts +21 -0
- package/server/graphql/types/marketplace-order-item/marketplace-order-item-list.ts +8 -0
- package/server/graphql/types/marketplace-order-item/marketplace-order-item-patch.ts +10 -0
- package/server/graphql/types/marketplace-order-item/marketplace-order-item.ts +32 -0
- package/server/graphql/types/marketplace-order-item/new-marketplace-order-item.ts +17 -0
- package/server/graphql/types/marketplace-order-shipping/index.ts +31 -0
- package/server/graphql/types/marketplace-order-shipping/marketplace-order-shipping-list.ts +8 -0
- package/server/graphql/types/marketplace-order-shipping/marketplace-order-shipping-patch.ts +45 -0
- package/server/graphql/types/marketplace-order-shipping/marketplace-order-shipping.ts +59 -0
- package/server/graphql/types/marketplace-order-shipping/new-marketplace-order-shipping.ts +44 -0
- package/server/graphql/types/marketplace-order-shipping-item/index.ts +32 -0
- package/server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item-list.ts +8 -0
- package/server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item-patch.ts +13 -0
- package/server/graphql/types/marketplace-order-shipping-item/marketplace-order-shipping-item.ts +16 -0
- package/server/graphql/types/marketplace-order-shipping-item/new-marketplace-order-shipping-item.ts +12 -0
- package/server/graphql/types/marketplace-product/index.ts +28 -0
- package/server/graphql/types/marketplace-product/marketplace-product-list.ts +8 -0
- package/server/graphql/types/marketplace-product/marketplace-product-patch.ts +24 -0
- package/server/graphql/types/marketplace-product/marketplace-product.ts +30 -0
- package/server/graphql/types/marketplace-product/new-marketplace-product.ts +24 -0
- package/server/graphql/types/marketplace-product-attribute/index.ts +35 -0
- package/server/graphql/types/marketplace-product-attribute/marketplace-product-attribute-list.ts +8 -0
- package/server/graphql/types/marketplace-product-attribute/marketplace-product-attribute-patch.ts +10 -0
- package/server/graphql/types/marketplace-product-attribute/marketplace-product-attribute.ts +20 -0
- package/server/graphql/types/marketplace-product-attribute/new-marketplace-product-attribute.ts +13 -0
- package/server/graphql/types/marketplace-product-category/index.ts +28 -0
- package/server/graphql/types/marketplace-product-category/marketplace-product-category-list.ts +8 -0
- package/server/graphql/types/marketplace-product-category/marketplace-product-category-patch.ts +10 -0
- package/server/graphql/types/marketplace-product-category/marketplace-product-category.ts +17 -0
- package/server/graphql/types/marketplace-product-category/new-marketplace-product-category.ts +10 -0
- package/server/graphql/types/marketplace-product-variation/index.ts +47 -0
- package/server/graphql/types/marketplace-product-variation/marketplace-product-variation-list.ts +8 -0
- package/server/graphql/types/marketplace-product-variation/marketplace-product-variation-patch.ts +32 -0
- package/server/graphql/types/marketplace-product-variation/marketplace-product-variation.ts +35 -0
- package/server/graphql/types/marketplace-product-variation/new-marketplace-product-variation.ts +26 -0
- package/server/graphql/types/marketplace-product-variation/warehouse-product.ts +9 -0
- package/server/graphql/types/marketplace-product-variation-price/index.ts +21 -0
- package/server/graphql/types/marketplace-product-variation-price/marketplace-product-variation-price-list.ts +8 -0
- package/server/graphql/types/marketplace-product-variation-price/marketplace-product-variation-price-patch.ts +17 -0
- package/server/graphql/types/marketplace-product-variation-price/marketplace-product-variation-price.ts +21 -0
- package/server/graphql/types/marketplace-product-variation-price/new-marketplace-product-variation-price.ts +14 -0
- package/server/graphql/types/marketplace-refund-order/index.ts +16 -0
- package/server/graphql/types/marketplace-refund-order/marketplace-refund-order-list.ts +8 -0
- package/server/graphql/types/marketplace-refund-order/marketplace-refund-order.ts +17 -0
- package/server/graphql/types/marketplace-report/index.ts +10 -0
- package/server/graphql/types/marketplace-report/marketplace-sales-report-list.ts +8 -0
- package/server/graphql/types/marketplace-report/marketplace-sales-report.ts +67 -0
- package/server/graphql/types/store-replenishment/index.ts +21 -0
- package/server/graphql/types/store-replenishment/new-store-replenishment.ts +8 -0
- package/server/graphql/types/store-replenishment/store-replenishment-list.ts +8 -0
- package/server/graphql/types/store-replenishment/store-replenishment-patch.ts +10 -0
- package/server/graphql/types/store-replenishment/store-replenishment.ts +24 -0
- package/server/graphql/types/store-replenishment-item/index.ts +21 -0
- package/server/graphql/types/store-replenishment-item/new-store-replenishment-item.ts +8 -0
- package/server/graphql/types/store-replenishment-item/store-replenishment-item-list.ts +8 -0
- package/server/graphql/types/store-replenishment-item/store-replenishment-item-patch.ts +10 -0
- package/server/graphql/types/store-replenishment-item/store-replenishment-item.ts +15 -0
- package/server/index.ts +6 -0
- package/server/middlewares/index.ts +3 -0
- package/server/migrations/index.ts +9 -0
- package/server/routes.ts +26 -0
- package/server/utils/index.ts +1 -0
- package/server/utils/no-generator.ts +25 -0
- package/tsconfig.json +9 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { EntityManager } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { User } from '@things-factory/auth-base'
|
|
4
|
+
import { MarketplaceStore, StoreAPI } from '@things-factory/integration-marketplace'
|
|
5
|
+
import { Domain } from '@things-factory/shell'
|
|
6
|
+
|
|
7
|
+
import { MarketplaceProductVariation, MarketplaceRefundOrder, MarketplaceRefundOrderItem } from '../../../entities'
|
|
8
|
+
|
|
9
|
+
export const syncMarketplaceRefundOrders = {
|
|
10
|
+
async syncMarketplaceRefundOrders(_: any, { storeId, fromDate, toDate }, context: ResolverContext) {
|
|
11
|
+
const { domain, user, tx } = context.state
|
|
12
|
+
|
|
13
|
+
//@ahmedqaid, I think it would be better if this logic could be written inside a function.
|
|
14
|
+
//That way sync-all-marketplace-refund-orders doesn't need to re-write the logic.
|
|
15
|
+
//By doing so, it would improve readability and maintainability easily.
|
|
16
|
+
const marketplaceStore: MarketplaceStore = await StoreAPI.getMarketplaceStore(storeId)
|
|
17
|
+
|
|
18
|
+
let page: number = 0
|
|
19
|
+
let hasMorePage: boolean = true
|
|
20
|
+
var limit: number = 100
|
|
21
|
+
|
|
22
|
+
while (hasMorePage) {
|
|
23
|
+
const { results: marketplaceRefundOrders, more } = await StoreAPI.getStoreRefundOrders(marketplaceStore, {
|
|
24
|
+
fromDate,
|
|
25
|
+
toDate,
|
|
26
|
+
pagination: { page, limit }
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
for (var i = 0; i < marketplaceRefundOrders.length; i++) {
|
|
30
|
+
var refundOrder = marketplaceRefundOrders[i]
|
|
31
|
+
|
|
32
|
+
let marketplaceRefundOrder: MarketplaceRefundOrder = new MarketplaceRefundOrder()
|
|
33
|
+
marketplaceRefundOrder.name = refundOrder.name
|
|
34
|
+
marketplaceRefundOrder.orderNo = refundOrder.orderNo
|
|
35
|
+
marketplaceRefundOrder.amount = refundOrder.amount
|
|
36
|
+
marketplaceRefundOrder.status = refundOrder.status
|
|
37
|
+
marketplaceRefundOrder.originalOrderNo = refundOrder.originalOrderNo
|
|
38
|
+
marketplaceRefundOrder.domain = marketplaceStore.domain
|
|
39
|
+
marketplaceRefundOrder.creator = user
|
|
40
|
+
marketplaceRefundOrder.updater = user
|
|
41
|
+
|
|
42
|
+
const existingRefundOrder: MarketplaceRefundOrder = await tx.getRepository(MarketplaceRefundOrder).findOne({
|
|
43
|
+
where: { domain: { id: marketplaceStore.domain.id }, name: refundOrder.name },
|
|
44
|
+
relations: ['domain', 'marketplaceRefundOrderItems']
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
if (existingRefundOrder) {
|
|
48
|
+
marketplaceRefundOrder = {
|
|
49
|
+
...existingRefundOrder,
|
|
50
|
+
...marketplaceRefundOrder,
|
|
51
|
+
updater: user
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
marketplaceRefundOrder = await tx.getRepository(MarketplaceRefundOrder).save(marketplaceRefundOrder)
|
|
55
|
+
|
|
56
|
+
refundOrder.items.forEach(async item => {
|
|
57
|
+
let existingVariation: MarketplaceProductVariation = await tx
|
|
58
|
+
.getRepository(MarketplaceProductVariation)
|
|
59
|
+
.findOne({
|
|
60
|
+
where: { domain: { id: marketplaceStore.domain.id }, name: item.variationId }
|
|
61
|
+
})
|
|
62
|
+
|
|
63
|
+
if (marketplaceStore.platform === 'lazada') {
|
|
64
|
+
existingVariation = await tx.getRepository(MarketplaceProductVariation).findOne({
|
|
65
|
+
where: { domain: { id: marketplaceStore.domain.id }, channelSku: item.channelSku }
|
|
66
|
+
})
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
let marketplaceRefundOrderItem: MarketplaceRefundOrderItem = new MarketplaceRefundOrderItem()
|
|
70
|
+
|
|
71
|
+
marketplaceRefundOrderItem.name = item.name
|
|
72
|
+
marketplaceRefundOrderItem.orderItemId = item.orderItemId
|
|
73
|
+
marketplaceRefundOrderItem.price = item.price
|
|
74
|
+
marketplaceRefundOrderItem.qty = item.qty
|
|
75
|
+
marketplaceRefundOrderItem.status = item.status
|
|
76
|
+
marketplaceRefundOrderItem.domain = marketplaceStore.domain
|
|
77
|
+
marketplaceRefundOrderItem.creator = user
|
|
78
|
+
marketplaceRefundOrderItem.updater = user
|
|
79
|
+
marketplaceRefundOrderItem.marketplaceRefundOrder = marketplaceRefundOrder
|
|
80
|
+
marketplaceRefundOrderItem.marketplaceProductVariation = existingVariation
|
|
81
|
+
|
|
82
|
+
const existingRefundOrderItem: MarketplaceRefundOrderItem = await tx
|
|
83
|
+
.getRepository(MarketplaceRefundOrderItem)
|
|
84
|
+
.findOne({
|
|
85
|
+
where: { domain: { id: marketplaceStore.domain.id }, name: item.name },
|
|
86
|
+
relations: ['domain']
|
|
87
|
+
})
|
|
88
|
+
if (existingRefundOrderItem) {
|
|
89
|
+
marketplaceRefundOrderItem = {
|
|
90
|
+
...existingRefundOrderItem,
|
|
91
|
+
...marketplaceRefundOrderItem,
|
|
92
|
+
updater: user
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
marketplaceRefundOrderItem = await tx
|
|
97
|
+
.getRepository(MarketplaceRefundOrderItem)
|
|
98
|
+
.save(marketplaceRefundOrderItem)
|
|
99
|
+
})
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
if (more) page++
|
|
103
|
+
hasMorePage = more
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { SelectQueryBuilder } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { buildQuery, getRepository, ListParam } from '@things-factory/shell'
|
|
4
|
+
|
|
5
|
+
import { MarketplaceOrderItem } from '../../../entities'
|
|
6
|
+
|
|
7
|
+
export const marketplaceSalesReportsResolver = {
|
|
8
|
+
async marketplaceSalesReports(_: any, params: ListParam, context: ResolverContext) {
|
|
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.marketplaceOrderShippingItems', 'mosi')
|
|
28
|
+
.leftJoinAndSelect('mosi.marketplaceOrderShipping', 'mos')
|
|
29
|
+
.leftJoinAndSelect('moi.marketplaceOrder', 'mo')
|
|
30
|
+
.leftJoinAndSelect('mo.fulfillmentCenter', 'fc')
|
|
31
|
+
.leftJoinAndSelect('mo.marketplaceStore', 'ms')
|
|
32
|
+
.leftJoinAndSelect('moi.marketplaceProductVariation', 'mpv')
|
|
33
|
+
.leftJoinAndSelect('mpv.marketplaceProduct', 'mp')
|
|
34
|
+
.leftJoinAndSelect('moi.creator', 'creator')
|
|
35
|
+
.leftJoinAndSelect('moi.updater', 'updater')
|
|
36
|
+
.leftJoinAndSelect(
|
|
37
|
+
'marketplace_refund_orders',
|
|
38
|
+
'mro',
|
|
39
|
+
'mo.name = mro.original_order_no AND mo.domain_id = mro.domain_id'
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
if (marketplaceStoreSorter) {
|
|
43
|
+
qb.addOrderBy('ms.name', marketplaceStoreSorter.desc ? 'DESC' : 'ASC')
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (orderNoSorter) {
|
|
47
|
+
qb.addOrderBy('mo.name', orderNoSorter.desc ? 'DESC' : 'ASC')
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (platformFilter) {
|
|
51
|
+
qb.andWhere('ms.platform = :platform', { platform: platformFilter.value })
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (marketplaceStoreFilter) {
|
|
55
|
+
qb.andWhere('ms.id = :marketplaceStore', { marketplaceStore: marketplaceStoreFilter.value })
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (fromDateFilter && toDateFilter) {
|
|
59
|
+
qb.andWhere('mo.order_created_at BETWEEN :fromDate AND :toDate', {
|
|
60
|
+
fromDate: fromDateFilter.value,
|
|
61
|
+
toDate: toDateFilter.value
|
|
62
|
+
})
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
let items = await qb
|
|
66
|
+
.offset((page - 1) * limit)
|
|
67
|
+
.limit(limit)
|
|
68
|
+
.getRawMany()
|
|
69
|
+
|
|
70
|
+
const total = await qb.getCount()
|
|
71
|
+
|
|
72
|
+
items = items.map(item => {
|
|
73
|
+
return {
|
|
74
|
+
fulfilmentCenter: item.fc_name,
|
|
75
|
+
orderNo: item.mo_name,
|
|
76
|
+
orderCreatedAt: item.mo_order_created_at,
|
|
77
|
+
buyerUsername: item.mo_buyer_username,
|
|
78
|
+
payoutDate: item.mo_payout_date,
|
|
79
|
+
payTime: item.mo_pay_time,
|
|
80
|
+
totalAmount: item.mo_total_amount,
|
|
81
|
+
refundAmount: item.mro_amount,
|
|
82
|
+
shippingProvider: item.mo_shipping_provider,
|
|
83
|
+
storeName: item.ms_name,
|
|
84
|
+
storeDescription: item.ms_description,
|
|
85
|
+
promotionId: item.moi_promotion_id,
|
|
86
|
+
originalPrice: item.moi_original_price,
|
|
87
|
+
paidPrice: item.moi_paid_price,
|
|
88
|
+
sku: item.mpv_sku,
|
|
89
|
+
qty: item.moi_qty,
|
|
90
|
+
variationId: item.mpv_variation_id,
|
|
91
|
+
variationName: item.mpv_name,
|
|
92
|
+
productName: item.mp_name,
|
|
93
|
+
productSku: item.mp_isku,
|
|
94
|
+
productDiscount: item.moi_discount,
|
|
95
|
+
paymentFee: item.moi_payment_fee,
|
|
96
|
+
shippingFee: item.mos_shipping_fee,
|
|
97
|
+
actualShippingFee: item.mos_actual_shipping_fee,
|
|
98
|
+
marketplaceShippingFeeVoucher: item.mos_marketplace_shipping_fee_voucher,
|
|
99
|
+
sellerShippingFeeVoucher: item.mos_seller_shipping_fee_voucher,
|
|
100
|
+
voucherAmount: item.mo_voucher_amount,
|
|
101
|
+
shippingRebate: item.mo_shipping_rebate,
|
|
102
|
+
commissionFee: item.mo_commission_fee,
|
|
103
|
+
serviceFee: item.mo_service_fee,
|
|
104
|
+
transactionFee: item.mo_transaction_fee,
|
|
105
|
+
totalRealeasedAmount: item.mo_total_realeased_amount,
|
|
106
|
+
voucherCode: item.mo_voucher_code,
|
|
107
|
+
shippingMode: item.mo_shipping_mode,
|
|
108
|
+
status: item.mo_status,
|
|
109
|
+
shippingFeePaidByCustomer: item.moi_shipping_fee_paid_by_customer,
|
|
110
|
+
promotionalCharges: item.moi_promotional_charges,
|
|
111
|
+
ordersMarketplaceFeesTotal: item.moi_orders_marketplace_fees_total,
|
|
112
|
+
ordersMarketingFeesTotal: item.moi_orders_marketing_fees_total,
|
|
113
|
+
ordersSalesTotal: item.moi_orders_sales_total,
|
|
114
|
+
ordersLogisticsTotal: item.moi_orders_logistics_total,
|
|
115
|
+
itemPriceCredit: item.moi_item_price_credit,
|
|
116
|
+
marketplaceBonus: item.moi_marketplace_bonus + item.moi_marketplace_bonus_seller,
|
|
117
|
+
marketplaceBonusSeller: item.moi_marketplace_bonus_seller,
|
|
118
|
+
shippingFeeDiscountMarketplace: item.moi_shipping_fee_discount_marketplace,
|
|
119
|
+
shippingFeeDiscountSeller: item.moi_shipping_fee_discount_seller,
|
|
120
|
+
promotionalChargesFlexiCombo: item.moi_promotional_charges_flexi_combo,
|
|
121
|
+
autoShippingSubsidyMarketplace: item.moi_auto_shipping_subsidy_marketplace,
|
|
122
|
+
grandTotal:
|
|
123
|
+
item.moi_orders_marketplace_fees_total +
|
|
124
|
+
item.moi_orders_marketing_fees_total +
|
|
125
|
+
item.moi_orders_sales_total +
|
|
126
|
+
item.moi_orders_logistics_total,
|
|
127
|
+
originalShippingFee: item.moi_original_shipping_fee,
|
|
128
|
+
taxAmount: item.moi_tax_amount,
|
|
129
|
+
itemCommissionFee: item.moi_commission_fee,
|
|
130
|
+
variationSku: item.mpv_variation_sku,
|
|
131
|
+
address1: item.mos_address_1,
|
|
132
|
+
address2: item.mos_address_2,
|
|
133
|
+
address3: item.mos_address_3,
|
|
134
|
+
city: item.mos_city,
|
|
135
|
+
state: item.mos_state,
|
|
136
|
+
postcode: item.mos_post_code,
|
|
137
|
+
trackingNo: item.moi_tracking_code
|
|
138
|
+
}
|
|
139
|
+
})
|
|
140
|
+
|
|
141
|
+
return { items, total }
|
|
142
|
+
}
|
|
143
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { getRepository } from '@things-factory/shell'
|
|
2
|
+
|
|
3
|
+
import { StoreReplenishment } from '../../../entities'
|
|
4
|
+
|
|
5
|
+
export const createStoreReplenishment = {
|
|
6
|
+
async createStoreReplenishment(_: any, { storeReplenishment }, context: ResolverContext) {
|
|
7
|
+
const { domain, user } = context.state
|
|
8
|
+
|
|
9
|
+
return await getRepository(StoreReplenishment).save({
|
|
10
|
+
...storeReplenishment,
|
|
11
|
+
domain,
|
|
12
|
+
creator: user,
|
|
13
|
+
updater: user
|
|
14
|
+
})
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { getRepository } from '@things-factory/shell'
|
|
2
|
+
|
|
3
|
+
import { StoreReplenishment } from '../../../entities'
|
|
4
|
+
|
|
5
|
+
export const deleteStoreReplenishment = {
|
|
6
|
+
async deleteStoreReplenishment(_: any, { name }, context: ResolverContext) {
|
|
7
|
+
const { domain, user } = context.state
|
|
8
|
+
|
|
9
|
+
await getRepository(StoreReplenishment).delete({ domain: { id: domain.id }, name })
|
|
10
|
+
|
|
11
|
+
return true
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { In } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { getRepository } from '@things-factory/shell'
|
|
4
|
+
|
|
5
|
+
import { StoreReplenishment } from '../../../entities'
|
|
6
|
+
|
|
7
|
+
export const deleteStoreReplenishments = {
|
|
8
|
+
async deleteStoreReplenishments(_: any, { names }, context: ResolverContext) {
|
|
9
|
+
const { domain, user } = context.state
|
|
10
|
+
|
|
11
|
+
await getRepository(StoreReplenishment).delete({
|
|
12
|
+
domain: { id: domain.id },
|
|
13
|
+
name: In(names)
|
|
14
|
+
})
|
|
15
|
+
|
|
16
|
+
return true
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Query, StoreReplenishment } from './store-replenishment-query'
|
|
2
|
+
|
|
3
|
+
import { updateStoreReplenishment } from './update-store-replenishment'
|
|
4
|
+
import { updateMultipleStoreReplenishment } from './update-multiple-store-replenishment'
|
|
5
|
+
import { createStoreReplenishment } from './create-store-replenishment'
|
|
6
|
+
import { deleteStoreReplenishment } from './delete-store-replenishment'
|
|
7
|
+
import { deleteStoreReplenishments } from './delete-store-replenishments'
|
|
8
|
+
|
|
9
|
+
export const StoreReplenishmentResolver = {
|
|
10
|
+
StoreReplenishment,
|
|
11
|
+
Query,
|
|
12
|
+
Mutation: {
|
|
13
|
+
...updateStoreReplenishment,
|
|
14
|
+
...updateMultipleStoreReplenishment,
|
|
15
|
+
...createStoreReplenishment,
|
|
16
|
+
...deleteStoreReplenishment,
|
|
17
|
+
...deleteStoreReplenishments
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { convertListParams, getRepository, ListParam } from '@things-factory/shell'
|
|
2
|
+
|
|
3
|
+
import { StoreReplenishment as StoreReplenishmentEntity } from '../../../entities'
|
|
4
|
+
|
|
5
|
+
export const Query = {
|
|
6
|
+
async storeReplenishment(_: any, { name }, context: ResolverContext) {
|
|
7
|
+
const { domain, user } = context.state
|
|
8
|
+
const repository = getRepository(StoreReplenishmentEntity)
|
|
9
|
+
|
|
10
|
+
return await repository.findOne({
|
|
11
|
+
where: { domain: { id: domain.id }, name }
|
|
12
|
+
})
|
|
13
|
+
},
|
|
14
|
+
|
|
15
|
+
async storeReplenishments(_: any, params: ListParam, context: ResolverContext) {
|
|
16
|
+
const convertedParams = convertListParams(params)
|
|
17
|
+
const [items, total] = await getRepository(StoreReplenishmentEntity).findAndCount({
|
|
18
|
+
...convertedParams
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
return { items, total }
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export const StoreReplenishment = {
|
|
26
|
+
async domain(storeReplenishment) {
|
|
27
|
+
return (
|
|
28
|
+
await getRepository(StoreReplenishmentEntity).findOne({
|
|
29
|
+
where: { id: storeReplenishment.id },
|
|
30
|
+
relations: ['domain']
|
|
31
|
+
})
|
|
32
|
+
)?.domain
|
|
33
|
+
},
|
|
34
|
+
|
|
35
|
+
async updater(storeReplenishment) {
|
|
36
|
+
return (
|
|
37
|
+
await getRepository(StoreReplenishmentEntity).findOne({
|
|
38
|
+
where: { id: storeReplenishment.id },
|
|
39
|
+
relations: ['updater']
|
|
40
|
+
})
|
|
41
|
+
)?.updater
|
|
42
|
+
},
|
|
43
|
+
|
|
44
|
+
async creator(storeReplenishment) {
|
|
45
|
+
return (
|
|
46
|
+
await getRepository(StoreReplenishmentEntity).findOne({
|
|
47
|
+
where: { id: storeReplenishment.id },
|
|
48
|
+
relations: ['creator']
|
|
49
|
+
})
|
|
50
|
+
)?.creator
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { getRepository } from '@things-factory/shell'
|
|
2
|
+
|
|
3
|
+
import { StoreReplenishment } from '../../../entities'
|
|
4
|
+
|
|
5
|
+
export const updateMultipleStoreReplenishment = {
|
|
6
|
+
async updateMultipleStoreReplenishment(_: any, { patches }, context: ResolverContext) {
|
|
7
|
+
const { domain, user } = context.state
|
|
8
|
+
|
|
9
|
+
let results = []
|
|
10
|
+
const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
|
|
11
|
+
const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')
|
|
12
|
+
const storeReplenishmentRepo = getRepository(StoreReplenishment)
|
|
13
|
+
|
|
14
|
+
if (_createRecords.length > 0) {
|
|
15
|
+
for (let i = 0; i < _createRecords.length; i++) {
|
|
16
|
+
const newRecord = _createRecords[i]
|
|
17
|
+
|
|
18
|
+
const result = await storeReplenishmentRepo.save({
|
|
19
|
+
...newRecord,
|
|
20
|
+
domain: domain,
|
|
21
|
+
creator: user,
|
|
22
|
+
updater: user
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
results.push({ ...result, cuFlag: '+' })
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (_updateRecords.length > 0) {
|
|
30
|
+
for (let i = 0; i < _updateRecords.length; i++) {
|
|
31
|
+
const newRecord = _updateRecords[i]
|
|
32
|
+
const storeReplenishment = await storeReplenishmentRepo.findOneBy({
|
|
33
|
+
domain: { id: domain.id },
|
|
34
|
+
id: newRecord.id
|
|
35
|
+
})
|
|
36
|
+
|
|
37
|
+
const result = await storeReplenishmentRepo.save({
|
|
38
|
+
...storeReplenishment,
|
|
39
|
+
...newRecord,
|
|
40
|
+
updater: user
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
results.push({ ...result, cuFlag: 'M' })
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return results
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { getRepository } from '@things-factory/shell'
|
|
2
|
+
|
|
3
|
+
import { StoreReplenishment } from '../../../entities'
|
|
4
|
+
|
|
5
|
+
export const updateStoreReplenishment = {
|
|
6
|
+
async updateStoreReplenishment(_: any, { name, patch }, context: ResolverContext) {
|
|
7
|
+
const { domain, user } = context.state
|
|
8
|
+
|
|
9
|
+
const repository = getRepository(StoreReplenishment)
|
|
10
|
+
const storeReplenishment = await repository.findOne({
|
|
11
|
+
where: { domain: { id: domain.id }, name }
|
|
12
|
+
})
|
|
13
|
+
|
|
14
|
+
return await repository.save({
|
|
15
|
+
...storeReplenishment,
|
|
16
|
+
...patch,
|
|
17
|
+
updater: user
|
|
18
|
+
})
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { getRepository } from '@things-factory/shell'
|
|
2
|
+
|
|
3
|
+
import { StoreReplenishmentItem } from '../../../entities'
|
|
4
|
+
|
|
5
|
+
export const createStoreReplenishmentItem = {
|
|
6
|
+
async createStoreReplenishmentItem(_: any, { storeReplenishmentItem }, context: ResolverContext) {
|
|
7
|
+
const { domain, user } = context.state
|
|
8
|
+
|
|
9
|
+
return await getRepository(StoreReplenishmentItem).save({
|
|
10
|
+
...storeReplenishmentItem,
|
|
11
|
+
domain,
|
|
12
|
+
creator: user,
|
|
13
|
+
updater: user
|
|
14
|
+
})
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { getRepository } from '@things-factory/shell'
|
|
2
|
+
|
|
3
|
+
import { StoreReplenishmentItem } from '../../../entities'
|
|
4
|
+
|
|
5
|
+
export const deleteStoreReplenishmentItem = {
|
|
6
|
+
async deleteStoreReplenishmentItem(_: any, { name }, context: ResolverContext) {
|
|
7
|
+
const { domain, user } = context.state
|
|
8
|
+
|
|
9
|
+
await getRepository(StoreReplenishmentItem).delete({ domain: { id: domain.id }, name })
|
|
10
|
+
|
|
11
|
+
return true
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { In } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { getRepository } from '@things-factory/shell'
|
|
4
|
+
|
|
5
|
+
import { StoreReplenishmentItem } from '../../../entities'
|
|
6
|
+
|
|
7
|
+
export const deleteStoreReplenishmentItems = {
|
|
8
|
+
async deleteStoreReplenishmentItems(_: any, { names }, context: ResolverContext) {
|
|
9
|
+
const { domain, user } = context.state
|
|
10
|
+
|
|
11
|
+
await getRepository(StoreReplenishmentItem).delete({
|
|
12
|
+
domain: { id: domain.id },
|
|
13
|
+
name: In(names)
|
|
14
|
+
})
|
|
15
|
+
|
|
16
|
+
return true
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Query, StoreReplenishmentItem } from './store-replenishment-item-query'
|
|
2
|
+
|
|
3
|
+
import { updateStoreReplenishmentItem } from './update-store-replenishment-item'
|
|
4
|
+
import { updateMultipleStoreReplenishmentItem } from './update-multiple-store-replenishment-item'
|
|
5
|
+
import { createStoreReplenishmentItem } from './create-store-replenishment-item'
|
|
6
|
+
import { deleteStoreReplenishmentItem } from './delete-store-replenishment-item'
|
|
7
|
+
import { deleteStoreReplenishmentItems } from './delete-store-replenishment-items'
|
|
8
|
+
|
|
9
|
+
export const StoreReplenishmentItemResolver = {
|
|
10
|
+
StoreReplenishmentItem,
|
|
11
|
+
Query,
|
|
12
|
+
Mutation: {
|
|
13
|
+
...updateStoreReplenishmentItem,
|
|
14
|
+
...updateMultipleStoreReplenishmentItem,
|
|
15
|
+
...createStoreReplenishmentItem,
|
|
16
|
+
...deleteStoreReplenishmentItem,
|
|
17
|
+
...deleteStoreReplenishmentItems
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { convertListParams, getRepository, ListParam } from '@things-factory/shell'
|
|
2
|
+
|
|
3
|
+
import { StoreReplenishmentItem as StoreReplenishmentItemEntity } from '../../../entities'
|
|
4
|
+
|
|
5
|
+
export const Query = {
|
|
6
|
+
async storeReplenishmentItem(_: any, { name }, context: ResolverContext) {
|
|
7
|
+
const { domain, user } = context.state
|
|
8
|
+
const repository = getRepository(StoreReplenishmentItemEntity)
|
|
9
|
+
|
|
10
|
+
return await repository.findOne({
|
|
11
|
+
where: { domain: { id: domain.id }, name }
|
|
12
|
+
})
|
|
13
|
+
},
|
|
14
|
+
|
|
15
|
+
async storeReplenishmentItems(_: any, params: ListParam, context: ResolverContext) {
|
|
16
|
+
const convertedParams = convertListParams(params)
|
|
17
|
+
const [items, total] = await getRepository(StoreReplenishmentItemEntity).findAndCount({
|
|
18
|
+
...convertedParams
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
return { items, total }
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export const StoreReplenishmentItem = {
|
|
26
|
+
async domain(storeReplenishmentItem) {
|
|
27
|
+
return (
|
|
28
|
+
await getRepository(StoreReplenishmentItemEntity).findOne({
|
|
29
|
+
where: { id: storeReplenishmentItem.id },
|
|
30
|
+
relations: ['domain']
|
|
31
|
+
})
|
|
32
|
+
)?.domain
|
|
33
|
+
},
|
|
34
|
+
|
|
35
|
+
async updater(storeReplenishmentItem) {
|
|
36
|
+
return (
|
|
37
|
+
await getRepository(StoreReplenishmentItemEntity).findOne({
|
|
38
|
+
where: { id: storeReplenishmentItem.id },
|
|
39
|
+
relations: ['updater']
|
|
40
|
+
})
|
|
41
|
+
)?.updater
|
|
42
|
+
},
|
|
43
|
+
|
|
44
|
+
async creator(storeReplenishmentItem) {
|
|
45
|
+
return (
|
|
46
|
+
await getRepository(StoreReplenishmentItemEntity).findOne({
|
|
47
|
+
where: { id: storeReplenishmentItem.id },
|
|
48
|
+
relations: ['creator']
|
|
49
|
+
})
|
|
50
|
+
)?.creator
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { getRepository } from '@things-factory/shell'
|
|
2
|
+
|
|
3
|
+
import { StoreReplenishmentItem } from '../../../entities'
|
|
4
|
+
|
|
5
|
+
export const updateMultipleStoreReplenishmentItem = {
|
|
6
|
+
async updateMultipleStoreReplenishmentItem(_: any, { patches }, context: ResolverContext) {
|
|
7
|
+
const { domain, user } = context.state
|
|
8
|
+
|
|
9
|
+
let results = []
|
|
10
|
+
const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
|
|
11
|
+
const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')
|
|
12
|
+
const storeReplenishmentItemRepo = getRepository(StoreReplenishmentItem)
|
|
13
|
+
|
|
14
|
+
if (_createRecords.length > 0) {
|
|
15
|
+
for (let i = 0; i < _createRecords.length; i++) {
|
|
16
|
+
const newRecord = _createRecords[i]
|
|
17
|
+
|
|
18
|
+
const result = await storeReplenishmentItemRepo.save({
|
|
19
|
+
...newRecord,
|
|
20
|
+
domain: domain,
|
|
21
|
+
creator: user,
|
|
22
|
+
updater: user
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
results.push({ ...result, cuFlag: '+' })
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (_updateRecords.length > 0) {
|
|
30
|
+
for (let i = 0; i < _updateRecords.length; i++) {
|
|
31
|
+
const newRecord = _updateRecords[i]
|
|
32
|
+
const storeReplenishmentItem = await storeReplenishmentItemRepo.findOneBy({
|
|
33
|
+
domain: { id: domain.id },
|
|
34
|
+
id: newRecord.id
|
|
35
|
+
})
|
|
36
|
+
|
|
37
|
+
const result = await storeReplenishmentItemRepo.save({
|
|
38
|
+
...storeReplenishmentItem,
|
|
39
|
+
...newRecord,
|
|
40
|
+
updater: user
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
results.push({ ...result, cuFlag: 'M' })
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return results
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { getRepository } from '@things-factory/shell'
|
|
2
|
+
|
|
3
|
+
import { StoreReplenishmentItem } from '../../../entities'
|
|
4
|
+
|
|
5
|
+
export const updateStoreReplenishmentItem = {
|
|
6
|
+
async updateStoreReplenishmentItem(_: any, { name, patch }, context: ResolverContext) {
|
|
7
|
+
const { domain, user } = context.state
|
|
8
|
+
|
|
9
|
+
const repository = getRepository(StoreReplenishmentItem)
|
|
10
|
+
const storeReplenishmentItem = await repository.findOne({
|
|
11
|
+
where: { domain: { id: domain.id }, name }
|
|
12
|
+
})
|
|
13
|
+
|
|
14
|
+
return await repository.save({
|
|
15
|
+
...storeReplenishmentItem,
|
|
16
|
+
...patch,
|
|
17
|
+
updater: user
|
|
18
|
+
})
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from './marketplace-order'
|
|
2
|
+
export * from './marketplace-order-item'
|
|
3
|
+
export * from './marketplace-order-shipping'
|
|
4
|
+
export * from './marketplace-product'
|
|
5
|
+
export * from './marketplace-product-attribute'
|
|
6
|
+
export * from './marketplace-product-category'
|
|
7
|
+
export * from './marketplace-product-variation'
|
|
8
|
+
export * from './store-replenishment'
|
|
9
|
+
export * from './store-replenishment-item'
|
|
10
|
+
export * from './marketplace-product-variation-price'
|
|
11
|
+
export * from './marketplace-refund-order'
|
|
12
|
+
export * from './marketplace-report'
|
|
13
|
+
export * from './marketplace-order-shipping-item'
|