8.4 KiB
8.4 KiB
业务规则
业务规则以 项目计划 为准。
一期关键边界:
- 哈夫币是游戏账号内资产,不是平台币。
- 哈夫币数量由号主手动填报,订单创建时生成账号资产快照。
- 平台不保存游戏账号密码,不代收验证码,不绕过游戏安全机制。
- 账号交接采用号主手动交接。
- 资金先做账务模型,不直接接真实支付和提现。
- 押金、交接超时、归还超时、短信限流等阈值进入系统配置。
开发态实名认证
- 当前实现为 mock 实名服务。
- 提交合法姓名和 18 位身份证号后直接通过认证。
- 后端只返回脱敏姓名和脱敏证件号。
- 用户表
realname_status会同步更新为verified。 - 后续接入阿里云或腾讯云实名服务时,保持
POST /api/realname/start和GET /api/realname/status的业务语义不变。
开发态租号发布
- 发布租号前必须登录并完成实名认证。
- 一期创建发布时同时创建
game_accounts和rental_listings。 - 哈夫币数量是号主手动填报值,不代表实时值。
- 当前提交审核会进入
review_status = pending,由后台商品审核通过后才上架。 - 后台审核通过后,发布状态变为
published,审核状态变为approved,账号状态变为published。 - 后台审核拒绝后,发布保留为草稿,审核状态变为
rejected,拒绝原因写入review_reason。 - 公开列表只展示
status = published且review_status = approved的发布。
开发态订单创建
- 创建订单需要登录。
- 一期创建订单暂不接真实支付和押金冻结,创建成功后直接进入
pending_handoff。 - 创建订单时会在数据库事务内锁定发布和账号,防止同一账号重复出租。
- 创建订单时生成
account_snapshot,记录下单时账号资产状态。 - 订单创建后发布状态变为
rented,不再出现在公开租号列表。 - 待交接订单可以由租客取消,取消后发布状态恢复为
published。
开发态账号交接
- 创建订单后状态为
pending_handoff,交接状态为pending_owner。 - 只有号主可以提交交接说明。
- 号主提交交接说明后,交接状态变为
pending_renter_confirm。 - 只有租客可以确认收号。
- 租客确认收号后,订单状态变为
renting,交接状态变为received。 - 确认收号时会重新计算租赁开始时间和结束时间。
- 交接记录保存在
handoff_records,订单双方都可以查看。
开发态归还与完成
- 租赁中订单可以由租客提交归还。
- 租客提交归还后,订单状态变为
pending_return_confirm,交接状态变为pending_owner_return_confirm。 - 只有号主可以确认归还。
- 号主确认归还后,订单状态变为
completed,交接状态变为returned,结算状态先标记为settled。 - 订单完成后,账号和发布状态恢复为
published。 - 当前会生成开发态模拟钱包流水,不代表真实支付或提现。
开发态钱包账务
- 钱包账务当前为模拟流水,不代表真实支付、充值或提现。
- 创建订单时为租客生成一笔冻结流水,金额为租金加押金。
- 取消待交接订单时释放租客冻结金额。
- 订单完成时释放租客冻结金额,给号主生成租金入账流水,并给租客生成押金退回流水。
- 每笔流水记录
balance_after,用于后续对账。 - 后台资金流水接口为
/api/admin/wallet/ledger,前端页面为/admin/wallet-ledger。 - 后台可按用户、订单和业务类型查看最近流水,用于客服核对押金、租金、释放和结算记录。
- 后续接入真实支付后,需要把模拟冻结替换为支付成功后的真实冻结。
开发态站内信
- 订单创建后通知号主和租客。
- 租客取消订单后通知号主和租客。
- 号主提交交接说明后通知租客。
- 租客确认收号后通知号主。
- 租客提交归还后通知号主。
- 号主确认归还后通知号主和租客。
- 发起申诉后通知对方和发起人。
- 仲裁完成后通知号主和租客。
- 站内信支持列表查询和标记已读。
开发态申诉仲裁
- 订单双方都可以在非终态订单发起申诉。
- 同一个订单同一时间只允许存在一个
open或processing申诉。 - 发起申诉后订单状态变为
disputing,账号和发布保持锁定。 - 开发态后台仲裁接口为
/api/admin/disputes,当前只要求登录,后续接后台管理员和 RBAC。 - 仲裁结果先只落状态和通知:全额退款、部分退款、关闭订单会将订单置为
closed;扣押金、释放押金、赔付号主会将订单置为completed。 - 仲裁完成后账号和发布恢复为
published。 - 当前仲裁不做真实扣款、退款、赔付落账,后续接真实支付后再补资金流水和审计日志。
开发态系统配置
- 系统配置接口为
/api/admin/system-configs。 - 首次查询会自动补齐一组默认配置,包括交接超时、归还确认超时、短信限流、最低押金、实名下单开关、平台抽成和提现门槛。
- 更新配置会写入
audit_logs,记录操作人、配置项、修改前值和修改后值。 - 当前后台接口已使用独立管理员登录和后台 JWT;后续接入角色和权限后再限制可操作配置项。
开发态后台登录
- 后台登录接口为
/api/admin/auth/login,前端页面为/admin/login。 - 后台页面使用独立管理布局,不再混用用户端侧边栏。
- 后台登录前必须先请求
/api/admin/auth/captcha获取图形验证码。 - 图形验证码为后端生成的 SVG,验证码答案保存在 Redis,默认 3 分钟过期,校验后立即删除。
- 后台 JWT 与普通用户 JWT 区分
admin和user,普通用户 Token 不能访问/api/admin/*。 - 开发态首次后台登录会自动初始化默认管理员:用户名
admin,密码admin123456。 - 默认管理员只用于本地开发;正式部署前必须改为初始化脚本、强密码和管理员密码修改流程。
开发态后台仪表盘
- 后台仪表盘接口为
/api/admin/dashboard,前端页面为/admin/dashboard。 - 当前统计用户数、实名用户数、商品数、上架数、订单数、租赁中订单、今日订单、今日钱包流水。
- 待处理事项包括待审核商品、待仲裁申诉、待交接订单和待归还确认订单。
- 最近订单和最近申诉用于运营快速定位问题,后续接入后台订单管理和商品审核后再跳转到对应详情页。
开发态用户管理
- 用户管理接口为
/api/admin/users,前端页面为/admin/users。 - 后台可查看用户手机号、实名状态、风险状态、信用分、订单数、发布数和申诉数。
- 冻结用户会将
users.status改为frozen,risk_status改为frozen,被冻结用户不能继续登录。 - 解冻用户会将
users.status改为active,risk_status改为normal。 - 冻结和解冻都会写入
audit_logs,记录管理员、用户、前后状态和原因。
开发态订单管理
- 订单管理接口为
/api/admin/orders,前端页面为/admin/orders。 - 后台可查看全量订单、租客、号主、订单状态、交接状态、结算状态、租金和押金。
- 订单详情页
/admin/orders/:id展示订单状态、双方用户、租期、交接记录和账号资产快照。 - 当前后台订单管理先做只读能力,后续再补后台关闭订单、标记异常和客服介入操作。
开发态商品管理
- 商品管理接口为
/api/admin/listings,前端页面为/admin/listings。 - 后台可查看全量商品、号主、账号 ID、区服、平台、段位、哈夫币、时租、押金、商品状态和审核状态。
- 当前支持按号主 ID、商品状态、审核状态和查询条数筛选。
- 商品管理先做只读能力,强制下架、标记异常和后台改价等高风险操作后续接 RBAC 和审计后再做。
开发态审计日志
- 审计日志接口为
/api/admin/audit-logs,前端页面为/admin/audit-logs。 - 当前可查看管理员、操作动作、业务类型、业务 ID、IP、User-Agent、操作明细和创建时间。
- 当前已写入审计日志的动作包括系统配置创建/更新、用户冻结和用户解冻。
- 审计日志只做追加和只读查询,不提供后台删除或修改入口。