[✅ 已解决] Q3: 观演人信息存储位置 → vr_tickets表(Option B) #3
Loading…
Reference in New Issue
There is no content yet.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may exist for a short time before cleaning up, in most cases it CANNOT be undone. Continue?
背景
用户确认"最终提交购买按钮时走 ShopXO 原生订单流程"。
但票务需要收集观演人信息(姓名、手机号、身份证号)。
问题
观演人信息存在哪里?
选项 A:存 sxo_order.extension_data(ShopXO 订单扩展字段)
选项 B:存 vr_tickets 表(已有字段)
选项 C:购票时暂存独立表,支付成功后合并到 vr_tickets
vr_pending_attendees(订单级)选项 D:作为 ShopXO 订单商品扩展表单(ordergoodsform)
待验证
✅ 已解决:观演人信息存储于 vr_tickets 表(Option B)
决策结论
采用 Option B:支付成功后写入 vr_tickets 表。
实现方式
数据流:
extension_data字段(JSON)onOrderPaid回调从extension_data读取观演人数据vr_tickets表的real_name、phone、id_card字段关键代码(TicketService.php:issueTicket):
关于个人信息加密(P1安全问题,已单独建 Issue)
当前实现中
real_name、phone、id_card为明文存储。Council 安全审计已识别此问题(报告:
reviews/code-review-SecurityEngineer.mdM-03),属 P1 合规风险。相关 Issue:#7 [安全-P1] M-03 条目。
修复方案:对
id_card等敏感字段使用 AES-256-CBC 加密存储。此问题不阻塞当前 Phase 2 开发,属于迭代优化项。
Timeline
[pending-council] Q3: 观演人信息存储位置to [✅ 已解决] Q3: 观演人信息存储位置 → vr_tickets表(Option B)