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, dayjs.ConfigType] } /** 会员分析 Response VO */ export interface MemberAnalyseRespVO { visitUserCount: number orderUserCount: number payUserCount: number atv: number comparison: DataComparisonRespVO } /** 会员分析对照数据 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({ url: '/statistics/member/summary' }) } // 查询会员分析数据 export const getMemberAnalyse = (params: MemberAnalyseReqVO) => { return request.get({ url: '/statistics/member/analyse', params: { times: [formatDate(params.times[0]), formatDate(params.times[1])] } }) } // 按照省份,查询会员统计列表 export const getMemberAreaStatisticsList = () => { return request.get({ url: '/statistics/member/area-statistics-list' }) } // 按照性别,查询会员统计列表 export const getMemberSexStatisticsList = () => { return request.get({ url: '/statistics/member/sex-statistics-list' }) } // 按照终端,查询会员统计列表 export const getMemberTerminalStatisticsList = () => { return request.get({ url: '/statistics/member/terminal-statistics-list' }) } // 获得用户数量量对照 export const getUserCountComparison = () => { return request.get>({ url: '/statistics/member/user-count-comparison' }) } // 获得会员注册数量列表 export const getMemberRegisterCountList = ( beginTime: dayjs.ConfigType, endTime: dayjs.ConfigType ) => { return request.get({ url: '/statistics/member/register-count-list', params: { times: [formatDate(beginTime), formatDate(endTime)] } }) }