497 lines
30 KiB
JavaScript
497 lines
30 KiB
JavaScript
export const PLACEHOLDER_IMAGE = 'https://one-feel-bucket.oss-cn-guangzhou.aliyuncs.com/oneFeel/2082673896938569729.jpg'
|
||
|
||
const XIAOQIKONG_IMAGE_ROOT = 'https://one-feel-config-images-bucket.oss-cn-chengdu.aliyuncs.com/xiaoqi/tickets'
|
||
|
||
export const SCENIC_HERO_IMAGE = `${XIAOQIKONG_IMAGE_ROOT}/hero-bridge.jpg`
|
||
|
||
export const PRODUCT_IMAGES = {
|
||
adult: `${XIAOQIKONG_IMAGE_ROOT}/product-adult-laya-waterfall.jpg`,
|
||
elderly: `${XIAOQIKONG_IMAGE_ROOT}/product-elderly-water-forest.jpg`,
|
||
minor: `${XIAOQIKONG_IMAGE_ROOT}/product-minor-cascade.jpg`,
|
||
free: `${XIAOQIKONG_IMAGE_ROOT}/product-free-scenery.jpg`,
|
||
'vip-fast': `${XIAOQIKONG_IMAGE_ROOT}/product-vip-tree.jpg`,
|
||
'direct-bus': `${XIAOQIKONG_IMAGE_ROOT}/product-direct-bus-gate.jpg`,
|
||
classic: `${XIAOQIKONG_IMAGE_ROOT}/product-classic-forest-path.jpg`,
|
||
'day-tour': `${XIAOQIKONG_IMAGE_ROOT}/product-day-tour-waterfall.jpg`,
|
||
boat: `${XIAOQIKONG_IMAGE_ROOT}/product-boat-rafting.jpg`,
|
||
}
|
||
|
||
export const ORDER_STATUS_META = {
|
||
pending_payment: { label: '待支付', className: 'border-amber-200 bg-amber-50 text-amber-700' },
|
||
closed: { label: '已关闭', className: 'border-slate-200 bg-slate-100 text-slate-500' },
|
||
paid: { label: '待使用', className: 'border-blue-200 bg-blue-50 text-blue-700' },
|
||
fulfilling: { label: '出票中', className: 'border-indigo-200 bg-indigo-50 text-indigo-700' },
|
||
partial_used: { label: '部分使用', className: 'border-amber-200 bg-amber-50 text-amber-700' },
|
||
completed: { label: '已完成', className: 'border-emerald-200 bg-emerald-50 text-emerald-700' },
|
||
refunding: { label: '退款中', className: 'border-orange-200 bg-orange-50 text-orange-700' },
|
||
partial_refunded: { label: '部分退款', className: 'border-cyan-200 bg-cyan-50 text-cyan-700' },
|
||
refunded: { label: '已退款', className: 'border-slate-200 bg-slate-100 text-slate-600' },
|
||
exception: { label: '异常', className: 'border-rose-200 bg-rose-50 text-rose-700' },
|
||
}
|
||
|
||
export const ENTITLEMENT_STATUS_META = {
|
||
pending: { label: '待使用', className: 'bg-blue-50 text-blue-700' },
|
||
used: { label: '已使用', className: 'bg-emerald-50 text-emerald-700' },
|
||
refunding: { label: '退款中', className: 'bg-orange-50 text-orange-700' },
|
||
refunded: { label: '已退款', className: 'bg-slate-100 text-slate-600' },
|
||
}
|
||
|
||
export const SCENIC_SPOT = {
|
||
id: 'libo-xiaoqikong',
|
||
name: '荔波小七孔景区',
|
||
level: '国家5A级景区',
|
||
heritage: '世界自然遗产',
|
||
address: '贵州省黔南布依族苗族自治州荔波县',
|
||
phone: '0854-3619810',
|
||
latitude: 25.2534,
|
||
longitude: 107.7255,
|
||
heroImage: SCENIC_HERO_IMAGE,
|
||
}
|
||
|
||
export const GROUPS = [
|
||
{ id: 'ticket', name: '景点门票', subtitle: '累计销量 5000+', description: '一票通玩,核销后门票7日内有效', tag: '官方', productIds: ['adult', 'elderly', 'minor', 'free'], sortOrder: 1, enabled: true },
|
||
{ id: 'vip', name: 'VIP速通', subtitle: '专属服务', description: '减少排队等待时间,按预约场次使用', tag: '推荐', productIds: ['vip-fast'], sortOrder: 2, enabled: true },
|
||
{ id: 'bus', name: '直通车', subtitle: '往返直达', description: '贵阳市区集合,直达小七孔景区', tag: '省心', productIds: ['direct-bus'], sortOrder: 3, enabled: true },
|
||
{ id: 'package', name: '门票+观光车', subtitle: '累计销量 1.5万+', description: '门票与观光车由第三方出票,园内项目使用自营权益码', tag: '热卖', productIds: ['classic'], sortOrder: 4, enabled: true },
|
||
{ id: 'tour', name: '一日游', subtitle: '精选线路', description: '轻松游览小七孔代表性景观', tag: '品质', productIds: ['day-tour'], sortOrder: 5, enabled: true },
|
||
{ id: 'play', name: '玩乐体验', subtitle: '园内自营项目', description: '工作人员扫描园内权益码后选择项目核销', tag: '自营', productIds: ['boat', 'guide'], sortOrder: 6, enabled: true },
|
||
]
|
||
|
||
const TIME_SLOTS = ['08:00—09:30', '09:30—11:30', '11:30—13:30', '13:30—15:00', '15:00—16:00']
|
||
const ID_TYPES = ['身份证', '护照']
|
||
|
||
const createReservation = ({
|
||
requiresDate = true,
|
||
requiresTimeSlot = true,
|
||
realNameRequired = true,
|
||
idTypes = ID_TYPES,
|
||
contactPhoneRequired = true,
|
||
advanceDays = 0,
|
||
maxQuantity = 5,
|
||
timeSlots = TIME_SLOTS,
|
||
} = {}) => ({
|
||
requiresDate,
|
||
advanceDays,
|
||
requiresTimeSlot,
|
||
timeSlots: requiresTimeSlot ? [...timeSlots] : [],
|
||
realNameRequired,
|
||
idTypes: [...idTypes],
|
||
maxQuantity,
|
||
contactPhoneRequired,
|
||
})
|
||
|
||
const createProduct = ({
|
||
id,
|
||
name,
|
||
shortTitle,
|
||
category,
|
||
description,
|
||
salePrice,
|
||
marketPrice = salePrice,
|
||
stock,
|
||
sold,
|
||
highlights,
|
||
ageRule = null,
|
||
included,
|
||
excluded,
|
||
detail,
|
||
purchaseNotice,
|
||
useRule = '请按预约日期和场次使用;实名商品需携带下单时填写的有效证件,具体核验方式以出票凭证及现场指引为准。',
|
||
refundRule = '未使用且符合商品退改规则时可申请退款;已使用、已过有效期或超过退改时间的权益不可退款,审核结果以订单页面为准。',
|
||
image = PLACEHOLDER_IMAGE,
|
||
reservation,
|
||
entitlements,
|
||
status = 'on_sale',
|
||
clientVisible = true,
|
||
}) => ({
|
||
id,
|
||
name,
|
||
shortTitle,
|
||
category,
|
||
description,
|
||
salePrice,
|
||
marketPrice,
|
||
stock,
|
||
sold,
|
||
status,
|
||
clientVisible,
|
||
highlights: [...highlights],
|
||
ageRule: ageRule ? { ...ageRule } : null,
|
||
included: [...included],
|
||
excluded: [...excluded],
|
||
detail,
|
||
purchaseNotice,
|
||
useRule,
|
||
refundRule,
|
||
images: [image],
|
||
reservation: createReservation(reservation),
|
||
entitlements: entitlements.map((entitlement) => ({ ...entitlement })),
|
||
})
|
||
|
||
const ticketEntitlement = (id, name, fulfillment, refundAllocation, unit = '张') => ({ id, name, fulfillment, quantity: 1, unit, refundAllocation })
|
||
|
||
export const PRODUCTS = [
|
||
createProduct({
|
||
id: 'adult', name: '荔波小七孔成人票+观光车', shortTitle: '成人门票+观光车', category: '景区门票', description: '成人门票与观光车固定组合,指定日期和场次使用,由第三方票务系统统一出票。', salePrice: 160, marketPrice: 160, stock: 500, sold: 2386,
|
||
image: PRODUCT_IMAGES.adult,
|
||
highlights: ['官方', '可订明日', '随时退', '无需取票'], included: ['荔波小七孔景区成人门票 1 张、观光车票 1 张。'], excluded: ['不含景区保险及其他园内自费项目。'], detail: '门票与观光车为固定销售组合,由第三方票务系统统一出票。出票成功后,可凭本人身份证或入园二维码通过景区闸机。', purchaseNotice: '实名预约,一人一证;请按照预约日期和入园时段使用。',
|
||
reservation: { advanceDays: 30 }, entitlements: [ticketEntitlement('adult-ticket', '小七孔成人门票', 'third_party', 120), ticketEntitlement('shuttle', '小七孔观光车票', 'third_party', 40)],
|
||
}),
|
||
createProduct({
|
||
id: 'elderly', name: '荔波小七孔老年人票+观光车', shortTitle: '老年人门票+观光车', category: '景区门票', description: '老年人门票与观光车固定组合,系统按使用日期和身份证出生日期校验年龄。', salePrice: 100, marketPrice: 100, stock: 1800, sold: 816,
|
||
image: PRODUCT_IMAGES.elderly,
|
||
highlights: ['官方', '实名预约', '年龄校验', '第三方出票'], ageRule: { min: 60, max: 999 }, included: ['荔波小七孔景区老年人票 1 张、观光车票 1 张。'], excluded: ['不含景区保险及其他园内项目。'], detail: '系统会根据使用日期和身份证中的出生日期计算年龄,符合条件后提交第三方票务系统出票。', purchaseNotice: '限使用日年满60周岁的游客购买;一人一证,证件信息须与使用人一致。',
|
||
reservation: { advanceDays: 30, idTypes: ['身份证'] }, entitlements: [ticketEntitlement('elderly-ticket', '小七孔老年人票', 'third_party', 60), ticketEntitlement('shuttle', '小七孔观光车票', 'third_party', 40)],
|
||
}),
|
||
createProduct({
|
||
id: 'minor', name: '荔波小七孔未成年票+观光车', shortTitle: '未成年门票+观光车', category: '景区门票', description: '未成年人门票与观光车固定组合,系统按使用日期和身份证出生日期校验年龄。', salePrice: 100, marketPrice: 100, stock: 1800, sold: 629,
|
||
image: PRODUCT_IMAGES.minor,
|
||
highlights: ['官方', '实名预约', '年龄校验', '第三方出票'], ageRule: { min: 6, max: 17 }, included: ['荔波小七孔景区未成年票 1 张、观光车票 1 张。'], excluded: ['不含景区保险及其他园内项目。'], detail: '系统会根据使用日期和身份证中的出生日期计算年龄,符合6—17周岁条件后提交第三方票务系统出票。', purchaseNotice: '限使用日6—17周岁的游客购买;一人一证,证件信息须与使用人一致。',
|
||
reservation: { advanceDays: 30, idTypes: ['身份证'] }, entitlements: [ticketEntitlement('minor-ticket', '小七孔未成年票', 'third_party', 60), ticketEntitlement('shuttle', '小七孔观光车票', 'third_party', 40)],
|
||
}),
|
||
createProduct({
|
||
id: 'free', name: '荔波小七孔免门票+观光车', shortTitle: '免门票+观光车实名预约', category: '景区门票', description: '特殊政策期门票免费、观光车正常计费,仍需实名校验并由第三方票务系统出票。', salePrice: 40, marketPrice: 40, stock: 1200, sold: 346,
|
||
image: PRODUCT_IMAGES.free,
|
||
highlights: ['政策免票', '实名预约', '限期开放', '第三方出票'], ageRule: { min: 0, max: 120 }, included: ['特殊政策期小七孔景区入园预约资格 1 份、观光车票 1 张。'], excluded: ['不含景区保险及所有园内自费项目。'], detail: '免票商品仍需选择日期与场次并填写实名信息。系统校验预约日期处于政策期后,向第三方票务系统请求出票。', purchaseNotice: '仅在后台配置的政策日期内开放;游客还须符合当期景区公告的适用条件。',
|
||
reservation: { advanceDays: 30, idTypes: ['身份证'] }, entitlements: [ticketEntitlement('free-ticket', '小七孔特殊时期免门票', 'third_party', 0), ticketEntitlement('shuttle', '小七孔观光车票', 'third_party', 40)],
|
||
}),
|
||
createProduct({
|
||
id: 'vip-fast', name: '小七孔景区 VIP 快速通行服务', shortTitle: 'VIP 快速通行', category: '园内项目', description: '专属通道与现场引导服务,减少排队等待时间。', salePrice: 98, marketPrice: 98, stock: 200, sold: 126,
|
||
image: PRODUCT_IMAGES['vip-fast'],
|
||
highlights: ['专属通道', '快速通行', '无需取票'], included: ['小七孔景区 VIP 快速通行服务 1 次。'], excluded: ['不含景区门票、观光车及其他园内项目。'], detail: '购买后生成园内权益码,请按预约时间到指定服务区域联系工作人员。', purchaseNotice: '请提前完成预约并按时到场,具体通行安排以现场工作人员指引为准。',
|
||
reservation: { advanceDays: 15, realNameRequired: false, idTypes: ['身份证'], timeSlots: ['08:00—10:00', '10:00—12:00', '12:00—14:00', '14:00—16:00'] }, entitlements: [ticketEntitlement('vip-fast-pass', 'VIP 快速通行服务', 'self', 98, '次')],
|
||
}),
|
||
createProduct({
|
||
id: 'direct-bus', name: '贵阳往返小七孔景区直通车', shortTitle: '贵阳往返小七孔直通车', category: '交通票', description: '贵阳市区集合,往返直达小七孔景区,省去中转换乘。', salePrice: 68, marketPrice: 68, stock: 180, sold: 92,
|
||
image: PRODUCT_IMAGES['direct-bus'],
|
||
highlights: ['往返直达', '定点发车', '第三方出票'], included: ['贵阳至小七孔景区往返直通车乘车权益 1 份。'], excluded: ['不含景区门票、餐饮及其他个人消费。'], detail: '下单时选择出行日期和班次,出票成功后凭乘车凭证按时到达集合地点。', purchaseNotice: '请至少提前20分钟到达集合地点,迟到或错过班次按商品退改规则处理。',
|
||
reservation: { advanceDays: 30, timeSlots: ['06:30—07:00 去程', '18:00—18:30 返程'] }, entitlements: [ticketEntitlement('direct-bus-seat', '景区直通车', 'third_party', 68, '位')],
|
||
}),
|
||
createProduct({
|
||
id: 'classic', name: '小七孔经典畅游套餐', shortTitle: '门票 + 观光车 + 鸳鸯湖游船(成人套餐)', category: '组合套餐', description: '门票 + 观光车 + 鸳鸯湖游船,一次购买,两类凭证独立履约。', salePrice: 188, marketPrice: 210, stock: 480, sold: 184,
|
||
image: PRODUCT_IMAGES.classic,
|
||
highlights: ['官方', '实名预约', '整包退', '双凭证'], included: ['成人门票 1 张、观光车票 1 张、鸳鸯湖游船 1 次。'], excluded: ['不含景区保险、餐饮及套餐外个人消费。'], detail: '一个订单包含两类凭证:第三方票务凭证包含景区门票和观光车票;自营权益码包含鸳鸯湖游船,由工作人员扫码核销。', purchaseNotice: '套餐统一选择使用日期和入园时段。全部权益未使用可整单全额退;任一权益使用后整单不可退,不支持拆项退款。', refundRule: '套餐内全部权益均未使用时支持整单全额退款;任一权益使用后整单不可退款,不支持拆项退款。',
|
||
reservation: { advanceDays: 30 }, entitlements: [ticketEntitlement('classic-ticket', '小七孔成人门票', 'third_party', 120), ticketEntitlement('classic-shuttle', '观光车票', 'third_party', 40), ticketEntitlement('classic-boat', '鸳鸯湖游船', 'self', 28, '次')],
|
||
}),
|
||
createProduct({
|
||
id: 'day-tour', name: '荔波小七孔精品一日游', shortTitle: '小七孔精品一日游', category: '园内项目', description: '精选游览路线与随行服务,一天轻松游览小七孔代表性景观。', salePrice: 188, marketPrice: 188, stock: 120, sold: 68,
|
||
image: PRODUCT_IMAGES['day-tour'],
|
||
highlights: ['精品小团', '行程讲解', '可订明日'], included: ['小七孔精品一日游随行服务 1 份。'], excluded: ['不含未在商品说明中列明的个人消费。'], detail: '覆盖小七孔古桥、拉雅瀑布、水上森林等代表性游览区域,具体线路以当天安排为准。', purchaseNotice: '下单时请选择出行日期和集合场次,并准确填写联系人与出行人信息。',
|
||
reservation: { advanceDays: 20, timeSlots: ['08:00—08:30 集合', '09:00—09:30 集合'] }, entitlements: [ticketEntitlement('day-tour-service', '小七孔精品一日游', 'self', 188, '份')],
|
||
}),
|
||
createProduct({
|
||
id: 'boat', name: '鸳鸯湖游船票', shortTitle: '鸳鸯湖游船票', category: '园内项目', description: '鸳鸯湖游船体验,凭园内权益码由工作人员扫码核销。', salePrice: 50, marketPrice: 60, stock: 480, sold: 326,
|
||
image: PRODUCT_IMAGES.boat,
|
||
highlights: ['官方自营', '当日可订', '未用可退'], included: ['鸳鸯湖游船体验 1 次。'], excluded: ['不含景区门票、观光车及个人消费。'], detail: '乘船游览鸳鸯湖水上森林景观,凭园内权益码由工作人员核销。', purchaseNotice: '受天气和现场运营情况影响,具体以景区通知为准。',
|
||
reservation: { requiresTimeSlot: false, realNameRequired: false, advanceDays: 15, idTypes: ['身份证'] }, entitlements: [ticketEntitlement('boat-experience', '鸳鸯湖游船', 'self', 50, '次')],
|
||
}),
|
||
createProduct({
|
||
id: 'guide', name: '小七孔精品讲解服务', shortTitle: '小七孔精品讲解服务', category: '园内项目', description: '官方讲解员小团服务,园内权益码核销。', salePrice: 68, marketPrice: 88, stock: 30, sold: 0,
|
||
highlights: ['官方讲解', '预约服务'], included: ['精品讲解服务 1 份。'], excluded: ['不含门票、观光车及耳麦以外设备。'], detail: '由官方讲解员提供小团讲解服务,具体集合信息将在订单内展示。', purchaseNotice: '请在预约场次开始前10分钟到达集合点。',
|
||
reservation: { advanceDays: 7, realNameRequired: false, idTypes: ['身份证'], maxQuantity: 3, timeSlots: ['09:00—10:30', '13:30—15:00'] }, entitlements: [ticketEntitlement('guide-service', '精品讲解服务', 'self', 68, '份')], status: 'draft', clientVisible: false,
|
||
}),
|
||
]
|
||
|
||
export const AVAILABLE_DATES = [
|
||
{ date: '2026-08-01', week: '周六', label: '8月1日', stock: 120 },
|
||
{ date: '2026-08-02', week: '周日', label: '8月2日', stock: 96 },
|
||
{ date: '2026-08-03', week: '周一', label: '8月3日', stock: 68 },
|
||
{ date: '2026-08-04', week: '周二', label: '8月4日', stock: 0 },
|
||
{ date: '2026-08-05', week: '周三', label: '8月5日', stock: 42 },
|
||
]
|
||
|
||
export const INSURANCE = { name: '出行意外险', price: 5, description: '最高10万元意外保障' }
|
||
|
||
export const REFUND_REASONS = ['行程有变,无法按计划出行', '重复购买', '选错日期或票种', '其他原因']
|
||
|
||
export const INITIAL_TRAVELERS = [
|
||
{ id: 'traveler-lin-xiao', name: '林晓', idType: '身份证', idNumber: '110101199001020010', phone: '13800138000' },
|
||
{ id: 'traveler-zhou-ning', name: '周宁', idType: '身份证', idNumber: '110101196001020017', phone: '13900139000' },
|
||
]
|
||
|
||
const createPrototypeOrder = (order) => ({
|
||
insurance: null,
|
||
refundStatus: order.status === 'refunding'
|
||
? 'pending'
|
||
: ['partial_refunded', 'refunded'].includes(order.status) ? 'approved' : '',
|
||
productAmount: order.amount,
|
||
insuranceAmount: 0,
|
||
paidAmount: order.amount,
|
||
contactName: order.customerName,
|
||
travelers: [{
|
||
id: `${order.id}-traveler`,
|
||
name: order.customerName,
|
||
idType: '身份证',
|
||
idNumber: order.idCard,
|
||
phone: order.phone,
|
||
}],
|
||
...order,
|
||
})
|
||
|
||
export const INITIAL_ORDERS = [
|
||
createPrototypeOrder({
|
||
id: 'o-001',
|
||
orderNo: 'LB202607260001',
|
||
productId: 'p-package-classic',
|
||
productName: '小七孔经典畅游套餐',
|
||
customerName: '张晓云',
|
||
phone: '13800138088',
|
||
idCard: '52272219930418XXXX',
|
||
visitDate: '2026-07-27',
|
||
timeSlot: '08:00—10:00',
|
||
quantity: 1,
|
||
amount: 188,
|
||
paidAt: '2026-07-26 09:18:32',
|
||
status: 'partial_used',
|
||
refundMode: 'all_or_nothing',
|
||
gateCredential: { status: 'used', provider: '景区票务平台', providerOrderNo: 'TP20260726093821', ticketNo: 'XQK88261001', qrToken: 'GATE-XQK-88261001', issuedAt: '2026-07-26 09:18:36' },
|
||
selfCredential: { status: 'issued', credentialNo: 'BEN202607260001', qrToken: 'BENEFIT-LB202607260001', createdAt: '2026-07-26 09:18:37' },
|
||
entitlements: [
|
||
{ id: 'oe-001-ticket', name: '小七孔成人门票', fulfillment: 'third_party', quantity: 1, usedQuantity: 1, unit: '张', status: 'used', refundAllocation: 120, voucherNo: 'XQK88261001', usedAt: '2026-07-27 08:46:12' },
|
||
{ id: 'oe-001-shuttle', name: '观光车票', fulfillment: 'third_party', quantity: 1, usedQuantity: 1, unit: '张', status: 'used', refundAllocation: 30, voucherNo: 'XQK88261001-CAR', usedAt: '2026-07-27 09:02:18' },
|
||
{ id: 'oe-001-boat', name: '鸳鸯湖游船', fulfillment: 'self', quantity: 1, usedQuantity: 0, unit: '次', status: 'pending', refundAllocation: 38, voucherNo: 'BEN202607260001-02' },
|
||
],
|
||
logs: [
|
||
{ time: '2026-07-26 09:18:32', text: '小程序支付成功,实付 ¥188', operator: '系统' },
|
||
{ time: '2026-07-26 09:18:36', text: '第三方门票与观光车票出票成功', operator: '出票服务' },
|
||
{ time: '2026-07-26 09:18:37', text: '自营园内权益包生成成功', operator: '系统' },
|
||
{ time: '2026-07-27 08:46:12', text: '门票已通过闸机,状态由第三方同步', operator: '景区票务平台' },
|
||
{ time: '2026-07-27 09:02:18', text: '观光车票已使用,状态由第三方同步', operator: '景区票务平台' },
|
||
],
|
||
}),
|
||
createPrototypeOrder({
|
||
id: 'o-002',
|
||
orderNo: 'LB202607260002',
|
||
productId: 'p-package-classic',
|
||
productName: '小七孔经典畅游套餐',
|
||
customerName: '周一航',
|
||
phone: '18682131666',
|
||
idCard: '52010219880902XXXX',
|
||
visitDate: '2026-07-28',
|
||
timeSlot: '10:00—12:00',
|
||
quantity: 2,
|
||
amount: 376,
|
||
paidAt: '2026-07-26 10:05:09',
|
||
status: 'paid',
|
||
refundMode: 'all_or_nothing',
|
||
gateCredential: { status: 'issued', provider: '景区票务平台', providerOrderNo: 'TP20260726102977', ticketNo: 'XQK88261002', qrToken: 'GATE-XQK-88261002', issuedAt: '2026-07-26 10:05:13' },
|
||
selfCredential: { status: 'issued', credentialNo: 'BEN202607260002', qrToken: 'BENEFIT-LB202607260002', createdAt: '2026-07-26 10:05:14' },
|
||
entitlements: [
|
||
{ id: 'oe-002-ticket', name: '小七孔成人门票', fulfillment: 'third_party', quantity: 2, usedQuantity: 0, unit: '张', status: 'pending', refundAllocation: 240, voucherNo: 'XQK88261002' },
|
||
{ id: 'oe-002-shuttle', name: '观光车票', fulfillment: 'third_party', quantity: 2, usedQuantity: 0, unit: '张', status: 'pending', refundAllocation: 60, voucherNo: 'XQK88261002-CAR' },
|
||
{ id: 'oe-002-boat', name: '鸳鸯湖游船', fulfillment: 'self', quantity: 2, usedQuantity: 0, unit: '次', status: 'pending', refundAllocation: 76, voucherNo: 'BEN202607260002-02' },
|
||
],
|
||
logs: [
|
||
{ time: '2026-07-26 10:05:09', text: '小程序支付成功,实付 ¥376', operator: '系统' },
|
||
{ time: '2026-07-26 10:05:13', text: '第三方门票与观光车票出票成功,各2张', operator: '出票服务' },
|
||
{ time: '2026-07-26 10:05:14', text: '自营园内权益包生成成功', operator: '系统' },
|
||
],
|
||
}),
|
||
createPrototypeOrder({
|
||
id: 'o-003',
|
||
orderNo: 'LB202607260003',
|
||
productId: 'p-ticket-adult',
|
||
productName: '荔波小七孔景区成人票',
|
||
customerName: '陈思齐',
|
||
phone: '17730208821',
|
||
idCard: '52270119991221XXXX',
|
||
visitDate: '2026-07-29',
|
||
timeSlot: '12:00—14:00',
|
||
quantity: 1,
|
||
amount: 120,
|
||
paidAt: '2026-07-26 10:42:51',
|
||
status: 'exception',
|
||
gateCredential: { status: 'failed', provider: '景区票务平台', providerOrderNo: '—', failureReason: '第三方票种库存校验超时' },
|
||
entitlements: [
|
||
{ id: 'oe-003-ticket', name: '小七孔成人门票', fulfillment: 'third_party', quantity: 1, usedQuantity: 0, unit: '张', status: 'pending', refundAllocation: 120, voucherNo: '待出票' },
|
||
],
|
||
logs: [
|
||
{ time: '2026-07-26 10:42:51', text: '小程序支付成功,实付 ¥120', operator: '系统' },
|
||
{ time: '2026-07-26 10:42:56', text: '第三方出票失败:库存校验超时', operator: '出票服务' },
|
||
],
|
||
}),
|
||
createPrototypeOrder({
|
||
id: 'o-004',
|
||
orderNo: 'LB202607260004',
|
||
productId: 'p-boat',
|
||
productName: '鸳鸯湖游船票',
|
||
customerName: '吴嘉树',
|
||
phone: '13985271349',
|
||
idCard: '52272220010307XXXX',
|
||
visitDate: '2026-07-27',
|
||
timeSlot: '不限时段',
|
||
quantity: 2,
|
||
amount: 100,
|
||
paidAt: '2026-07-26 11:16:24',
|
||
status: 'paid',
|
||
selfCredential: { status: 'issued', credentialNo: 'BEN202607260004', qrToken: 'BENEFIT-LB202607260004', createdAt: '2026-07-26 11:16:25' },
|
||
entitlements: [
|
||
{ id: 'oe-004-boat', name: '鸳鸯湖游船', fulfillment: 'self', quantity: 2, usedQuantity: 0, unit: '次', status: 'pending', refundAllocation: 100, voucherNo: 'BEN202607260004-01' },
|
||
],
|
||
logs: [
|
||
{ time: '2026-07-26 11:16:24', text: '小程序支付成功,实付 ¥100', operator: '系统' },
|
||
{ time: '2026-07-26 11:16:25', text: '自营园内权益包生成成功', operator: '系统' },
|
||
],
|
||
}),
|
||
createPrototypeOrder({
|
||
id: 'o-005',
|
||
orderNo: 'LB202607260005',
|
||
productId: 'p-ticket-adult',
|
||
productName: '荔波小七孔景区成人票',
|
||
customerName: '罗雨桐',
|
||
phone: '18585321206',
|
||
idCard: '52272519960816XXXX',
|
||
visitDate: '2026-07-30',
|
||
timeSlot: '08:00—09:30',
|
||
quantity: 1,
|
||
amount: 120,
|
||
paidAt: '2026-07-26 11:42:18',
|
||
status: 'fulfilling',
|
||
gateCredential: { status: 'issuing', provider: '景区票务平台', providerOrderNo: 'TP20260726114218' },
|
||
entitlements: [
|
||
{ id: 'oe-005-ticket', name: '小七孔成人门票', fulfillment: 'third_party', quantity: 1, usedQuantity: 0, unit: '张', status: 'pending', refundAllocation: 120, voucherNo: '出票中' },
|
||
],
|
||
logs: [
|
||
{ time: '2026-07-26 11:42:18', text: '小程序支付成功,实付 ¥120', operator: '系统' },
|
||
{ time: '2026-07-26 11:42:19', text: '已提交第三方出票,等待出票结果', operator: '出票服务' },
|
||
],
|
||
}),
|
||
createPrototypeOrder({
|
||
id: 'o-006',
|
||
orderNo: 'LB202607260006',
|
||
productId: 'p-boat',
|
||
productName: '鸳鸯湖游船票',
|
||
customerName: '高子涵',
|
||
phone: '18786650218',
|
||
idCard: '52272619941122XXXX',
|
||
visitDate: '2026-07-26',
|
||
timeSlot: '13:30—15:00',
|
||
quantity: 1,
|
||
amount: 50,
|
||
paidAt: '2026-07-25 18:20:06',
|
||
status: 'completed',
|
||
selfCredential: { status: 'issued', credentialNo: 'BEN202607260006', qrToken: 'BENEFIT-LB202607260006', createdAt: '2026-07-25 18:20:07' },
|
||
entitlements: [
|
||
{ id: 'oe-006-boat', name: '鸳鸯湖游船', fulfillment: 'self', quantity: 1, usedQuantity: 1, unit: '次', status: 'used', refundAllocation: 50, voucherNo: 'BEN202607260006-01', usedAt: '2026-07-26 14:06:32' },
|
||
],
|
||
logs: [
|
||
{ time: '2026-07-25 18:20:06', text: '小程序支付成功,实付 ¥50', operator: '系统' },
|
||
{ time: '2026-07-25 18:20:07', text: '自营园内权益包生成成功', operator: '系统' },
|
||
{ time: '2026-07-26 14:06:32', text: '鸳鸯湖游船核销成功,订单完成', operator: '核销员·王超' },
|
||
],
|
||
}),
|
||
createPrototypeOrder({
|
||
id: 'o-007',
|
||
orderNo: 'LB202607260007',
|
||
productId: 'p-shuttle',
|
||
productName: '小七孔观光车票',
|
||
customerName: '何静怡',
|
||
phone: '15285940731',
|
||
idCard: '52272319870709XXXX',
|
||
visitDate: '2026-07-31',
|
||
timeSlot: '不限时段',
|
||
quantity: 2,
|
||
amount: 80,
|
||
paidAt: '2026-07-26 12:08:40',
|
||
status: 'refunding',
|
||
refundMode: 'per_item',
|
||
gateCredential: { status: 'issued', provider: '景区票务平台', providerOrderNo: 'TP20260726120840', ticketNo: 'XQKCAR261207', qrToken: 'GATE-CAR-XQKCAR261207', issuedAt: '2026-07-26 12:08:41' },
|
||
entitlements: [
|
||
{ id: 'oe-007-shuttle', name: '观光车票', fulfillment: 'third_party', quantity: 2, usedQuantity: 0, unit: '张', status: 'refunding', refundAllocation: 80, voucherNo: 'XQKCAR261207' },
|
||
],
|
||
logs: [
|
||
{ time: '2026-07-26 12:08:40', text: '小程序支付成功,实付 ¥80;第三方观光车票出票成功', operator: '出票服务' },
|
||
{ time: '2026-07-27 10:15:22', text: '游客申请整单退款,等待审核', operator: '系统' },
|
||
],
|
||
}),
|
||
createPrototypeOrder({
|
||
id: 'o-008',
|
||
orderNo: 'LB202607260008',
|
||
productId: 'p-guide',
|
||
productName: '精品讲解服务',
|
||
customerName: '彭浩然',
|
||
phone: '15086031257',
|
||
idCard: '52270119920511XXXX',
|
||
visitDate: '2026-08-01',
|
||
timeSlot: '09:00—10:30',
|
||
quantity: 1,
|
||
amount: 68,
|
||
paidAt: '2026-07-26 13:26:11',
|
||
status: 'refunded',
|
||
selfCredential: { status: 'issued', credentialNo: 'BEN202607260008', qrToken: 'BENEFIT-LB202607260008', createdAt: '2026-07-26 13:26:12' },
|
||
entitlements: [
|
||
{ id: 'oe-008-guide', name: '精品讲解服务', fulfillment: 'self', quantity: 1, usedQuantity: 0, unit: '次', status: 'refunded', refundAllocation: 68, voucherNo: 'BEN202607260008-01' },
|
||
],
|
||
logs: [
|
||
{ time: '2026-07-26 13:26:11', text: '小程序支付成功,实付 ¥68', operator: '系统' },
|
||
{ time: '2026-07-27 09:30:16', text: '退款审核通过,原路退回 ¥68', operator: '客服·宋妍' },
|
||
],
|
||
}),
|
||
createPrototypeOrder({
|
||
id: 'o-009',
|
||
orderNo: 'LB202607260009',
|
||
productId: 'p-package-classic',
|
||
productName: '小七孔经典畅游套餐',
|
||
customerName: '叶嘉宁',
|
||
phone: '18188040712',
|
||
idCard: '52270219950915XXXX',
|
||
visitDate: '2026-08-02',
|
||
timeSlot: '08:00—09:30',
|
||
quantity: 1,
|
||
amount: 188,
|
||
paidAt: '—',
|
||
status: 'pending_payment',
|
||
refundMode: 'all_or_nothing',
|
||
entitlements: [],
|
||
logs: [
|
||
{ time: '2026-07-27 14:02:33', text: '订单创建成功,库存已锁定15分钟', operator: '系统' },
|
||
],
|
||
}),
|
||
createPrototypeOrder({
|
||
id: 'o-010',
|
||
orderNo: 'LB202607260010',
|
||
productId: 'p-ticket-adult',
|
||
productName: '荔波小七孔景区成人票',
|
||
customerName: '田思远',
|
||
phone: '18984510366',
|
||
idCard: '52272819881203XXXX',
|
||
visitDate: '2026-08-02',
|
||
timeSlot: '09:30—11:30',
|
||
quantity: 1,
|
||
amount: 120,
|
||
paidAt: '—',
|
||
status: 'closed',
|
||
entitlements: [],
|
||
logs: [
|
||
{ time: '2026-07-27 13:30:04', text: '订单创建成功,等待支付', operator: '系统' },
|
||
{ time: '2026-07-27 13:45:04', text: '超过15分钟未支付,订单自动关闭并释放库存', operator: '系统' },
|
||
],
|
||
}),
|
||
createPrototypeOrder({
|
||
id: 'o-011',
|
||
orderNo: 'LB202607260011',
|
||
productId: 'p-boat',
|
||
productName: '鸳鸯湖游船票',
|
||
customerName: '蒋语晨',
|
||
phone: '15329760845',
|
||
idCard: '52272419910208XXXX',
|
||
visitDate: '2026-07-25',
|
||
timeSlot: '不限时段',
|
||
quantity: 2,
|
||
amount: 100,
|
||
paidAt: '2026-07-24 16:18:28',
|
||
status: 'partial_refunded',
|
||
refundMode: 'per_item',
|
||
selfCredential: { status: 'issued', credentialNo: 'BEN202607260011', qrToken: 'BENEFIT-LB202607260011', createdAt: '2026-07-24 16:18:32' },
|
||
entitlements: [
|
||
{ id: 'oe-011-boat-used', name: '鸳鸯湖游船', fulfillment: 'self', quantity: 1, usedQuantity: 1, unit: '次', status: 'used', refundAllocation: 50, voucherNo: 'BEN202607260011-01', usedAt: '2026-07-25 10:26:18' },
|
||
{ id: 'oe-011-boat-refunded', name: '鸳鸯湖游船', fulfillment: 'self', quantity: 1, usedQuantity: 0, unit: '次', status: 'refunded', refundAllocation: 50, voucherNo: 'BEN202607260011-02' },
|
||
],
|
||
logs: [
|
||
{ time: '2026-07-24 16:18:28', text: '小程序支付成功,实付 ¥100', operator: '系统' },
|
||
{ time: '2026-07-25 10:26:18', text: '第1份游船权益核销成功', operator: '核销员·王超' },
|
||
{ time: '2026-07-25 15:48:06', text: '第2份未使用游船权益退款成功,退款 ¥50', operator: '客服·宋妍' },
|
||
],
|
||
}),
|
||
]
|