GameServicePlatform/mock/orders.js

223 lines
6.5 KiB
JavaScript

/**
* 订单数据
*/
// 订单状态枚举
export const OrderStatus = {
WAIT_PAY: { code: 0, text: '待支付', color: '#ffaa00' },
WAIT_ACCEPT: { code: 1, text: '待接单', color: '#00ffff' },
ACCEPTED: { code: 2, text: '已接单', color: '#00ff88' },
IN_PROGRESS: { code: 3, text: '进行中', color: '#0099ff' },
WAIT_CONFIRM: { code: 4, text: '待确认', color: '#9d00ff' },
COMPLETED: { code: 5, text: '已完成', color: '#00ff88' },
EVALUATED: { code: 6, text: '已评价', color: '#7a7e9d' },
CANCELLED: { code: 9, text: '已取消', color: '#ff3366' }
}
/**
* 订单列表
*/
export const orders = [
{
id: 100001,
orderNo: 'ORD202501281234567',
tenantId: 10001,
customerId: 20001,
serviceId: 1002,
serviceName: '王者荣耀 娱乐陪玩 甜美女声',
serviceCover: 'https://picsum.photos/400/300?random=2',
categoryName: '王者荣耀',
price: 35.00,
actualPrice: 35.00,
status: 3, // 进行中
playerId: 30005,
playerName: '甜心小鹿',
playerAvatar: 'https://picsum.photos/100/100?random=201',
merchantName: '星光陪玩',
gameInfo: {
gameId: 'Sweet_Deer_123',
server: '微信区',
rank: '钻石II'
},
contactInfo: {
qq: '123456789',
wechat: 'sweetdeer'
},
remark: '希望小姐姐温柔一点~',
payType: 'wechat',
payTime: '2025-01-28 14:30:00',
acceptTime: '2025-01-28 14:32:00',
startTime: '2025-01-28 14:35:00',
createTime: '2025-01-28 14:28:00'
},
{
id: 100002,
orderNo: 'ORD202501271234568',
tenantId: 10002,
customerId: 20001,
serviceId: 1003,
serviceName: '王者荣耀 一对一教学 国服射手',
serviceCover: 'https://picsum.photos/400/300?random=3',
categoryName: '王者荣耀',
price: 88.00,
actualPrice: 88.00,
status: 5, // 已完成
playerId: 30012,
playerName: '狙击之王',
playerAvatar: 'https://picsum.photos/100/100?random=202',
merchantName: '巅峰电竞学院',
gameInfo: {
gameId: 'Sniper_King_Pro',
server: 'QQ区',
rank: '荣耀王者'
},
remark: '想学后羿和公孙离',
payType: 'wechat',
payTime: '2025-01-27 10:15:00',
acceptTime: '2025-01-27 10:20:00',
startTime: '2025-01-27 10:30:00',
finishTime: '2025-01-27 12:30:00',
confirmTime: '2025-01-27 12:35:00',
createTime: '2025-01-27 10:10:00'
},
{
id: 100003,
orderNo: 'ORD202501261234569',
tenantId: 10003,
customerId: 20001,
serviceId: 2002,
serviceName: 'LOL 娱乐陪玩 御姐音',
serviceCover: 'https://picsum.photos/400/300?random=5',
categoryName: '英雄联盟',
price: 45.00,
actualPrice: 45.00,
status: 6, // 已评价
playerId: 30018,
playerName: '冰霜女王',
playerAvatar: 'https://picsum.photos/100/100?random=203',
merchantName: '梦幻陪玩',
gameInfo: {
gameId: 'FrostQueen',
server: '艾欧尼亚',
rank: '钻石I'
},
remark: '想玩辅助',
evaluation: {
rating: 5,
content: '小姐姐声音真的超好听!技术也很好,打得很开心!',
images: [],
createTime: '2025-01-26 20:35:00'
},
payType: 'wechat',
payTime: '2025-01-26 19:00:00',
acceptTime: '2025-01-26 19:05:00',
startTime: '2025-01-26 19:10:00',
finishTime: '2025-01-26 20:10:00',
confirmTime: '2025-01-26 20:15:00',
createTime: '2025-01-26 18:55:00'
},
{
id: 100004,
orderNo: 'ORD202501251234570',
tenantId: 10005,
customerId: 20001,
serviceId: 6001,
serviceName: '原神 深渊12层满星代打',
serviceCover: 'https://picsum.photos/400/300?random=8',
categoryName: '原神',
price: 68.00,
actualPrice: 68.00,
status: 4, // 待确认
playerId: 30025,
playerName: '璃月大佬',
playerAvatar: 'https://picsum.photos/100/100?random=204',
merchantName: '提瓦特工作室',
gameInfo: {
uid: '123456789',
server: '天空岛',
level: 60
},
serviceFiles: [
'https://picsum.photos/400/300?random=51',
'https://picsum.photos/400/300?random=52'
],
remark: '账号密码:test123',
payType: 'wechat',
payTime: '2025-01-25 15:20:00',
acceptTime: '2025-01-25 15:25:00',
startTime: '2025-01-25 15:30:00',
createTime: '2025-01-25 15:18:00'
},
{
id: 100005,
orderNo: 'ORD202501241234571',
tenantId: 10001,
customerId: 20001,
serviceId: 1001,
serviceName: '王者荣耀 星耀→王者 上分',
serviceCover: 'https://picsum.photos/400/300?random=1',
categoryName: '王者荣耀',
price: 198.00,
actualPrice: 198.00,
status: 1, // 待接单
merchantName: '电竞之星工作室',
gameInfo: {
gameId: 'Player_Pro_888',
server: '微信区',
currentRank: '星耀II',
targetRank: '王者'
},
remark: '希望3天内完成',
payType: 'wechat',
payTime: '2025-01-24 09:30:00',
createTime: '2025-01-24 09:25:00'
}
]
/**
* 根据状态获取订单数量
*/
export function getOrderCountByStatus(status) {
if (status === 'all') return orders.length
return orders.filter(o => o.status === status).length
}
/**
* 根据状态获取订单列表
*/
export function getOrdersByStatus(status) {
if (status === 'all') return orders
return orders.filter(o => o.status === status)
}
/**
* 根据ID获取订单详情
*/
export function getOrderById(id) {
return orders.find(o => o.id === id)
}
/**
* 订单流转记录
*/
export function getOrderFlowById(orderId) {
// 模拟订单流转记录
const flows = {
100001: [
{ time: '2025-01-28 14:28:00', status: '创建订单', desc: '订单创建成功' },
{ time: '2025-01-28 14:30:00', status: '支付完成', desc: '微信支付成功' },
{ time: '2025-01-28 14:32:00', status: '选手接单', desc: '甜心小鹿 接单' },
{ time: '2025-01-28 14:35:00', status: '开始服务', desc: '服务进行中...' }
],
100002: [
{ time: '2025-01-27 10:10:00', status: '创建订单', desc: '订单创建成功' },
{ time: '2025-01-27 10:15:00', status: '支付完成', desc: '微信支付成功' },
{ time: '2025-01-27 10:20:00', status: '选手接单', desc: '狙击之王 接单' },
{ time: '2025-01-27 10:30:00', status: '开始服务', desc: '开始一对一教学' },
{ time: '2025-01-27 12:30:00', status: '服务完成', desc: '选手提交服务资料' },
{ time: '2025-01-27 12:35:00', status: '确认完成', desc: '顾客确认服务完成' }
]
}
return flows[orderId] || []
}