Skip to content

US-E03: Chia sẻ kết quả retry (copy gửi dev, mở Check luồng) ​

Thuộc FS: 00-overview.md — SAPP-20603 eContract (Retry · Check luồng · Thống kê lỗi) Phần chung (tổng quan, roles, flow tổng, related features, NFR, Open Questions, References) xem ở Overview. File này chỉ chứa nội dung riêng của US.

FieldValue
US IDUS-E03
Role thực hiệnR1 - Người dùng tool (Assumption (OQ về G-01) — OQ-E-04)
PhaseĐã triển khai (as-built @ e77c47a) — sub-tool sapp.005 Retry econtract
PriorityN/A — as-built
StatusDraft
NFR liên quanNFR-E-01, NFR-E-02 — xem Overview §5
OQ liên quanOQ-E-04, OQ-E-05, OQ-E-12 — xem Overview §6

1. US Statement ​

text
As a Người dùng tool  [Assumption (OQ về G-01)]
I want copy tóm tắt tình trạng flow process của deal để gửi developer khi không tự xử lý được,
       và mở nhanh màn Check luồng khi retry đã thành công
So that [Assumption — OQ-E-12] developer có đủ thông tin để điều tra mà tôi không phải chép tay,
       và tôi xem được toàn bộ luồng hợp đồng sau khi chạy lại

2. Dependencies & Definition Of Ready ​

N/A — đã triển khai. Dependency runtime: đang ở một lượt của US-E01 / US-E02 trên màn Retry econtract; trình duyệt cho phép ghi clipboard.

#Cần sẵn sàngAi cung cấpTrạng thái
D1Lượt kiểm tra / retry đang có trên màn (US-E01, US-E02)-Trong màn
D2Tool sapp.012 truy cập được để mở Check luồng — US-P02Admin CMSRuntime

3. Business Rules ​

IDRuleÁp dụng ởĐã cover bởi (AC)Nguồn code (Mode B/C)
BR-01Ghi chú "Cần liên hệ developer để kiểm tra kỹ hơn. Bấm “Copy thông tin gửi dev” để gửi kèm." và nút copy chỉ hiện khi: dừng ở bước 1, hoặc đã ≥ 2 lượt liên tiếp "Chưa chạy"M1 - vùng ghi chúAC-M1.1, AC-M1.2, EC-M1.1fe/src/ui/components/works/sapp/retry-econtract-tool.tsx:145-146 · :520 · :682-704
BR-02Nội dung copy gồm: Deal: <id>; Lý do: <lý do dừng ở bước 1> hoặc "Sau N lượt chờ cron vẫn chưa chạy."; mỗi flow process 1 dòng - tên · status · retry=N · reprocess=N · cập nhật <giờ>. Dùng dữ liệu đọc lại gần nhất nếu có, không thì dữ liệu bước 1M1 - action A1AC-M1.3retry-econtract-tool.tsx:464-482
BR-03Chỉ copy vào clipboard dạng text — không tạo file; nút đổi thành "Đã copy" trong 1,5 giâyM1 - action A1AC-M1.3retry-econtract-tool.tsx:476-481 · :701
BR-04Chỉ khi kết quả retry là SUCCESS mới có link "Xem chi tiết ở Check luồng econtract"; link mở màn Check luồng cùng tab với ?dealId= (được mã hoá), màn đó tự chạy tra cứu 1 lầnM1 - action A2AC-M1.4retry-econtract-tool.tsx:662-668 · fe/src/ui/components/works/sapp/econtract-timeline-tool.tsx:636-648

4. Design &ZeroWidthSpace;

a. Mối liên hệ giữa các màn & User Flow &ZeroWidthSpace;

text
[US-E01 Dừng ở bước 1]  ─┐
[US-E02 ≥ 2 lượt "Chưa chạy"] ─┴→ [M1: ghi chú liên hệ dev] → "Copy thông tin gửi dev" → clipboard → (gửi dev ngoài hệ thống)
[US-E02 kết quả SUCCESS] → "Xem chi tiết ở Check luồng econtract" → [US-E04 Check luồng, tự tra cứu]

b. Chi tiết từng màn &ZeroWidthSpace;

Màn M1 - Vùng chia sẻ trên màn Retry econtract &ZeroWidthSpace;

FieldValue
Figma frameN/A
Trigger vào mànTự hiện theo BR-01 / BR-04 trong lượt kiểm tra / retry
Mô tả ngắnKhung cảnh báo vàng có ghi chú liên hệ dev + nút copy; hoặc link sang Check luồng trong vùng kết quả SUCCESS
UI States &ZeroWidthSpace;
StateKhi nàoHiển thịFigma frame
DefaultBR-01 thoảGhi chú liên hệ developer + nút "Copy thông tin gửi dev"N/A
LoadingN/A — copy là thao tác tức thì, không gọi API-N/A
Has dataVừa copyNút đổi "Đã copy" (1,5 giây)N/A
EmptyBR-01 không thoảKhông có khung ghi chúN/A
ErrorN/A — không có thông báo lỗi riêng khi copy thất bại-N/A
DisabledN/A — nút không bị khoá-N/A
Fields &ZeroWidthSpace;
FieldRequiredTypeDefaultFormatValidationError MessageVisibilityDepends On
(nội dung copy)-Text nhiều dòng-Theo BR-02--Không hiển thị trên màn, chỉ vào clipboardDữ liệu đọc gần nhất
Filter / Search / Sort (chỉ màn List/Report — xóa nếu không phải) &ZeroWidthSpace;

N/A — không phải màn danh sách.

Actions &ZeroWidthSpace;
A1 - Copy thông tin gửi dev &ZeroWidthSpace;
ItemDescription
TriggerBấm "Copy thông tin gửi dev"
BehaviorDựng text theo BR-02, ghi vào clipboard trình duyệt (không ghi hệ thống nào, không tạo file — NFR-E-02)
Success ResultNút hiện "Đã copy" 1,5 giây

Error cases:

CaseExpected Handling
Trình duyệt chặn clipboardKhông có thông báo lỗi riêng (nút vẫn đổi "Đã copy") — hành vi của thư viện copy, chưa kiểm chứng khi chạy
A2 - Xem chi tiết ở Check luồng econtract &ZeroWidthSpace;
ItemDescription
TriggerBấm link khi kết quả SUCCESS
BehaviorĐiều hướng cùng tab tới /works/sapp/tools/econtract-timeline?dealId=<id>; màn đích điền và tự tra cứu (chỉ đọc)
Success ResultMàn Check luồng hiển thị timeline của deal (US-E04)

Error cases:

CaseExpected Handling
Tool sapp.012 đang khoáXử lý theo US-P02
Acceptance Criteria của màn M1 &ZeroWidthSpace;
AC-M1.1 - Ghi chú khi dừng ở bước 1 &ZeroWidthSpace;
gherkin
Given lượt kiểm tra deal D kết luận Dừng ở bước 1
When màn hiển thị kết luận
Then hiện ghi chú "Cần liên hệ developer để kiểm tra kỹ hơn…" và nút "Copy thông tin gửi dev"

Maps to:

  • Business Rule: BR-01
AC-M1.2 - Ghi chú sau 2 lượt Chưa chạy &ZeroWidthSpace;
gherkin
Given lượt chờ cron thứ nhất và thứ hai liên tiếp đều cho kết quả "Chưa chạy"
When kết quả lượt thứ hai hiện ra
Then hiện ghi chú liên hệ developer và nút copy
And ở lượt thứ nhất ghi chú chưa hiện

Maps to:

  • Business Rule: BR-01
AC-M1.3 - Nội dung copy &ZeroWidthSpace;
gherkin
Given deal 123 dừng ở bước 1 vì "Không tìm thấy flow process nào cho deal này."
When người dùng bấm "Copy thông tin gửi dev"
Then clipboard chứa "Deal: 123" và "Lý do: Không tìm thấy flow process nào cho deal này."
And không có file nào được tạo
And nút hiện "Đã copy" rồi trở lại sau 1,5 giây

Maps to:

  • Business Rule: BR-02, BR-03
  • Field/Action: A1
AC-M1.4 - Mở Check luồng khi SUCCESS &ZeroWidthSpace;
gherkin
Given kết quả retry của deal 123 là SUCCESS
When người dùng bấm "Xem chi tiết ở Check luồng econtract"
Then trình duyệt mở …/econtract-timeline?dealId=123 trong cùng tab
And màn Check luồng tự tra cứu deal 123

Maps to:

  • Business Rule: BR-04
  • Field/Action: A2
Negative AC / Edge Cases của màn M1 &ZeroWidthSpace;
IDTình huốngHành vi mong đợi
EC-M1.1Kết quả "Vẫn FAIL" ở lượt đầuHành vi hiện tại: không hiện ghi chú liên hệ dev (BR-01 chỉ tính dừng ở bước 1 và "Chưa chạy"); người dùng Kiểm tra lại
EC-M1.2Lý do khi không dừng ở bước 1Luôn là "Sau N lượt chờ cron vẫn chưa chạy." (N = số lượt "Chưa chạy" liên tiếp)
EC-M1.3⚠️ Observed — giờ "cập nhật" trong nội dung copyCó thể lệch múi giờ như US-E01 EC-M1.4 (OQ-E-05)
EC-M1.4Nội dung copy có chứa dữ liệu khách hàng?Không — chỉ deal id, tên flow, trạng thái, bộ đếm, giờ cập nhật (BR-02)

5. Cross-feature AC &ZeroWidthSpace;

AC-X.1 - Mở màn đích khi tool Check luồng bị khoá &ZeroWidthSpace;

gherkin
Given tool sapp.012 đang khoá trên hub
When người dùng bấm "Xem chi tiết ở Check luồng econtract"
Then FE xử lý truy cập theo US-P02

Maps to:

  • REL-01 (Affects - Hub & khoá tool)