# PR: Thêm tính năng hủy đơn hàng (cancel order) Diff thêm vào cuối `src/services/orderService.js`: ```diff @@ src/services/orderService.js @@ +function toMoney(n) { // hàm format tiền tự viết + return n.toLocaleString('vi-VN') + ' đ'; +} + +export async function cancelOrder(id) { + const order = await getOrder(id); + order.status = 'cancelled'; // cập nhật trạng thái + await db.orders.save(order); + return `Đã hủy đơn. Hoàn ${toMoney(order.total)}`; +} ``` ## Hai lỗi được cài (đáp án cho người trình bày — KHÔNG chiếu) 1. **Lỗi business:** `cancelOrder` không kiểm tra `order.status` → hủy được cả đơn đã `shipped`, vi phạm rule trong CLAUDE.md. Chỉ phát hiện được nếu AI đọc business rule. 2. **Lỗi maintainability:** `toMoney()` trùng chức năng `formatCurrency()` đã có ở `src/lib/format.js`.