124 lines
3.1 KiB
TypeScript
Raw Normal View History

2023-10-09 23:27:09 +08:00
import request from '@/config/axios'
import dayjs from 'dayjs'
2023-10-16 13:00:13 +08:00
import { DataComparisonRespVO } from '@/api/mall/statistics/common'
2023-10-09 23:27:09 +08:00
import { formatDate } from '@/utils/formatTime'
/** 会员分析 Request VO */
export interface MemberAnalyseReqVO {
times: dayjs.ConfigType[]
2023-10-09 23:27:09 +08:00
}
/** 会员分析 Response VO */
export interface MemberAnalyseRespVO {
2023-10-16 13:00:13 +08:00
visitUserCount: number
2023-10-09 23:27:09 +08:00
orderUserCount: number
payUserCount: number
atv: number
2023-10-16 13:00:13 +08:00
comparison: DataComparisonRespVO<MemberAnalyseComparisonRespVO>
2023-10-09 23:27:09 +08:00
}
/** 会员分析对照数据 Response VO */
export interface MemberAnalyseComparisonRespVO {
2023-10-16 13:00:13 +08:00
registerUserCount: number
visitUserCount: number
2023-10-09 23:27:09 +08:00
rechargeUserCount: number
}
/** 会员地区统计 Response VO */
export interface MemberAreaStatisticsRespVO {
areaId: number
areaName: string
userCount: number
2023-10-16 13:00:13 +08:00
orderCreateUserCount: number
orderPayUserCount: number
2023-10-09 23:27:09 +08:00
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
}
2023-10-16 09:51:19 +08:00
/** 会员数量统计 Response VO */
export interface MemberCountRespVO {
/** 用户访问量 */
visitUserCount: string
2023-10-16 22:03:36 +08:00
/** 注册用户数量 */
registerUserCount: number
2023-10-16 09:51:19 +08:00
}
/** 会员注册数量 Response VO */
export interface MemberRegisterCountRespVO {
date: string
count: number
}
2023-10-09 23:27:09 +08:00
// 查询会员统计
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[]>({
2023-10-16 22:03:36 +08:00
url: '/statistics/member/area-statistics-list'
2023-10-09 23:27:09 +08:00
})
}
// 按照性别,查询会员统计列表
export const getMemberSexStatisticsList = () => {
return request.get<MemberSexStatisticsRespVO[]>({
2023-10-16 22:03:36 +08:00
url: '/statistics/member/sex-statistics-list'
2023-10-09 23:27:09 +08:00
})
}
// 按照终端,查询会员统计列表
export const getMemberTerminalStatisticsList = () => {
return request.get<MemberTerminalStatisticsRespVO[]>({
2023-10-16 22:03:36 +08:00
url: '/statistics/member/terminal-statistics-list'
2023-10-09 23:27:09 +08:00
})
}
2023-10-16 09:51:19 +08:00
// 获得用户数量量对照
export const getUserCountComparison = () => {
2023-10-16 13:00:13 +08:00
return request.get<DataComparisonRespVO<MemberCountRespVO>>({
2023-10-16 09:51:19 +08:00
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)] }
})
}