petstore-docs/ontology/events.md

8.9 KiB
Raw Blame History

Events事件

动作或状态变更后发生的事实(过去时)。用于埋点、状态机迁移、领域事件。

Store 相关

event:store_registered

老板入驻成功,Store + boss User 创建完成,session_token 签发。

  • 触发动作action:register_boss
  • payloadstoreIdbossUserIdinviteCode
  • 证据anchored

User / 鉴权相关

event:session_issued

登录/注册成功后签发 HMAC session token。

  • 触发动作action:register_bossaction:loginaction:wx_phone_loginregister_staff
  • payloaduserIdstoreIdroleexp
  • 代码backend/src/main/java/com/petstore/auth/SessionTokenService.java#issue
  • 测试SessionTokenServiceTest
  • 证据anchored

event:wx_bound

微信 openid/unionid 绑定到用户。

  • 触发动作action:bind_wechataction:wx_phone_login 内)
  • payloaduserIdopenidunionid?
  • 代码backend/src/main/java/com/petstore/service/UserService.java#bindWechatMiniIdentity
  • 证据anchored

Appointment 相关

event:appointment_created

预约创建成功(status=new,下单即占号生效)。

  • 触发动作action:create_appointment
  • payloadappointmentIdstoreIduserIdappointmentTime
  • 代码backend/src/main/java/com/petstore/service/AppointmentService.java#createBooking
  • 证据anchored

event:appointment_status_changed

预约状态迁移(new→doingnew→canceldoing→donedoing→cancel)。

  • 触发动作action:start_servicenew→doing)、action:transition_appointment_statusaction:submit_reportdoing→done
  • payloadappointmentIdfromStatustoStatusassignedUserId?
  • 适用规则rule:BR-APPT-001
  • 代码backend/src/main/java/com/petstore/service/AppointmentService.java#startService/#transitionStatusbackend/src/main/java/com/petstore/service/ReportService.java#create(置 done
  • 测试AppointmentServiceTestReportServiceTest#createDoingAppointmentMarksDone
  • 证据anchored

Report 相关

event:report_submitted

报告提交成功,关联预约置 done

  • 触发动作action:submit_report
  • payloadreportIdappointmentIdstoreIdreportToken
  • 适用规则rule:BR-RPT-001rule:BR-RPT-002rule:BR-RPT-004
  • 代码backend/src/main/java/com/petstore/service/ReportService.java#create
  • 测试ReportServiceTest
  • 证据anchored

event:report_opened

报告页首次打开(本地 storage 标记首次)。

  • 触发动作action:track_report_open
  • payloadreportTokenHashSHA-256 前 8 位)、isFirstOpensourcets
  • 适用规则rule:BR-RPT-007token hash 日志)
  • 代码backend/src/main/java/com/petstore/controller/ReportController.java#trackReportOpen
  • 文档docs/本期主线-下一步产品优化点.md 埋点事件 schema
  • 证据anchored(日志埋点已实现;统计落地 documented

event:report_reopened

报告页再次打开(非首次)。

  • 触发动作action:track_report_open
  • payload:同 event:report_openedisFirstOpen=false
  • 证据documentedschema 已冻结,前端 isFirstOpen 判断已实现)

ReportLead 相关

event:lead_submitted

宠主留资提交成功(含重复提交幂等更新)。

  • 触发动作action:submit_lead
  • payloadreportTokenHashstoreIdhasPhonehasPetNamerepeatSubmitts
  • 适用规则rule:BR-LEAD-001
  • 代码backend/src/main/java/com/petstore/controller/ReportLeadController.java#submitReminder
  • 文档docs/本期主线-下一步产品优化点.md 埋点事件 schema
  • 证据documented(埋点 schema 已冻结,事件上报与统计落地 gap

Batch 2 录入事件

Highlight 相关

event:highlight_succeeded

成片生成成功(highlight_video_statusdone)。

  • 触发动作action:generate_highlight(异步回调)
  • payloadreportTokenHashappointmentIddurationSeccomposeModets
  • 适用规则rule:BR-HL-002
  • 代码backend/src/main/java/com/petstore/service/ReportHighlightVideoService.java
  • 文档docs/本期主线-下一步产品优化点.md 埋点事件 schema
  • 证据documentedschema 已冻结;事件上报与统计落地 gap

event:highlight_failed

成片生成失败(highlight_video_statusfailedhighlight_fail_reason 归类)。

  • 触发动作action:generate_highlight(异步回调)
  • payloadreportTokenHashappointmentIdfailReasonmaterial/service/network/unknownts
  • 适用规则rule:BR-HL-002
  • 代码backend/src/main/java/com/petstore/service/ReportHighlightVideoService.java
  • 文档docs/本期主线-下一步产品优化点.md 埋点事件 schema
  • 证据documented

event:video_play

报告页成片点击播放。

  • 触发动作action:track_video_play(前端客户端)
  • payloadreportTokenHashtssource
  • 文档docs/本期主线-下一步产品优化点.md 埋点事件 schema
  • 证据documentedschema 已冻结;上报未实现 gap

event:video_save

报告页成片保存到相册。

  • 触发动作action:track_video_save(前端客户端)
  • payloadreportTokenHashts
  • 文档docs/本期主线-下一步产品优化点.md 埋点事件 schema
  • 证据documentedschema 已冻结;上报未实现 gap

Upload 相关

event:upload_completed

上传图片/视频完成。

  • 触发动作action:upload_image
  • payloadurlmediaTypesizets
  • 代码backend/src/main/java/com/petstore/controller/FileController.java#uploadImage
  • 证据implemented(接口返回 url事件未单独上报

Schedule 相关

event:schedule_block_created

手动占用时段创建成功。

  • 触发动作action:create_schedule_block
  • payloadblockIdstoreIdslotStartblockTypecreatedByUserId
  • 代码backend/src/main/java/com/petstore/service/ScheduleService.java#createBlock
  • 证据anchored

event:schedule_block_deleted

手动占用时段取消。

  • 触发动作action:delete_schedule_block
  • payloadblockIdstoreId
  • 代码backend/src/main/java/com/petstore/service/ScheduleService.java#deleteBlock
  • 证据anchored

ServiceType / Pet / Staff 相关

event:service_type_created

服务类型创建(仅门店自定义)。

  • 触发动作action:create_service_type
  • payloadserviceTypeIdstoreIdname
  • 代码backend/src/main/java/com/petstore/service/ServiceTypeService.java#create
  • 证据anchored

event:service_type_deleted

服务类型删除(仅门店自定义)。

  • 触发动作action:delete_service_type
  • payloadserviceTypeIdstoreId
  • 代码backend/src/main/java/com/petstore/service/ServiceTypeService.java#delete
  • 证据anchored

event:pet_created

宠物档案创建。

  • 触发动作action:create_pet
  • payloadpetIdownerUserIdnamepetType
  • 代码backend/src/main/java/com/petstore/service/PetService.java#create
  • 证据anchored

event:staff_created

老板创建员工。

  • 触发动作action:create_staff
  • payloadstaffIdstoreIdnamephone
  • 代码backend/src/main/java/com/petstore/service/UserService.java#createStaff
  • 证据anchored

event:user_updated

当前登录用户信息更新(头像/姓名/手机号)。

  • 触发动作action:update_user
  • payloaduserIdupdatedFields
  • 代码backend/src/main/java/com/petstore/service/UserService.java#updateUser
  • 证据anchored

event:testimonial_saved

宠主寄语已保存(一报告一寄语,重复提交为更新)。

  • 触发动作action:submit_testimonial
  • payloadreportTokenHashtestimonialIdisPublicts
  • 适用规则rule:BR-TST-001
  • 代码backend/src/main/java/com/petstore/service/ReportTestimonialService.java
  • 证据documented(写库已实现;独立事件上报/统计未落地)

event:session_revoked

会话吊销(服务端 logout

  • 触发动作action:logout
  • payloaduserIdts
  • 证据gap(当前无服务端吊销实现)

event:workbench_viewed

门店后台工作台已打开(可选埋点)。

  • 触发动作action:view_workbench
  • payloadstoreIduserIdts
  • 证据gapA 期可不实现上报)