petstore-docs/ontology/relations.md
2026-08-01 23:32:48 +08:00

9.3 KiB
Raw Permalink Blame History

Relations关系

实体/动作/事件/规则之间的边。ER 关系 + 动作-事件 + 规则-动作适用。

ER 关系(实体间)

关系 基数 说明
Store 1—N User 一个门店有多个用户boss 1 + staff N + customer 不挂门店) User.store_idStore.id
User N—1 Store boss/staff 归属一个门店customer 可无门店
Store 1—N Appointment 一个门店有多个预约 Appointment.store_idStore.id
User 1—N Appointment 一个客户拥有多次预约;一个账号可创建多次预约;一个技师服务多次预约 Appointment.customer_user_id / created_by_user_id / assigned_user_idUser.id
Appointment 1—1 Report 一约一份报告(uk_report_appointment 唯一约束) Report.appointment_idAppointment.id
Report N—1 Store 报告归属门店 Report.store_idStore.id
Report N—1 User 报告分别归属客户与提交作者;服务技师由预约承载 Report.customer_user_id / author_staff_idUser.id
Report 1—N ReportImage 报告含多张照片before/after/during ReportImage.report_idReport.id
Report 1—N ReportLead 一份报告可多次留资(同手机号去重) ReportLead.report_idReport.id
ReportLead N—1 Store 留资归属门店(回访池范围) ReportLead.store_idStore.id
Store 1—N BusinessEvent 所有可统计事实强制归属门店 BusinessEvent.store_idStore.id
StoreCustomer 1—N BusinessEvent 客户时间线;无客户语义事件可空 BusinessEvent.store_customer_idStoreCustomer.id

动作—事件(触发)

动作 触发事件
action:register_boss event:store_registeredevent:session_issued
action:login event:session_issued
action:wx_phone_login event:session_issuedevent:wx_bound(若 loginCode 有)
action:create_appointment event:appointment_created
action:start_service event:appointment_status_changednew→doingevent:service_started
action:transition_appointment_status event:appointment_status_changed
action:submit_report event:report_submittedevent:appointment_status_changeddoing→doneevent:service_completed
action:track_report_open event:report_opened / event:report_reopened
action:submit_lead event:lead_submitted

规则—动作(适用)

规则 适用动作
rule:BR-AUTH-001 所有 protected 接口
rule:BR-AUTH-002 action:loginaction:wx_phone_login
rule:BR-STORE-001 action:update_storeaction:delete_store
rule:BR-STORE-002 action:get_store_by_invite_code
rule:BR-APPT-001 action:start_serviceaction:transition_appointment_statusaction:submit_report
rule:BR-APPT-002 action:list_appointmentsaction:start_serviceaction:transition_appointment_statusaction:get_appointment_detaildelete
rule:BR-APPT-003 action:get_appointment_detailaction:transition_appointment_status(仅 cancel
rule:BR-APPT-004 action:create_appointment
rule:BR-RPT-001 action:submit_report
rule:BR-RPT-002 action:submit_report
rule:BR-RPT-003 action:submit_report
rule:BR-RPT-004 action:submit_report
rule:BR-RPT-005 action:submit_reportaction:delete_report
rule:BR-RPT-006 action:get_report_by_token
rule:BR-RPT-007 action:track_report_open
rule:BR-LEAD-001 action:submit_lead
rule:BR-LEAD-002 action:list_leads
rule:BR-LEAD-003 action:list_leads
rule:BR-BE-001 所有已落库事件触发动作、action:view_workbench

实体—归属系统

实体 归属系统Agent 写入锁)
entity:store Backend Core
entity:user Backend Core
entity:appointment Backend Core
entity:report Report Media Backend
entity:report_lead Report Media Backend
entity:business_event Backend Core跨域写入底座

Batch 2 录入关系

ER 关系(实体间,续)

关系 基数 说明
User 1—N Pet 一个客户有多个宠物 Pet.owner_user_idUser.id
Pet 1—N Appointment 一只宠物可多次预约 Appointment.pet_idPet.id(可空)
Store 1—N ServiceType 一个门店有多个自定义服务类型(store_id 为空=系统默认) ServiceType.store_idStore.id
Store 1—N ScheduleBlock 一个门店有多个排班占用 ScheduleBlock.store_idStore.id
User 1—N ScheduleBlock 一个用户创建多个排班占用 ScheduleBlock.created_by_user_idUser.id
Report 1—1 HighlightVideo 一份报告对应一个成片(当前作为 Report.highlight_* 字段承载)
User 1—N SessionToken 一个用户可有多个签发的 session token每次登录/注册签发) token payload 含 userId

动作—事件(触发,续)

动作 触发事件
action:generate_highlight event:highlight_succeeded / event:highlight_failed(异步)
action:upload_image event:upload_completed
action:create_schedule_block event:schedule_block_created
action:delete_schedule_block event:schedule_block_deleted
action:create_service_type event:service_type_created
action:delete_service_type event:service_type_deleted
action:create_pet event:pet_created
action:create_staff event:staff_created
action:update_user event:user_updated
action:bind_wechat event:wx_bound(已在 Batch 1 录入)
action:submit_testimonial event:testimonial_saved
action:track_video_play event:video_play
action:track_video_save event:video_save
action:logout event:session_revokedgap

规则—动作(适用,续)

规则 适用动作
rule:BR-UPLOAD-001 action:upload_imageaction:get_upload_image
rule:BR-UPLOAD-002 action:upload_image
rule:BR-HL-001 action:generate_highlight
rule:BR-HL-002 action:generate_highlight
rule:BR-SCH-001 action:day_agendaaction:create_schedule_blockaction:delete_schedule_block
rule:BR-ST-001 action:create_service_typeaction:update_service_typeaction:delete_service_typeaction:init_service_types
rule:BR-PET-001 action:list_petsaction:create_petaction:update_petaction:delete_petaction:get_pet_history
rule:BR-USER-001 action:create_staffaction:list_staffaction:delete_staff
rule:BR-USER-002 action:update_useraction:get_user_info
rule:BR-USER-003 返回 User 的登录/注册/信息类动作
rule:BR-STORE-003 action:get_storeaction:list_stores
rule:BR-TST-001 action:submit_testimonial
rule:BR-UNSUB-001 action:unsubscribe
rule:BR-INT-001 action:get_report_suggestion
rule:BR-CONFIG-001 —(全局约束)
rule:BR-CONFIG-002 —(全局约束)
rule:BR-CONFIG-003 —(发布全局约束)

实体—归属系统(续)

实体 归属系统Agent 写入锁)
entity:pet Backend Core
entity:service_type Backend Core
entity:schedule_block Backend Core
entity:report_image Report Media Backend
entity:highlight_video Report Media Backend
entity:session_token Backend Coreauth 包)
entity:report_testimonial Report Media Backend
entity:service_interval Report Media Backend
entity:highlight_fail_reason Report Media Backend枚举
entity:current_user Backend Coreauth 包)
entity:admin_console / workbench / workbench_todo_item / store_customer Store Admin FE + Backend Core
P1/P2 gap 占位 未实现membership / stored_value / service_package / report_history / analytics_dashboardPhase A 后台禁止偷渡

其他关系Batch 补全)

关系 说明
entity:highlight_video HAS entity:highlight_fail_reason 失败态归类
entity:session_token RESOLVES_TO entity:current_user 鉴权解析

门店后台关系Phase A · documented

关系 说明
admin_console HAS workbench 登录默认工作台
workbench HAS workbench_todo_item 今日待办
workbench AGGREGATES appointment / report / report_lead 指标与异常来源
store HAS store_customer 一店多个稳定客户关系
store_customer LINKS user 可选关联全局 customer 账号;留资客户可先不关联
store_customer HAS pet 通过 customer user 关联一人多宠
view_workbench EMITS workbench_viewed 可选埋点
BR-ADMIN-001/002 APPLIES_TO view_workbench 角色与店范围
BR-ADMIN-004 CONSTRAINS admin_console Phase A 范围闸门
admin list actions READS 对应实体 列表读模型
drilldown_workbench_todo ROUTES_TO admin_list_* 待办下钻