Skip to content

Commit 6ed7b3a

Browse files
YunaiVgitee-org
authored andcommitted
!270 合并商城最新代码
Merge pull request !270 from 芋道源码/dev
2 parents 04a94ad + 532b237 commit 6ed7b3a

File tree

91 files changed

+4036
-1166
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+4036
-1166
lines changed

src/api/mall/product/spu.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ export interface Sku {
2020
stock?: number // 库存
2121
weight?: number // 商品重量,单位:kg 千克
2222
volume?: number // 商品体积,单位:m^3 平米
23-
firstBrokerageRecord?: number | string // 一级分销的佣金
24-
secondBrokerageRecord?: number | string // 二级分销的佣金
23+
firstBrokeragePrice?: number | string // 一级分销的佣金
24+
secondBrokeragePrice?: number | string // 二级分销的佣金
2525
salesCount?: number // 商品销量
2626
}
2727

src/api/mall/promotion/bargain/bargainActivity.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,25 +7,24 @@ export interface BargainActivityVO {
77
startTime?: Date
88
endTime?: Date
99
status?: number
10-
userSize?: number // 达到该人数,才能砍到低价
10+
helpMaxCount?: number // 达到该人数,才能砍到低价
1111
bargainCount?: number // 最大帮砍次数
1212
totalLimitCount?: number // 最大购买次数
1313
spuId: number
1414
skuId: number
1515
bargainFirstPrice: number // 砍价起始价格,单位分
16-
bargainPrice: number // 砍价底价
16+
bargainMinPrice: number // 砍价底价
1717
stock: number // 活动库存
1818
randomMinPrice?: number // 用户每次砍价的最小金额,单位:分
1919
randomMaxPrice?: number // 用户每次砍价的最大金额,单位:分
20-
successCount?: number // 砍价成功数量
2120
}
2221

2322
// 砍价活动所需属性。选择的商品和属性的时候使用方便使用活动的通用封装
2423
export interface BargainProductVO {
2524
spuId: number
2625
skuId: number
2726
bargainFirstPrice: number // 砍价起始价格,单位分
28-
bargainPrice: number // 砍价底价
27+
bargainMinPrice: number // 砍价底价
2928
stock: number // 活动库存
3029
}
3130

@@ -58,6 +57,11 @@ export const updateBargainActivity = async (data: BargainActivityVO) => {
5857
return await request.put({ url: '/promotion/bargain-activity/update', data })
5958
}
6059

60+
// 关闭砍价活动
61+
export const closeBargainActivity = async (id: number) => {
62+
return await request.put({ url: '/promotion/bargain-activity/close?id=' + id })
63+
}
64+
6165
// 删除砍价活动
6266
export const deleteBargainActivity = async (id: number) => {
6367
return await request.delete({ url: '/promotion/bargain-activity/delete?id=' + id })
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import request from '@/config/axios'
2+
3+
export interface BargainHelpVO {
4+
id: number
5+
record: number
6+
userId: number
7+
reducePrice: number
8+
endTime: Date
9+
}
10+
11+
// 查询砍价记录列表
12+
export const getBargainHelpPage = async (params) => {
13+
return await request.get({ url: `/promotion/bargain-help/page`, params })
14+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import request from '@/config/axios'
2+
3+
export interface BargainRecordVO {
4+
id: number
5+
activityId: number
6+
userId: number
7+
spuId: number
8+
skuId: number
9+
bargainFirstPrice: number
10+
bargainPrice: number
11+
status: number
12+
orderId: number
13+
endTime: Date
14+
}
15+
16+
// 查询砍价记录列表
17+
export const getBargainRecordPage = async (params) => {
18+
return await request.get({ url: `/promotion/bargain-record/page`, params })
19+
}

src/api/mall/promotion/combination/combinationActivity.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,11 @@ export const updateCombinationActivity = async (data: CombinationActivityVO) =>
5555
return await request.put({ url: '/promotion/combination-activity/update', data })
5656
}
5757

58+
// 关闭拼团活动
59+
export const closeCombinationActivity = async (id: number) => {
60+
return await request.put({ url: '/promotion/bargain-combination/close?id=' + id })
61+
}
62+
5863
// 删除拼团活动
5964
export const deleteCombinationActivity = async (id: number) => {
6065
return await request.delete({ url: '/promotion/combination-activity/delete?id=' + id })
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import request from '@/config/axios'
2+
3+
export interface CombinationRecordVO {
4+
id: number // 拼团记录编号
5+
activityId: number // 拼团活动编号
6+
nickname: string // 用户昵称
7+
avatar: string // 用户头像
8+
headId: number // 团长编号
9+
expireTime: string // 过期时间
10+
userSize: number // 可参团人数
11+
userCount: number // 已参团人数
12+
status: number // 拼团状态
13+
spuName: string // 商品名字
14+
picUrl: string // 商品图片
15+
virtualGroup: boolean // 是否虚拟成团
16+
startTime: string // 开始时间 (订单付款后开始的时间)
17+
endTime: string // 结束时间(成团时间/失败时间)
18+
}
19+
20+
// 查询拼团记录列表
21+
export const getCombinationRecordPage = async (params) => {
22+
return await request.get({ url: '/promotion/combination-record/page', params })
23+
}
24+
25+
// 查询一个拼团的完整拼团记录
26+
export const getCombinationRecordPageByHeadId = async (params) => {
27+
return await request.get({ url: '/promotion/combination-record/page-by-headId', params })
28+
}
29+
30+
// 获得拼团记录的概要信息
31+
export const getCombinationRecordSummary = async () => {
32+
return await request.get({ url: '/promotion/combination-record/get-summary' })
33+
}

src/api/mall/promotion/seckill/seckillActivity.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,11 @@ export const updateSeckillActivity = async (data: SeckillActivityVO) => {
5757
return await request.put({ url: '/promotion/seckill-activity/update', data })
5858
}
5959

60+
// 关闭秒杀活动
61+
export const closeSeckillActivity = async (id: number) => {
62+
return await request.put({ url: '/promotion/seckill-activity/close?id=' + id })
63+
}
64+
6065
// 删除秒杀活动
6166
export const deleteSeckillActivity = async (id: number) => {
6267
return await request.delete({ url: '/promotion/seckill-activity/delete?id=' + id })

src/api/mall/statistics/member.ts

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
import request from '@/config/axios'
2+
import dayjs from 'dayjs'
3+
import { TradeStatisticsComparisonRespVO } from '@/api/mall/statistics/trade'
4+
import { formatDate } from '@/utils/formatTime'
5+
6+
/** 会员分析 Request VO */
7+
export interface MemberAnalyseReqVO {
8+
times: [dayjs.ConfigType, dayjs.ConfigType]
9+
}
10+
11+
/** 会员分析 Response VO */
12+
export interface MemberAnalyseRespVO {
13+
visitorCount: number
14+
orderUserCount: number
15+
payUserCount: number
16+
atv: number
17+
comparison: TradeStatisticsComparisonRespVO<MemberAnalyseComparisonRespVO>
18+
}
19+
20+
/** 会员分析对照数据 Response VO */
21+
export interface MemberAnalyseComparisonRespVO {
22+
userCount: number
23+
activeUserCount: number
24+
rechargeUserCount: number
25+
}
26+
27+
/** 会员地区统计 Response VO */
28+
export interface MemberAreaStatisticsRespVO {
29+
areaId: number
30+
areaName: string
31+
userCount: number
32+
orderCreateCount: number
33+
orderPayCount: number
34+
orderPayPrice: number
35+
}
36+
37+
/** 会员性别统计 Response VO */
38+
export interface MemberSexStatisticsRespVO {
39+
sex: number
40+
userCount: number
41+
}
42+
43+
/** 会员统计 Response VO */
44+
export interface MemberSummaryRespVO {
45+
userCount: number
46+
rechargeUserCount: number
47+
rechargePrice: number
48+
expensePrice: number
49+
}
50+
51+
/** 会员终端统计 Response VO */
52+
export interface MemberTerminalStatisticsRespVO {
53+
terminal: number
54+
userCount: number
55+
}
56+
57+
// 查询会员统计
58+
export const getMemberSummary = () => {
59+
return request.get<MemberSummaryRespVO>({
60+
url: '/statistics/member/summary'
61+
})
62+
}
63+
64+
// 查询会员分析数据
65+
export const getMemberAnalyse = (params: MemberAnalyseReqVO) => {
66+
return request.get<MemberAnalyseRespVO>({
67+
url: '/statistics/member/analyse',
68+
params: { times: [formatDate(params.times[0]), formatDate(params.times[1])] }
69+
})
70+
}
71+
72+
// 按照省份,查询会员统计列表
73+
export const getMemberAreaStatisticsList = () => {
74+
return request.get<MemberAreaStatisticsRespVO[]>({
75+
url: '/statistics/member/get-area-statistics-list'
76+
})
77+
}
78+
79+
// 按照性别,查询会员统计列表
80+
export const getMemberSexStatisticsList = () => {
81+
return request.get<MemberSexStatisticsRespVO[]>({
82+
url: '/statistics/member/get-sex-statistics-list'
83+
})
84+
}
85+
86+
// 按照终端,查询会员统计列表
87+
export const getMemberTerminalStatisticsList = () => {
88+
return request.get<MemberTerminalStatisticsRespVO[]>({
89+
url: '/statistics/member/get-terminal-statistics-list'
90+
})
91+
}

src/api/mall/statistics/trade.ts

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
import request from '@/config/axios'
2+
import dayjs from 'dayjs'
3+
import { formatDate } from '@/utils/formatTime'
4+
5+
/** 交易统计对照 Response VO */
6+
export interface TradeStatisticsComparisonRespVO<T> {
7+
value: T
8+
reference: T
9+
}
10+
11+
/** 交易统计 Response VO */
12+
export interface TradeSummaryRespVO {
13+
yesterdayOrderCount: number
14+
monthOrderCount: number
15+
yesterdayPayPrice: number
16+
monthPayPrice: number
17+
}
18+
19+
/** 交易状况 Request VO */
20+
export interface TradeTrendReqVO {
21+
times: [dayjs.ConfigType, dayjs.ConfigType]
22+
}
23+
24+
/** 交易状况统计 Response VO */
25+
export interface TradeTrendSummaryRespVO {
26+
time: string
27+
turnover: number
28+
orderPayPrice: number
29+
rechargePrice: number
30+
expensePrice: number
31+
balancePrice: number
32+
brokerageSettlementPrice: number
33+
orderRefundPrice: number
34+
}
35+
36+
// 查询交易统计
37+
export const getTradeStatisticsSummary = () => {
38+
return request.get<TradeStatisticsComparisonRespVO<TradeSummaryRespVO>>({
39+
url: '/statistics/trade/summary'
40+
})
41+
}
42+
43+
// 获得交易状况统计
44+
export const getTradeTrendSummary = (params: TradeTrendReqVO) => {
45+
return request.get<TradeStatisticsComparisonRespVO<TradeTrendSummaryRespVO>>({
46+
url: '/statistics/trade/trend/summary',
47+
params: formatDateParam(params)
48+
})
49+
}
50+
51+
// 获得交易状况明细
52+
export const getTradeTrendList = (params: TradeTrendReqVO) => {
53+
return request.get<TradeTrendSummaryRespVO[]>({
54+
url: '/statistics/trade/trend/list',
55+
params: formatDateParam(params)
56+
})
57+
}
58+
59+
// 导出交易状况明细
60+
export const exportTradeTrend = (params: TradeTrendReqVO) => {
61+
return request.download({
62+
url: '/statistics/trade/trend/export-excel',
63+
params: formatDateParam(params)
64+
})
65+
}
66+
67+
/** 时间参数需要格式化, 确保接口能识别 */
68+
const formatDateParam = (params: TradeTrendReqVO) => {
69+
return { times: [formatDate(params.times[0]), formatDate(params.times[1])] } as TradeTrendReqVO
70+
}

src/api/mall/trade/config/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ export interface ConfigVO {
44
brokerageEnabled: boolean
55
brokerageEnabledCondition: number
66
brokerageBindMode: number
7-
brokeragePostUrls: string
7+
brokeragePosterUrls: string
88
brokerageFirstPercent: number
99
brokerageSecondPercent: number
1010
brokerageWithdrawMinPrice: number
1111
brokerageBankNames: string
1212
brokerageFrozenDays: number
13-
brokerageWithdrawType: string
13+
brokerageWithdrawTypes: string
1414
}
1515

1616
// 查询交易中心配置详情

0 commit comments

Comments
 (0)