From a1d7e81859f554f3a53680cc35f0f49bf1f77098 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 14 五月 2026 14:37:02 +0800
Subject: [PATCH] 导入项目
---
src/api/mall/statistics/trade.ts | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 119 insertions(+), 0 deletions(-)
diff --git a/src/api/mall/statistics/trade.ts b/src/api/mall/statistics/trade.ts
new file mode 100644
index 0000000..e59952a
--- /dev/null
+++ b/src/api/mall/statistics/trade.ts
@@ -0,0 +1,119 @@
+import request from '@/config/axios'
+import dayjs from 'dayjs'
+import { formatDate } from '@/utils/formatTime'
+import { DataComparisonRespVO } from '@/api/mall/statistics/common'
+
+/** 浜ゆ槗缁熻 Response VO */
+export interface TradeSummaryRespVO {
+ yesterdayOrderCount: number
+ monthOrderCount: number
+ yesterdayPayPrice: number
+ monthPayPrice: number
+}
+
+/** 浜ゆ槗鐘跺喌 Request VO */
+export interface TradeTrendReqVO {
+ times: [dayjs.ConfigType, dayjs.ConfigType]
+}
+
+/** 浜ゆ槗鐘跺喌缁熻 Response VO */
+export interface TradeTrendSummaryRespVO {
+ time: string
+ turnoverPrice: number
+ orderPayPrice: number
+ rechargePrice: number
+ expensePrice: number
+ walletPayPrice: number
+ brokerageSettlementPrice: number
+ afterSaleRefundPrice: number
+}
+
+/** 浜ゆ槗璁㈠崟鏁伴噺 Response VO */
+export interface TradeOrderCountRespVO {
+ /** 寰呭彂璐� */
+ undelivered?: number
+ /** 寰呮牳閿� */
+ pickUp?: number
+ /** 閫�娆句腑 */
+ afterSaleApply?: number
+ /** 鎻愮幇寰呭鏍� */
+ auditingWithdraw?: number
+}
+
+/** 浜ゆ槗璁㈠崟缁熻 Response VO */
+export interface TradeOrderSummaryRespVO {
+ /** 鏀粯璁㈠崟鍟嗗搧鏁� */
+ orderPayCount?: number
+ /** 鎬绘敮浠橀噾棰濓紝鍗曚綅锛氬垎 */
+ orderPayPrice?: number
+}
+
+/** 璁㈠崟閲忚秼鍔跨粺璁� Response VO */
+export interface TradeOrderTrendRespVO {
+ /** 鏃ユ湡 */
+ date: string
+ /** 璁㈠崟鏁伴噺 */
+ orderPayCount: number
+ /** 璁㈠崟鏀粯閲戦 */
+ orderPayPrice: number
+}
+
+// 鏌ヨ浜ゆ槗缁熻
+export const getTradeStatisticsSummary = () => {
+ return request.get<DataComparisonRespVO<TradeSummaryRespVO>>({
+ url: '/statistics/trade/summary'
+ })
+}
+
+// 鑾峰緱浜ゆ槗鐘跺喌缁熻
+export const getTradeStatisticsAnalyse = (params: TradeTrendReqVO) => {
+ return request.get<DataComparisonRespVO<TradeTrendSummaryRespVO>>({
+ url: '/statistics/trade/analyse',
+ params: formatDateParam(params)
+ })
+}
+
+// 鑾峰緱浜ゆ槗鐘跺喌鏄庣粏
+export const getTradeStatisticsList = (params: TradeTrendReqVO) => {
+ return request.get<TradeTrendSummaryRespVO[]>({
+ url: '/statistics/trade/list',
+ params: formatDateParam(params)
+ })
+}
+
+// 瀵煎嚭浜ゆ槗鐘跺喌鏄庣粏
+export const exportTradeStatisticsExcel = (params: TradeTrendReqVO) => {
+ return request.download({
+ url: '/statistics/trade/export-excel',
+ params: formatDateParam(params)
+ })
+}
+
+// 鑾峰緱浜ゆ槗璁㈠崟鏁伴噺
+export const getOrderCount = async () => {
+ return await request.get<TradeOrderCountRespVO>({ url: `/statistics/trade/order-count` })
+}
+
+// 鑾峰緱浜ゆ槗璁㈠崟鏁伴噺瀵圭収
+export const getOrderComparison = async () => {
+ return await request.get<DataComparisonRespVO<TradeOrderSummaryRespVO>>({
+ url: `/statistics/trade/order-comparison`
+ })
+}
+
+// 鑾峰緱璁㈠崟閲忚秼鍔跨粺璁�
+export const getOrderCountTrendComparison = (
+ type: number,
+ beginTime: dayjs.ConfigType,
+ endTime: dayjs.ConfigType
+) => {
+ return request.get<DataComparisonRespVO<TradeOrderTrendRespVO>[]>({
+ url: '/statistics/trade/order-count-trend',
+ params: { type, beginTime: formatDate(beginTime), endTime: formatDate(endTime) }
+ })
+}
+
+/** 鏃堕棿鍙傛暟闇�瑕佹牸寮忓寲, 纭繚鎺ュ彛鑳借瘑鍒� */
+const formatDateParam = (params: TradeTrendReqVO) => {
+ return { times: [formatDate(params.times[0]), formatDate(params.times[1])] } as TradeTrendReqVO
+}
--
Gitblit v1.8.0