|
@@ -151,7 +151,10 @@ export const api = {
|
|
|
request<void>(`/api/product/channel-mappings/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/product/channel-mappings/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* Channels */
|
|
/* Channels */
|
|
|
- getChannels: () => request<{ items: ChannelItem[] }>('/api/channel/channels'),
|
|
|
|
|
|
|
+ getChannels: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: ChannelItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/channel/channels?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getChannel: (id: number) => request<ChannelItem>(`/api/channel/channels/${id}`),
|
|
getChannel: (id: number) => request<ChannelItem>(`/api/channel/channels/${id}`),
|
|
|
getChannelByCode: (code: string) => request<ChannelItem>(`/api/channel/channels/code/${code}`),
|
|
getChannelByCode: (code: string) => request<ChannelItem>(`/api/channel/channels/code/${code}`),
|
|
|
createChannel: (data: any) =>
|
|
createChannel: (data: any) =>
|
|
@@ -162,7 +165,10 @@ export const api = {
|
|
|
request<void>(`/api/channel/channels/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/channel/channels/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* Warehouses */
|
|
/* Warehouses */
|
|
|
- getWarehouses: () => request<{ items: WarehouseItem[] }>('/api/warehouse/warehouses'),
|
|
|
|
|
|
|
+ getWarehouses: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: WarehouseItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/warehouse/warehouses?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getWarehouse: (id: number) => request<WarehouseItem>(`/api/warehouse/warehouses/${id}`),
|
|
getWarehouse: (id: number) => request<WarehouseItem>(`/api/warehouse/warehouses/${id}`),
|
|
|
createWarehouse: (data: any) =>
|
|
createWarehouse: (data: any) =>
|
|
|
request<WarehouseItem>('/api/warehouse/warehouses', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<WarehouseItem>('/api/warehouse/warehouses', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -172,7 +178,10 @@ export const api = {
|
|
|
request<void>(`/api/warehouse/warehouses/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/warehouse/warehouses/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* Return Packages */
|
|
/* Return Packages */
|
|
|
- getReturnPackages: () => request<{ items: ReturnPackageItem[] }>('/api/warehouse/returns'),
|
|
|
|
|
|
|
+ getReturnPackages: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: ReturnPackageItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/warehouse/returns?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getReturnPackage: (id: number) => request<ReturnPackageItem>(`/api/warehouse/returns/${id}`),
|
|
getReturnPackage: (id: number) => request<ReturnPackageItem>(`/api/warehouse/returns/${id}`),
|
|
|
getReturnPackageByReturnNo: (returnNo: string) => request<ReturnPackageItem>(`/api/warehouse/returns/return-no/${returnNo}`),
|
|
getReturnPackageByReturnNo: (returnNo: string) => request<ReturnPackageItem>(`/api/warehouse/returns/return-no/${returnNo}`),
|
|
|
createReturnPackage: (data: any) =>
|
|
createReturnPackage: (data: any) =>
|
|
@@ -183,7 +192,10 @@ export const api = {
|
|
|
request<void>(`/api/warehouse/returns/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/warehouse/returns/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* Logistics Providers */
|
|
/* Logistics Providers */
|
|
|
- getLogisticsProviders: () => request<{ items: LogisticsProviderItem[] }>('/api/logistics/providers'),
|
|
|
|
|
|
|
+ getLogisticsProviders: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: LogisticsProviderItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/logistics/providers?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getLogisticsProvider: (id: number) => request<LogisticsProviderItem>(`/api/logistics/providers/${id}`),
|
|
getLogisticsProvider: (id: number) => request<LogisticsProviderItem>(`/api/logistics/providers/${id}`),
|
|
|
createLogisticsProvider: (data: any) =>
|
|
createLogisticsProvider: (data: any) =>
|
|
|
request<LogisticsProviderItem>('/api/logistics/providers', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<LogisticsProviderItem>('/api/logistics/providers', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -193,7 +205,10 @@ export const api = {
|
|
|
request<void>(`/api/logistics/providers/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/logistics/providers/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* Shipping Templates */
|
|
/* Shipping Templates */
|
|
|
- getShippingTemplates: () => request<{ items: ShippingTemplateItem[] }>('/api/logistics/shipping-templates'),
|
|
|
|
|
|
|
+ getShippingTemplates: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: ShippingTemplateItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/logistics/shipping-templates?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getShippingTemplate: (id: number) => request<ShippingTemplateItem>(`/api/logistics/shipping-templates/${id}`),
|
|
getShippingTemplate: (id: number) => request<ShippingTemplateItem>(`/api/logistics/shipping-templates/${id}`),
|
|
|
getShippingTemplatesByCarrier: (carrierId: number) => request<ShippingTemplateItem[]>(`/api/logistics/shipping-templates/carrier/${carrierId}`),
|
|
getShippingTemplatesByCarrier: (carrierId: number) => request<ShippingTemplateItem[]>(`/api/logistics/shipping-templates/carrier/${carrierId}`),
|
|
|
createShippingTemplate: (data: any) =>
|
|
createShippingTemplate: (data: any) =>
|
|
@@ -204,7 +219,10 @@ export const api = {
|
|
|
request<void>(`/api/logistics/shipping-templates/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/logistics/shipping-templates/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* Inventory */
|
|
/* Inventory */
|
|
|
- getInventories: () => request<{ items: InventoryItem[] }>('/api/inventory/inventories'),
|
|
|
|
|
|
|
+ getInventories: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: InventoryItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/inventory/inventories?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getInventory: (id: number) => request<InventoryItem>(`/api/inventory/inventories/${id}`),
|
|
getInventory: (id: number) => request<InventoryItem>(`/api/inventory/inventories/${id}`),
|
|
|
createInventory: (data: any) =>
|
|
createInventory: (data: any) =>
|
|
|
request<InventoryItem>('/api/inventory/inventories', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<InventoryItem>('/api/inventory/inventories', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -220,7 +238,10 @@ export const api = {
|
|
|
request<void>(`/api/inventory/inventories/${id}/increment`, { method: 'POST', body: JSON.stringify(data) }),
|
|
request<void>(`/api/inventory/inventories/${id}/increment`, { method: 'POST', body: JSON.stringify(data) }),
|
|
|
|
|
|
|
|
/* Inventory Logs */
|
|
/* Inventory Logs */
|
|
|
- getInventoryLogs: (inventoryId: number) => request<{ items: InventoryLogItem[] }>(`/api/inventory/${inventoryId}/logs`),
|
|
|
|
|
|
|
+ getInventoryLogs: (inventoryId: number, page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: InventoryLogItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/inventory/${inventoryId}/logs?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getInventoryLog: (id: number) => request<InventoryLogItem>(`/api/inventory/log/${id}`),
|
|
getInventoryLog: (id: number) => request<InventoryLogItem>(`/api/inventory/log/${id}`),
|
|
|
createInventoryLog: (data: any) =>
|
|
createInventoryLog: (data: any) =>
|
|
|
request<InventoryLogItem>('/api/inventory/log', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<InventoryLogItem>('/api/inventory/log', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -230,7 +251,10 @@ export const api = {
|
|
|
request<void>(`/api/inventory/log/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/inventory/log/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* Replenishment Plans */
|
|
/* Replenishment Plans */
|
|
|
- getReplenishmentPlans: () => request<{ items: ReplenishmentPlanItem[] }>('/api/inventory/replenishment-plans'),
|
|
|
|
|
|
|
+ getReplenishmentPlans: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: ReplenishmentPlanItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/inventory/replenishment-plans?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getReplenishmentPlan: (id: number) => request<ReplenishmentPlanItem>(`/api/inventory/replenishment-plans/${id}`),
|
|
getReplenishmentPlan: (id: number) => request<ReplenishmentPlanItem>(`/api/inventory/replenishment-plans/${id}`),
|
|
|
createReplenishmentPlan: (data: any) =>
|
|
createReplenishmentPlan: (data: any) =>
|
|
|
request<ReplenishmentPlanItem>('/api/inventory/replenishment-plans', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<ReplenishmentPlanItem>('/api/inventory/replenishment-plans', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -240,7 +264,10 @@ export const api = {
|
|
|
request<void>(`/api/inventory/replenishment-plans/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/inventory/replenishment-plans/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* Suppliers */
|
|
/* Suppliers */
|
|
|
- getSuppliers: () => request<{ items: SupplierItem[] }>('/api/supplier/suppliers'),
|
|
|
|
|
|
|
+ getSuppliers: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: SupplierItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/supplier/suppliers?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getSupplier: (id: number) => request<SupplierItem>(`/api/supplier/suppliers/${id}`),
|
|
getSupplier: (id: number) => request<SupplierItem>(`/api/supplier/suppliers/${id}`),
|
|
|
createSupplier: (data: any) =>
|
|
createSupplier: (data: any) =>
|
|
|
request<SupplierItem>('/api/supplier/suppliers', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<SupplierItem>('/api/supplier/suppliers', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -250,7 +277,10 @@ export const api = {
|
|
|
request<void>(`/api/supplier/suppliers/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/supplier/suppliers/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* Supply Capabilities */
|
|
/* Supply Capabilities */
|
|
|
- getSupplyCapabilities: () => request<{ items: SupplyCapabilityItem[] }>('/api/supplier/capabilities'),
|
|
|
|
|
|
|
+ getSupplyCapabilities: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: SupplyCapabilityItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/supplier/capabilities?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getSupplyCapabilitiesBySupplier: (supplierId: number) => request<{ items: SupplyCapabilityItem[] }>(`/api/supplier/${supplierId}/capabilities`),
|
|
getSupplyCapabilitiesBySupplier: (supplierId: number) => request<{ items: SupplyCapabilityItem[] }>(`/api/supplier/${supplierId}/capabilities`),
|
|
|
getSupplyCapabilitiesBySku: (skuId: number) => request<{ items: SupplyCapabilityItem[] }>(`/api/supplier/sku/${skuId}/capabilities`),
|
|
getSupplyCapabilitiesBySku: (skuId: number) => request<{ items: SupplyCapabilityItem[] }>(`/api/supplier/sku/${skuId}/capabilities`),
|
|
|
getSupplyCapability: (id: number) => request<SupplyCapabilityItem>(`/api/supplier/capability/${id}`),
|
|
getSupplyCapability: (id: number) => request<SupplyCapabilityItem>(`/api/supplier/capability/${id}`),
|
|
@@ -262,7 +292,10 @@ export const api = {
|
|
|
request<void>(`/api/supplier/capability/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/supplier/capability/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* Orders */
|
|
/* Orders */
|
|
|
- getOrders: () => request<{ items: OrderItem[] }>('/api/order/orders'),
|
|
|
|
|
|
|
+ getOrders: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: OrderItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/order/orders?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getOrder: (id: number) => request<OrderItem>(`/api/order/orders/${id}`),
|
|
getOrder: (id: number) => request<OrderItem>(`/api/order/orders/${id}`),
|
|
|
getOrderByOrderNo: (orderNo: string) => request<OrderItem>(`/api/order/orders/order-no/${orderNo}`),
|
|
getOrderByOrderNo: (orderNo: string) => request<OrderItem>(`/api/order/orders/order-no/${orderNo}`),
|
|
|
createOrder: (data: any) =>
|
|
createOrder: (data: any) =>
|
|
@@ -274,7 +307,10 @@ export const api = {
|
|
|
request<void>(`/api/order/orders/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/order/orders/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* Shipping Orders */
|
|
/* Shipping Orders */
|
|
|
- getShippingOrders: () => request<{ items: ShippingItem[] }>('/api/order/shipping-orders'),
|
|
|
|
|
|
|
+ getShippingOrders: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: ShippingItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/order/shipping-orders?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getShippingOrder: (id: number) => request<ShippingItem>(`/api/order/shipping-orders/${id}`),
|
|
getShippingOrder: (id: number) => request<ShippingItem>(`/api/order/shipping-orders/${id}`),
|
|
|
getShippingOrderByShipmentNo: (shipmentNo: string) => request<ShippingItem>(`/api/order/shipping-orders/shipment-no/${shipmentNo}`),
|
|
getShippingOrderByShipmentNo: (shipmentNo: string) => request<ShippingItem>(`/api/order/shipping-orders/shipment-no/${shipmentNo}`),
|
|
|
createShippingOrder: (data: any) =>
|
|
createShippingOrder: (data: any) =>
|
|
@@ -315,7 +351,10 @@ export const api = {
|
|
|
request<void>(`/api/order/operation-log/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/order/operation-log/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* Purchase Orders */
|
|
/* Purchase Orders */
|
|
|
- getPurchaseOrders: () => request<{ items: PurchaseOrderItem[] }>('/api/purchase/orders'),
|
|
|
|
|
|
|
+ getPurchaseOrders: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: PurchaseOrderItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/purchase/orders?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getPurchaseOrder: (id: number) => request<PurchaseOrderItem>(`/api/purchase/orders/${id}`),
|
|
getPurchaseOrder: (id: number) => request<PurchaseOrderItem>(`/api/purchase/orders/${id}`),
|
|
|
getPurchaseOrderByPoNo: (poNo: string) => request<PurchaseOrderItem>(`/api/purchase/orders/po-no/${poNo}`),
|
|
getPurchaseOrderByPoNo: (poNo: string) => request<PurchaseOrderItem>(`/api/purchase/orders/po-no/${poNo}`),
|
|
|
createPurchaseOrder: (data: any) =>
|
|
createPurchaseOrder: (data: any) =>
|
|
@@ -368,7 +407,10 @@ export const api = {
|
|
|
request<void>(`/api/purchase/iqc/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/purchase/iqc/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* Purchase Requests */
|
|
/* Purchase Requests */
|
|
|
- getPurchaseRequests: () => request<{ items: PurchaseRequestItem[] }>('/api/purchase/requests'),
|
|
|
|
|
|
|
+ getPurchaseRequests: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: PurchaseRequestItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/purchase/requests?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getPurchaseRequest: (id: number) => request<PurchaseRequestItem>(`/api/purchase/requests/${id}`),
|
|
getPurchaseRequest: (id: number) => request<PurchaseRequestItem>(`/api/purchase/requests/${id}`),
|
|
|
getPurchaseRequestByRequestNo: (requestNo: string) => request<PurchaseRequestItem>(`/api/purchase/requests/request-no/${requestNo}`),
|
|
getPurchaseRequestByRequestNo: (requestNo: string) => request<PurchaseRequestItem>(`/api/purchase/requests/request-no/${requestNo}`),
|
|
|
createPurchaseRequest: (data: any) =>
|
|
createPurchaseRequest: (data: any) =>
|
|
@@ -379,7 +421,10 @@ export const api = {
|
|
|
request<void>(`/api/purchase/requests/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/purchase/requests/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* After Sales */
|
|
/* After Sales */
|
|
|
- getAfterSales: () => request<{ items: AfterSaleItem[] }>('/api/after-sale/after-sales'),
|
|
|
|
|
|
|
+ getAfterSales: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: AfterSaleItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/after-sale/after-sales?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getAfterSale: (id: number) => request<AfterSaleItem>(`/api/after-sale/after-sales/${id}`),
|
|
getAfterSale: (id: number) => request<AfterSaleItem>(`/api/after-sale/after-sales/${id}`),
|
|
|
getAfterSaleByAfterSaleNo: (afterSaleNo: string) => request<AfterSaleItem>(`/api/after-sale/after-sales/after-sale-no/${afterSaleNo}`),
|
|
getAfterSaleByAfterSaleNo: (afterSaleNo: string) => request<AfterSaleItem>(`/api/after-sale/after-sales/after-sale-no/${afterSaleNo}`),
|
|
|
createAfterSale: (data: any) =>
|
|
createAfterSale: (data: any) =>
|
|
@@ -390,7 +435,10 @@ export const api = {
|
|
|
request<void>(`/api/after-sale/after-sales/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/after-sale/after-sales/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* Finance: Payments */
|
|
/* Finance: Payments */
|
|
|
- getPayments: () => request<{ items: PaymentItem[] }>('/api/finance/payments'),
|
|
|
|
|
|
|
+ getPayments: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: PaymentItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/finance/payments?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getPayment: (id: number) => request<PaymentItem>(`/api/finance/payments/${id}`),
|
|
getPayment: (id: number) => request<PaymentItem>(`/api/finance/payments/${id}`),
|
|
|
getPaymentByPaymentNo: (paymentNo: string) => request<PaymentItem>(`/api/finance/payments/payment-no/${paymentNo}`),
|
|
getPaymentByPaymentNo: (paymentNo: string) => request<PaymentItem>(`/api/finance/payments/payment-no/${paymentNo}`),
|
|
|
createPayment: (data: any) =>
|
|
createPayment: (data: any) =>
|
|
@@ -401,7 +449,10 @@ export const api = {
|
|
|
request<void>(`/api/finance/payments/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/finance/payments/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* Finance: Refunds */
|
|
/* Finance: Refunds */
|
|
|
- getRefunds: () => request<{ items: RefundItem[] }>('/api/finance/refunds'),
|
|
|
|
|
|
|
+ getRefunds: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: RefundItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/finance/refunds?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getRefund: (id: number) => request<RefundItem>(`/api/finance/refunds/${id}`),
|
|
getRefund: (id: number) => request<RefundItem>(`/api/finance/refunds/${id}`),
|
|
|
getRefundByRefundNo: (refundNo: string) => request<RefundItem>(`/api/finance/refunds/refund-no/${refundNo}`),
|
|
getRefundByRefundNo: (refundNo: string) => request<RefundItem>(`/api/finance/refunds/refund-no/${refundNo}`),
|
|
|
createRefund: (data: any) =>
|
|
createRefund: (data: any) =>
|
|
@@ -412,7 +463,10 @@ export const api = {
|
|
|
request<void>(`/api/finance/refunds/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/finance/refunds/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* Finance: Supplier Settlements */
|
|
/* Finance: Supplier Settlements */
|
|
|
- getSupplierSettlements: () => request<{ items: SupplierSettlementItem[] }>('/api/finance/settlements'),
|
|
|
|
|
|
|
+ getSupplierSettlements: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: SupplierSettlementItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/finance/settlements?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getSupplierSettlement: (id: number) => request<SupplierSettlementItem>(`/api/finance/settlements/${id}`),
|
|
getSupplierSettlement: (id: number) => request<SupplierSettlementItem>(`/api/finance/settlements/${id}`),
|
|
|
getSupplierSettlementBySettlementNo: (settlementNo: string) => request<SupplierSettlementItem>(`/api/finance/settlements/settlement-no/${settlementNo}`),
|
|
getSupplierSettlementBySettlementNo: (settlementNo: string) => request<SupplierSettlementItem>(`/api/finance/settlements/settlement-no/${settlementNo}`),
|
|
|
createSupplierSettlement: (data: any) =>
|
|
createSupplierSettlement: (data: any) =>
|
|
@@ -423,7 +477,10 @@ export const api = {
|
|
|
request<void>(`/api/finance/settlements/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/finance/settlements/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* Finance: Invoices */
|
|
/* Finance: Invoices */
|
|
|
- getInvoices: () => request<{ items: InvoiceItem[] }>('/api/finance/invoices'),
|
|
|
|
|
|
|
+ getInvoices: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: InvoiceItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/finance/invoices?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getInvoice: (id: number) => request<InvoiceItem>(`/api/finance/invoices/${id}`),
|
|
getInvoice: (id: number) => request<InvoiceItem>(`/api/finance/invoices/${id}`),
|
|
|
getInvoiceByInvoiceNo: (invoiceNo: string) => request<InvoiceItem>(`/api/finance/invoices/invoice-no/${invoiceNo}`),
|
|
getInvoiceByInvoiceNo: (invoiceNo: string) => request<InvoiceItem>(`/api/finance/invoices/invoice-no/${invoiceNo}`),
|
|
|
createInvoice: (data: any) =>
|
|
createInvoice: (data: any) =>
|
|
@@ -434,7 +491,10 @@ export const api = {
|
|
|
request<void>(`/api/finance/invoices/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/finance/invoices/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* Marketing: Promotions */
|
|
/* Marketing: Promotions */
|
|
|
- getPromotions: () => request<{ items: PromotionItem[] }>('/api/marketing/promotions'),
|
|
|
|
|
|
|
+ getPromotions: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: PromotionItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/marketing/promotions?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getPromotion: (id: number) => request<PromotionItem>(`/api/marketing/promotions/${id}`),
|
|
getPromotion: (id: number) => request<PromotionItem>(`/api/marketing/promotions/${id}`),
|
|
|
createPromotion: (data: any) =>
|
|
createPromotion: (data: any) =>
|
|
|
request<PromotionItem>('/api/marketing/promotions', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<PromotionItem>('/api/marketing/promotions', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -444,7 +504,10 @@ export const api = {
|
|
|
request<void>(`/api/marketing/promotions/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/marketing/promotions/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* Marketing: Coupons */
|
|
/* Marketing: Coupons */
|
|
|
- getCoupons: () => request<{ items: CouponItem[] }>('/api/marketing/coupons'),
|
|
|
|
|
|
|
+ getCoupons: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: CouponItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/marketing/coupons?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getCoupon: (id: number) => request<CouponItem>(`/api/marketing/coupons/${id}`),
|
|
getCoupon: (id: number) => request<CouponItem>(`/api/marketing/coupons/${id}`),
|
|
|
createCoupon: (data: any) =>
|
|
createCoupon: (data: any) =>
|
|
|
request<CouponItem>('/api/marketing/coupons', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<CouponItem>('/api/marketing/coupons', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -454,7 +517,10 @@ export const api = {
|
|
|
request<void>(`/api/marketing/coupons/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/marketing/coupons/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* Marketing: Price Watches */
|
|
/* Marketing: Price Watches */
|
|
|
- getPriceWatches: () => request<{ items: PriceWatchItem[] }>('/api/marketing/price-watches'),
|
|
|
|
|
|
|
+ getPriceWatches: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: PriceWatchItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/marketing/price-watches?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getPriceWatch: (id: number) => request<PriceWatchItem>(`/api/marketing/price-watches/${id}`),
|
|
getPriceWatch: (id: number) => request<PriceWatchItem>(`/api/marketing/price-watches/${id}`),
|
|
|
createPriceWatch: (data: any) =>
|
|
createPriceWatch: (data: any) =>
|
|
|
request<PriceWatchItem>('/api/marketing/price-watches', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<PriceWatchItem>('/api/marketing/price-watches', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -464,7 +530,10 @@ export const api = {
|
|
|
request<void>(`/api/marketing/price-watches/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/marketing/price-watches/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* Marketing: Supplier Performances */
|
|
/* Marketing: Supplier Performances */
|
|
|
- getSupplierPerformances: () => request<{ items: SupplierPerformanceItem[] }>('/api/marketing/supplier-performances'),
|
|
|
|
|
|
|
+ getSupplierPerformances: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: SupplierPerformanceItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/marketing/supplier-performances?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getSupplierPerformance: (id: number) => request<SupplierPerformanceItem>(`/api/marketing/supplier-performances/${id}`),
|
|
getSupplierPerformance: (id: number) => request<SupplierPerformanceItem>(`/api/marketing/supplier-performances/${id}`),
|
|
|
createSupplierPerformance: (data: any) =>
|
|
createSupplierPerformance: (data: any) =>
|
|
|
request<SupplierPerformanceItem>('/api/marketing/supplier-performances', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<SupplierPerformanceItem>('/api/marketing/supplier-performances', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -474,7 +543,10 @@ export const api = {
|
|
|
request<void>(`/api/marketing/supplier-performances/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/marketing/supplier-performances/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* AI Customer Service: Channels */
|
|
/* AI Customer Service: Channels */
|
|
|
- getAiChannels: () => request<{ items: ChatChannel[] }>('/api/ai/channels'),
|
|
|
|
|
|
|
+ getAiChannels: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: ChatChannel[]; totalElements: number }>(
|
|
|
|
|
+ `/api/ai/channels?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getAiChannel: (id: number) => request<ChatChannel>(`/api/ai/channels/${id}`),
|
|
getAiChannel: (id: number) => request<ChatChannel>(`/api/ai/channels/${id}`),
|
|
|
createAiChannel: (data: any) =>
|
|
createAiChannel: (data: any) =>
|
|
|
request<ChatChannel>('/api/ai/channels', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<ChatChannel>('/api/ai/channels', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -484,7 +556,10 @@ export const api = {
|
|
|
request<void>(`/api/ai/channels/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/ai/channels/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* AI Customer Service: Knowledge Categories */
|
|
/* AI Customer Service: Knowledge Categories */
|
|
|
- getKnowledgeCategories: () => request<{ items: KnowledgeCategory[] }>('/api/ai/knowledge-categories'),
|
|
|
|
|
|
|
+ getKnowledgeCategories: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: KnowledgeCategory[]; totalElements: number }>(
|
|
|
|
|
+ `/api/ai/knowledge-categories?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getKnowledgeCategory: (id: number) => request<KnowledgeCategory>(`/api/ai/knowledge-categories/${id}`),
|
|
getKnowledgeCategory: (id: number) => request<KnowledgeCategory>(`/api/ai/knowledge-categories/${id}`),
|
|
|
createKnowledgeCategory: (data: any) =>
|
|
createKnowledgeCategory: (data: any) =>
|
|
|
request<KnowledgeCategory>('/api/ai/knowledge-categories', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<KnowledgeCategory>('/api/ai/knowledge-categories', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -494,7 +569,10 @@ export const api = {
|
|
|
request<void>(`/api/ai/knowledge-categories/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/ai/knowledge-categories/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* AI Customer Service: Knowledge Base */
|
|
/* AI Customer Service: Knowledge Base */
|
|
|
- getKnowledgeBase: () => request<{ items: KnowledgeBaseItem[] }>('/api/ai/knowledge-base'),
|
|
|
|
|
|
|
+ getKnowledgeBase: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: KnowledgeBaseItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/ai/knowledge-base?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getKnowledgeBaseItem: (id: number) => request<KnowledgeBaseItem>(`/api/ai/knowledge-base/${id}`),
|
|
getKnowledgeBaseItem: (id: number) => request<KnowledgeBaseItem>(`/api/ai/knowledge-base/${id}`),
|
|
|
createKnowledgeBaseItem: (data: any) =>
|
|
createKnowledgeBaseItem: (data: any) =>
|
|
|
request<KnowledgeBaseItem>('/api/ai/knowledge-base', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<KnowledgeBaseItem>('/api/ai/knowledge-base', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -504,7 +582,10 @@ export const api = {
|
|
|
request<void>(`/api/ai/knowledge-base/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/ai/knowledge-base/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* AI Customer Service: Auto Reply Rules */
|
|
/* AI Customer Service: Auto Reply Rules */
|
|
|
- getAutoReplyRules: () => request<{ items: AutoReplyRule[] }>('/api/ai/auto-reply-rules'),
|
|
|
|
|
|
|
+ getAutoReplyRules: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: AutoReplyRule[]; totalElements: number }>(
|
|
|
|
|
+ `/api/ai/auto-reply-rules?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getAutoReplyRule: (id: number) => request<AutoReplyRule>(`/api/ai/auto-reply-rules/${id}`),
|
|
getAutoReplyRule: (id: number) => request<AutoReplyRule>(`/api/ai/auto-reply-rules/${id}`),
|
|
|
createAutoReplyRule: (data: any) =>
|
|
createAutoReplyRule: (data: any) =>
|
|
|
request<AutoReplyRule>('/api/ai/auto-reply-rules', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<AutoReplyRule>('/api/ai/auto-reply-rules', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -514,7 +595,10 @@ export const api = {
|
|
|
request<void>(`/api/ai/auto-reply-rules/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/ai/auto-reply-rules/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* AI Customer Service: Chat Sessions */
|
|
/* AI Customer Service: Chat Sessions */
|
|
|
- getChatSessions: () => request<{ items: ChatSession[] }>('/api/ai/chat-sessions'),
|
|
|
|
|
|
|
+ getChatSessions: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: ChatSession[]; totalElements: number }>(
|
|
|
|
|
+ `/api/ai/chat-sessions?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getChatSession: (id: number) => request<ChatSession>(`/api/ai/chat-sessions/${id}`),
|
|
getChatSession: (id: number) => request<ChatSession>(`/api/ai/chat-sessions/${id}`),
|
|
|
createChatSession: (data: any) =>
|
|
createChatSession: (data: any) =>
|
|
|
request<ChatSession>('/api/ai/chat-sessions', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<ChatSession>('/api/ai/chat-sessions', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -524,7 +608,10 @@ export const api = {
|
|
|
request<void>(`/api/ai/chat-sessions/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/ai/chat-sessions/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* AI Customer Service: Chat Messages */
|
|
/* AI Customer Service: Chat Messages */
|
|
|
- getChatMessages: () => request<{ items: ChatMessage[] }>('/api/ai/chat-messages'),
|
|
|
|
|
|
|
+ getChatMessages: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: ChatMessage[]; totalElements: number }>(
|
|
|
|
|
+ `/api/ai/chat-messages?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getChatMessage: (id: number) => request<ChatMessage>(`/api/ai/chat-messages/${id}`),
|
|
getChatMessage: (id: number) => request<ChatMessage>(`/api/ai/chat-messages/${id}`),
|
|
|
createChatMessage: (data: any) =>
|
|
createChatMessage: (data: any) =>
|
|
|
request<ChatMessage>('/api/ai/chat-messages', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<ChatMessage>('/api/ai/chat-messages', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -534,7 +621,10 @@ export const api = {
|
|
|
request<void>(`/api/ai/chat-messages/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/ai/chat-messages/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* AI Customer Service: Service Performance */
|
|
/* AI Customer Service: Service Performance */
|
|
|
- getServicePerformances: () => request<{ items: ServicePerformance[] }>('/api/ai/service-performances'),
|
|
|
|
|
|
|
+ getServicePerformances: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: ServicePerformance[]; totalElements: number }>(
|
|
|
|
|
+ `/api/ai/service-performances?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getServicePerformance: (id: number) => request<ServicePerformance>(`/api/ai/service-performances/${id}`),
|
|
getServicePerformance: (id: number) => request<ServicePerformance>(`/api/ai/service-performances/${id}`),
|
|
|
createServicePerformance: (data: any) =>
|
|
createServicePerformance: (data: any) =>
|
|
|
request<ServicePerformance>('/api/ai/service-performances', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<ServicePerformance>('/api/ai/service-performances', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -544,7 +634,10 @@ export const api = {
|
|
|
request<void>(`/api/ai/service-performances/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/ai/service-performances/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* Report: Inventory Turnover */
|
|
/* Report: Inventory Turnover */
|
|
|
- getInventoryTurnovers: () => request<{ items: InventoryTurnoverItem[] }>('/api/report/inventory-turnovers'),
|
|
|
|
|
|
|
+ getInventoryTurnovers: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: InventoryTurnoverItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/report/inventory-turnovers?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getInventoryTurnover: (id: number) => request<InventoryTurnoverItem>(`/api/report/inventory-turnovers/${id}`),
|
|
getInventoryTurnover: (id: number) => request<InventoryTurnoverItem>(`/api/report/inventory-turnovers/${id}`),
|
|
|
createInventoryTurnover: (data: any) =>
|
|
createInventoryTurnover: (data: any) =>
|
|
|
request<InventoryTurnoverItem>('/api/report/inventory-turnovers', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<InventoryTurnoverItem>('/api/report/inventory-turnovers', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -554,7 +647,10 @@ export const api = {
|
|
|
request<void>(`/api/report/inventory-turnovers/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/report/inventory-turnovers/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* System: Roles */
|
|
/* System: Roles */
|
|
|
- getRoles: () => request<{ items: RoleItem[] }>('/api/system/roles'),
|
|
|
|
|
|
|
+ getRoles: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: RoleItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/system/roles?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getRole: (id: number) => request<RoleItem>(`/api/system/roles/${id}`),
|
|
getRole: (id: number) => request<RoleItem>(`/api/system/roles/${id}`),
|
|
|
createRole: (data: any) =>
|
|
createRole: (data: any) =>
|
|
|
request<RoleItem>('/api/system/roles', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<RoleItem>('/api/system/roles', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -606,7 +702,10 @@ export const api = {
|
|
|
request<void>(`/api/system/employees/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/system/employees/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* System: API Keys */
|
|
/* System: API Keys */
|
|
|
- getApiKeys: () => request<{ items: ApiKeyItem[] }>('/api/system/api-keys'),
|
|
|
|
|
|
|
+ getApiKeys: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: ApiKeyItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/system/api-keys?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getApiKey: (id: number) => request<ApiKeyItem>(`/api/system/api-keys/${id}`),
|
|
getApiKey: (id: number) => request<ApiKeyItem>(`/api/system/api-keys/${id}`),
|
|
|
createApiKey: (data: any) =>
|
|
createApiKey: (data: any) =>
|
|
|
request<ApiKeyItem & { keyValue?: string }>('/api/system/api-keys', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<ApiKeyItem & { keyValue?: string }>('/api/system/api-keys', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -634,7 +733,10 @@ export const api = {
|
|
|
getOperationLog: (id: number) => request<LogItem>(`/api/system/operation-logs/${id}`),
|
|
getOperationLog: (id: number) => request<LogItem>(`/api/system/operation-logs/${id}`),
|
|
|
|
|
|
|
|
/* System: Approval Flows */
|
|
/* System: Approval Flows */
|
|
|
- getApprovalFlows: () => request<{ items: ApprovalFlowItem[] }>('/api/system/approval-flows'),
|
|
|
|
|
|
|
+ getApprovalFlows: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: ApprovalFlowItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/system/approval-flows?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getApprovalFlow: (id: number) => request<ApprovalFlowItem>(`/api/system/approval-flows/${id}`),
|
|
getApprovalFlow: (id: number) => request<ApprovalFlowItem>(`/api/system/approval-flows/${id}`),
|
|
|
createApprovalFlow: (data: any) =>
|
|
createApprovalFlow: (data: any) =>
|
|
|
request<ApprovalFlowItem>('/api/system/approval-flows', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<ApprovalFlowItem>('/api/system/approval-flows', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -644,7 +746,10 @@ export const api = {
|
|
|
request<void>(`/api/system/approval-flows/${id}`, { method: 'DELETE' }),
|
|
request<void>(`/api/system/approval-flows/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* System: Message Templates */
|
|
/* System: Message Templates */
|
|
|
- getMessageTemplates: () => request<{ items: MessageTemplateItem[] }>('/api/system/message-templates'),
|
|
|
|
|
|
|
+ getMessageTemplates: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: MessageTemplateItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/system/message-templates?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getMessageTemplate: (id: number) => request<MessageTemplateItem>(`/api/system/message-templates/${id}`),
|
|
getMessageTemplate: (id: number) => request<MessageTemplateItem>(`/api/system/message-templates/${id}`),
|
|
|
createMessageTemplate: (data: any) =>
|
|
createMessageTemplate: (data: any) =>
|
|
|
request<MessageTemplateItem>('/api/system/message-templates', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<MessageTemplateItem>('/api/system/message-templates', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -655,8 +760,14 @@ export const api = {
|
|
|
|
|
|
|
|
/* CRM: AI Controller Stats (legacy) */
|
|
/* CRM: AI Controller Stats (legacy) */
|
|
|
getAIControllerStats: () => request<AIControllerStats>('/api/crm/ai-controller/stats'),
|
|
getAIControllerStats: () => request<AIControllerStats>('/api/crm/ai-controller/stats'),
|
|
|
- getOnlineVisitors: () => request<{ items: OnlineVisitor[] }>('/api/crm/ai-controller/visitors'),
|
|
|
|
|
- getChatSessionsLegacy: () => request<{ items: ChatSession[] }>('/api/crm/ai-controller/sessions'),
|
|
|
|
|
|
|
+ getOnlineVisitors: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: OnlineVisitor[]; totalElements: number }>(
|
|
|
|
|
+ `/api/crm/ai-controller/visitors?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
|
|
+ getChatSessionsLegacy: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: ChatSession[]; totalElements: number }>(
|
|
|
|
|
+ `/api/crm/ai-controller/sessions?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getChatSessionLegacy: (id: string) => request<ChatSession>(`/api/crm/ai-controller/sessions/${id}`),
|
|
getChatSessionLegacy: (id: string) => request<ChatSession>(`/api/crm/ai-controller/sessions/${id}`),
|
|
|
sendChatMessageLegacy: (sessionId: string, message: any) =>
|
|
sendChatMessageLegacy: (sessionId: string, message: any) =>
|
|
|
request<ChatMessage>(`/api/crm/ai-controller/sessions/${sessionId}/messages`, { method: 'POST', body: JSON.stringify(message) }),
|
|
request<ChatMessage>(`/api/crm/ai-controller/sessions/${sessionId}/messages`, { method: 'POST', body: JSON.stringify(message) }),
|
|
@@ -664,13 +775,19 @@ export const api = {
|
|
|
request<{ success: boolean }>(`/api/crm/ai-controller/sessions/${sessionId}/transfer`, { method: 'POST', body: JSON.stringify({ agentId }) }),
|
|
request<{ success: boolean }>(`/api/crm/ai-controller/sessions/${sessionId}/transfer`, { method: 'POST', body: JSON.stringify({ agentId }) }),
|
|
|
|
|
|
|
|
/* CRM: Knowledge Base (legacy) */
|
|
/* CRM: Knowledge Base (legacy) */
|
|
|
- getKnowledgeCategoriesLegacy: () => request<{ items: KnowledgeCategory[] }>('/api/crm/knowledge/categories'),
|
|
|
|
|
|
|
+ getKnowledgeCategoriesLegacy: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: KnowledgeCategory[]; totalElements: number }>(
|
|
|
|
|
+ `/api/crm/knowledge/categories?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
createKnowledgeCategoryLegacy: (data: any) =>
|
|
createKnowledgeCategoryLegacy: (data: any) =>
|
|
|
request<KnowledgeCategory>('/api/crm/knowledge/categories', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<KnowledgeCategory>('/api/crm/knowledge/categories', { method: 'POST', body: JSON.stringify(data) }),
|
|
|
updateKnowledgeCategoryLegacy: (id: string, data: any) =>
|
|
updateKnowledgeCategoryLegacy: (id: string, data: any) =>
|
|
|
request<KnowledgeCategory>(`/api/crm/knowledge/categories/${id}`, { method: 'PUT', body: JSON.stringify(data) }),
|
|
request<KnowledgeCategory>(`/api/crm/knowledge/categories/${id}`, { method: 'PUT', body: JSON.stringify(data) }),
|
|
|
deleteKnowledgeCategoryLegacy: (id: string) => request<{ success: boolean }>(`/api/crm/knowledge/categories/${id}`, { method: 'DELETE' }),
|
|
deleteKnowledgeCategoryLegacy: (id: string) => request<{ success: boolean }>(`/api/crm/knowledge/categories/${id}`, { method: 'DELETE' }),
|
|
|
- getKnowledgeItemsLegacy: () => request<{ items: KnowledgeBaseItem[] }>('/api/crm/knowledge/items'),
|
|
|
|
|
|
|
+ getKnowledgeItemsLegacy: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: KnowledgeBaseItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/crm/knowledge/items?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
createKnowledgeItemLegacy: (data: any) =>
|
|
createKnowledgeItemLegacy: (data: any) =>
|
|
|
request<KnowledgeBaseItem>('/api/crm/knowledge/items', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<KnowledgeBaseItem>('/api/crm/knowledge/items', { method: 'POST', body: JSON.stringify(data) }),
|
|
|
updateKnowledgeItemLegacy: (id: string, data: any) =>
|
|
updateKnowledgeItemLegacy: (id: string, data: any) =>
|
|
@@ -678,7 +795,10 @@ export const api = {
|
|
|
deleteKnowledgeItemLegacy: (id: string) => request<{ success: boolean }>(`/api/crm/knowledge/items/${id}`, { method: 'DELETE' }),
|
|
deleteKnowledgeItemLegacy: (id: string) => request<{ success: boolean }>(`/api/crm/knowledge/items/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* CRM: Auto Reply Rules (legacy) */
|
|
/* CRM: Auto Reply Rules (legacy) */
|
|
|
- getAutoReplyRulesLegacy: () => request<{ items: AutoReplyRule[] }>('/api/crm/auto-reply/rules'),
|
|
|
|
|
|
|
+ getAutoReplyRulesLegacy: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: AutoReplyRule[]; totalElements: number }>(
|
|
|
|
|
+ `/api/crm/auto-reply/rules?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
createAutoReplyRuleLegacy: (data: any) =>
|
|
createAutoReplyRuleLegacy: (data: any) =>
|
|
|
request<AutoReplyRule>('/api/crm/auto-reply/rules', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<AutoReplyRule>('/api/crm/auto-reply/rules', { method: 'POST', body: JSON.stringify(data) }),
|
|
|
updateAutoReplyRuleLegacy: (id: string, data: any) =>
|
|
updateAutoReplyRuleLegacy: (id: string, data: any) =>
|
|
@@ -688,7 +808,10 @@ export const api = {
|
|
|
request<{ response: string }>(`/api/crm/auto-reply/rules/${id}/test`, { method: 'POST', body: JSON.stringify({ message: testMessage }) }),
|
|
request<{ response: string }>(`/api/crm/auto-reply/rules/${id}/test`, { method: 'POST', body: JSON.stringify({ message: testMessage }) }),
|
|
|
|
|
|
|
|
/* CRM: Chat Log */
|
|
/* CRM: Chat Log */
|
|
|
- getChatLogs: () => request<{ items: ChatLogItem[] }>('/api/crm/chat-logs'),
|
|
|
|
|
|
|
+ getChatLogs: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: ChatLogItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/crm/chat-logs?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getChatLog: (id: number) => request<ChatLogItem>(`/api/crm/chat-logs/${id}`),
|
|
getChatLog: (id: number) => request<ChatLogItem>(`/api/crm/chat-logs/${id}`),
|
|
|
createChatLog: (data: Partial<ChatLogItem>) =>
|
|
createChatLog: (data: Partial<ChatLogItem>) =>
|
|
|
request<ChatLogItem>('/api/crm/chat-logs', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<ChatLogItem>('/api/crm/chat-logs', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -699,11 +822,17 @@ export const api = {
|
|
|
request<{ success: boolean }>(`/api/crm/chat-logs/${id}/mark`, { method: 'POST', body: JSON.stringify({ tag }) }),
|
|
request<{ success: boolean }>(`/api/crm/chat-logs/${id}/mark`, { method: 'POST', body: JSON.stringify({ tag }) }),
|
|
|
|
|
|
|
|
/* CRM: Service Performance (legacy) */
|
|
/* CRM: Service Performance (legacy) */
|
|
|
- getServicePerformanceLegacy: () => request<{ items: ServicePerformance[] }>('/api/crm/service/performance'),
|
|
|
|
|
|
|
+ getServicePerformanceLegacy: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: ServicePerformance[]; totalElements: number }>(
|
|
|
|
|
+ `/api/crm/service/performance?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getServicePerformanceSummaryLegacy: () => request<{ stats: DashboardStat[] }>('/api/crm/service/performance/summary'),
|
|
getServicePerformanceSummaryLegacy: () => request<{ stats: DashboardStat[] }>('/api/crm/service/performance/summary'),
|
|
|
|
|
|
|
|
/* CRM: Chat Channels (legacy) */
|
|
/* CRM: Chat Channels (legacy) */
|
|
|
- getChatChannelsLegacy: () => request<{ items: ChatChannel[] }>('/api/crm/channels'),
|
|
|
|
|
|
|
+ getChatChannelsLegacy: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: ChatChannel[]; totalElements: number }>(
|
|
|
|
|
+ `/api/crm/channels?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
createChatChannelLegacy: (data: any) =>
|
|
createChatChannelLegacy: (data: any) =>
|
|
|
request<ChatChannel>('/api/crm/channels', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<ChatChannel>('/api/crm/channels', { method: 'POST', body: JSON.stringify(data) }),
|
|
|
updateChatChannelLegacy: (id: string, data: any) =>
|
|
updateChatChannelLegacy: (id: string, data: any) =>
|
|
@@ -711,7 +840,10 @@ export const api = {
|
|
|
deleteChatChannelLegacy: (id: string) => request<{ success: boolean }>(`/api/crm/channels/${id}`, { method: 'DELETE' }),
|
|
deleteChatChannelLegacy: (id: string) => request<{ success: boolean }>(`/api/crm/channels/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* Reports */
|
|
/* Reports */
|
|
|
- getReports: () => request<{ items: ReportItem[] }>('/api/reports'),
|
|
|
|
|
|
|
+ getReports: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: ReportItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/reports?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getReport: (id: number) => request<ReportItem>(`/api/reports/${id}`),
|
|
getReport: (id: number) => request<ReportItem>(`/api/reports/${id}`),
|
|
|
createReport: (data: Partial<ReportItem>) =>
|
|
createReport: (data: Partial<ReportItem>) =>
|
|
|
request<ReportItem>('/api/reports', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<ReportItem>('/api/reports', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -720,8 +852,10 @@ export const api = {
|
|
|
deleteReport: (id: number) => request<void>(`/api/reports/${id}`, { method: 'DELETE' }),
|
|
deleteReport: (id: number) => request<void>(`/api/reports/${id}`, { method: 'DELETE' }),
|
|
|
generateReport: (id: number) => request<ReportItem>(`/api/reports/${id}/generate`, { method: 'POST' }),
|
|
generateReport: (id: number) => request<ReportItem>(`/api/reports/${id}/generate`, { method: 'POST' }),
|
|
|
|
|
|
|
|
- getReportData: (reportId?: number) =>
|
|
|
|
|
- reportId ? request<{ items: ReportDataItem[] }>(`/api/report-data?reportId=${reportId}`) : request<{ items: ReportDataItem[] }>('/api/report-data'),
|
|
|
|
|
|
|
+ getReportData: (reportId?: number, page?: number, size?: number) =>
|
|
|
|
|
+ reportId
|
|
|
|
|
+ ? request<{ items: ReportDataItem[]; totalElements: number }>(`/api/report-data?reportId=${reportId}&page=${page || 1}&size=${size || 20}`)
|
|
|
|
|
+ : request<{ items: ReportDataItem[]; totalElements: number }>(`/api/report-data?page=${page || 1}&size=${size || 20}`),
|
|
|
getReportDataById: (id: number) => request<ReportDataItem>(`/api/report-data/${id}`),
|
|
getReportDataById: (id: number) => request<ReportDataItem>(`/api/report-data/${id}`),
|
|
|
createReportData: (data: Partial<ReportDataItem>) =>
|
|
createReportData: (data: Partial<ReportDataItem>) =>
|
|
|
request<ReportDataItem>('/api/report-data', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<ReportDataItem>('/api/report-data', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -730,7 +864,10 @@ export const api = {
|
|
|
deleteReportData: (id: number) => request<void>(`/api/report-data/${id}`, { method: 'DELETE' }),
|
|
deleteReportData: (id: number) => request<void>(`/api/report-data/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* Pricing Rules */
|
|
/* Pricing Rules */
|
|
|
- getPricingRules: () => request<{ items: PricingRuleItem[] }>('/api/pricing-rules'),
|
|
|
|
|
|
|
+ getPricingRules: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: PricingRuleItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/pricing-rules?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getPricingRule: (id: number) => request<PricingRuleItem>(`/api/pricing-rules/${id}`),
|
|
getPricingRule: (id: number) => request<PricingRuleItem>(`/api/pricing-rules/${id}`),
|
|
|
createPricingRule: (data: Partial<PricingRuleItem>) =>
|
|
createPricingRule: (data: Partial<PricingRuleItem>) =>
|
|
|
request<PricingRuleItem>('/api/pricing-rules', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<PricingRuleItem>('/api/pricing-rules', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -739,7 +876,10 @@ export const api = {
|
|
|
deletePricingRule: (id: number) => request<void>(`/api/pricing-rules/${id}`, { method: 'DELETE' }),
|
|
deletePricingRule: (id: number) => request<void>(`/api/pricing-rules/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* CRM: Ticket */
|
|
/* CRM: Ticket */
|
|
|
- getTickets: () => request<{ items: TicketItem[] }>('/api/crm/tickets'),
|
|
|
|
|
|
|
+ getTickets: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: TicketItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/crm/tickets?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getTicket: (id: number) => request<TicketItem>(`/api/crm/tickets/${id}`),
|
|
getTicket: (id: number) => request<TicketItem>(`/api/crm/tickets/${id}`),
|
|
|
createTicket: (data: Partial<TicketItem>) =>
|
|
createTicket: (data: Partial<TicketItem>) =>
|
|
|
request<TicketItem>('/api/crm/tickets', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<TicketItem>('/api/crm/tickets', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -752,7 +892,10 @@ export const api = {
|
|
|
deleteTicket: (id: number) => request<void>(`/api/crm/tickets/${id}`, { method: 'DELETE' }),
|
|
deleteTicket: (id: number) => request<void>(`/api/crm/tickets/${id}`, { method: 'DELETE' }),
|
|
|
|
|
|
|
|
/* CRM: Satisfaction */
|
|
/* CRM: Satisfaction */
|
|
|
- getSatisfactions: () => request<{ items: SatisfactionItem[] }>('/api/crm/satisfactions'),
|
|
|
|
|
|
|
+ getSatisfactions: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: SatisfactionItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/crm/satisfactions?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ ),
|
|
|
getSatisfaction: (id: number) => request<SatisfactionItem>(`/api/crm/satisfactions/${id}`),
|
|
getSatisfaction: (id: number) => request<SatisfactionItem>(`/api/crm/satisfactions/${id}`),
|
|
|
createSatisfaction: (data: Partial<SatisfactionItem>) =>
|
|
createSatisfaction: (data: Partial<SatisfactionItem>) =>
|
|
|
request<SatisfactionItem>('/api/crm/satisfactions', { method: 'POST', body: JSON.stringify(data) }),
|
|
request<SatisfactionItem>('/api/crm/satisfactions', { method: 'POST', body: JSON.stringify(data) }),
|
|
@@ -762,5 +905,8 @@ export const api = {
|
|
|
getSatisfactionAverageScore: () => request<{ averageScore: number }>('/api/crm/satisfactions/average-score'),
|
|
getSatisfactionAverageScore: () => request<{ averageScore: number }>('/api/crm/satisfactions/average-score'),
|
|
|
|
|
|
|
|
/* System: Logs (legacy) */
|
|
/* System: Logs (legacy) */
|
|
|
- getLogs: () => request<{ items: LogItem[] }>('/api/system/operation-logs')
|
|
|
|
|
|
|
+ getLogs: (page?: number, size?: number) =>
|
|
|
|
|
+ request<{ items: LogItem[]; totalElements: number }>(
|
|
|
|
|
+ `/api/system/operation-logs?page=${page || 1}&size=${size || 20}`
|
|
|
|
|
+ )
|
|
|
};
|
|
};
|