948 B
948 B
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:
@@ 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)
- Lỗi business:
cancelOrderkhông kiểm traorder.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. - Lỗi maintainability:
toMoney()trùng chức năngformatCurrency()đã có ởsrc/lib/format.js.