quote_bids 狀態變動
目的
這裡整理 quote_bids 的狀態流與資料表關聯,讓新手工程師能快速理解「一筆報價」從建立、展示、聯絡、扣款、訊息到 activity / queue 的變化。
quote_bids 不是單純的報價資料表。它同時連到:
quote_requests:案件與消費者。quote_services:專家服務。users:requestor / provider。transactions:扣款與付款紀錄。messages/message_contents:聊天室訊息。quote_activities:案件活動紀錄。task_event_queue/task_event_queue_log:非同步統計、簡訊、badge。
建議閱讀順序
- 狀態欄位總覽
- 流程/search_add
- 流程/want_to_contact_provider
- 流程/consumer_want_provider_quote
- 流程/provider_accept_narrow_match
- 欄位/is_want_to_contact_provider
- 欄位/narrow_status_id
- 欄位/quote_user_subscription_log_id
- 欄位/報價內容欄位
核心觀念
一筆 quote_bids 通常不是「一次 API 呼叫就完成所有狀態」。常見流程是:
search_add 建立 quote_request
-> 系統配對 provider
-> 建立 quote_bids
-> consumer 看見 quote card
-> consumer 聯絡 provider
-> quote_bids.is_want_to_contact_provider = 1
-> 扣款 / transaction / activity / queue因此排查時不要只看 quote_bids。至少要一起看:
quote_requeststransactionsmessagesquote_activitiestask_event_queue/task_event_queue_log- monolog table
文件擴充原則
新增狀態或流程時,優先補在:
流程/:描述一段流程對quote_bids的影響;完整 business flow 放在 業務流程。欄位/:描述單一欄位的意義、可被哪些流程修改、如何驗證。案例/:放實測資料、curl、SQL、response。
不要把所有細節塞進同一篇,否則後續會很難維護。