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/member.ts | 123 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 123 insertions(+), 0 deletions(-)
diff --git a/src/api/mall/statistics/member.ts b/src/api/mall/statistics/member.ts
new file mode 100644
index 0000000..d9accf9
--- /dev/null
+++ b/src/api/mall/statistics/member.ts
@@ -0,0 +1,123 @@
+import request from '@/config/axios'
+import dayjs from 'dayjs'
+import { DataComparisonRespVO } from '@/api/mall/statistics/common'
+import { formatDate } from '@/utils/formatTime'
+
+/** 浼氬憳鍒嗘瀽 Request VO */
+export interface MemberAnalyseReqVO {
+ times: dayjs.ConfigType[]
+}
+
+/** 浼氬憳鍒嗘瀽 Response VO */
+export interface MemberAnalyseRespVO {
+ visitUserCount: number
+ orderUserCount: number
+ payUserCount: number
+ atv: number
+ comparison: DataComparisonRespVO<MemberAnalyseComparisonRespVO>
+}
+
+/** 浼氬憳鍒嗘瀽瀵圭収鏁版嵁 Response VO */
+export interface MemberAnalyseComparisonRespVO {
+ registerUserCount: number
+ visitUserCount: number
+ rechargeUserCount: number
+}
+
+/** 浼氬憳鍦板尯缁熻 Response VO */
+export interface MemberAreaStatisticsRespVO {
+ areaId: number
+ areaName: string
+ userCount: number
+ orderCreateUserCount: number
+ orderPayUserCount: number
+ orderPayPrice: number
+}
+
+/** 浼氬憳鎬у埆缁熻 Response VO */
+export interface MemberSexStatisticsRespVO {
+ sex: number
+ userCount: number
+}
+
+/** 浼氬憳缁熻 Response VO */
+export interface MemberSummaryRespVO {
+ userCount: number
+ rechargeUserCount: number
+ rechargePrice: number
+ expensePrice: number
+}
+
+/** 浼氬憳缁堢缁熻 Response VO */
+export interface MemberTerminalStatisticsRespVO {
+ terminal: number
+ userCount: number
+}
+
+/** 浼氬憳鏁伴噺缁熻 Response VO */
+export interface MemberCountRespVO {
+ /** 鐢ㄦ埛璁块棶閲� */
+ visitUserCount: string
+ /** 娉ㄥ唽鐢ㄦ埛鏁伴噺 */
+ registerUserCount: number
+}
+
+/** 浼氬憳娉ㄥ唽鏁伴噺 Response VO */
+export interface MemberRegisterCountRespVO {
+ date: string
+ count: number
+}
+
+// 鏌ヨ浼氬憳缁熻
+export const getMemberSummary = () => {
+ return request.get<MemberSummaryRespVO>({
+ url: '/statistics/member/summary'
+ })
+}
+
+// 鏌ヨ浼氬憳鍒嗘瀽鏁版嵁
+export const getMemberAnalyse = (params: MemberAnalyseReqVO) => {
+ return request.get<MemberAnalyseRespVO>({
+ url: '/statistics/member/analyse',
+ params: { times: [formatDate(params.times[0]), formatDate(params.times[1])] }
+ })
+}
+
+// 鎸夌収鐪佷唤锛屾煡璇細鍛樼粺璁″垪琛�
+export const getMemberAreaStatisticsList = () => {
+ return request.get<MemberAreaStatisticsRespVO[]>({
+ url: '/statistics/member/area-statistics-list'
+ })
+}
+
+// 鎸夌収鎬у埆锛屾煡璇細鍛樼粺璁″垪琛�
+export const getMemberSexStatisticsList = () => {
+ return request.get<MemberSexStatisticsRespVO[]>({
+ url: '/statistics/member/sex-statistics-list'
+ })
+}
+
+// 鎸夌収缁堢锛屾煡璇細鍛樼粺璁″垪琛�
+export const getMemberTerminalStatisticsList = () => {
+ return request.get<MemberTerminalStatisticsRespVO[]>({
+ url: '/statistics/member/terminal-statistics-list'
+ })
+}
+
+// 鑾峰緱鐢ㄦ埛鏁伴噺閲忓鐓�
+export const getUserCountComparison = () => {
+ return request.get<DataComparisonRespVO<MemberCountRespVO>>({
+ url: '/statistics/member/user-count-comparison'
+ })
+}
+
+// 鑾峰緱浼氬憳娉ㄥ唽鏁伴噺鍒楄〃
+export const getMemberRegisterCountList = (
+ beginTime: dayjs.ConfigType,
+ endTime: dayjs.ConfigType
+) => {
+ return request.get<MemberRegisterCountRespVO[]>({
+ url: '/statistics/member/register-count-list',
+ params: { times: [formatDate(beginTime), formatDate(endTime)] }
+ })
+}
--
Gitblit v1.8.0