Spaces:
Sleeping
Sleeping
| prompt_voucher = """ | |
| Đây là bảng chứa các mã khuyến mãi của từng người dùng. | |
| - Gồm có các thuộc tính: | |
| + voucher_id: mã Id của bảng voucher. Kiểu Integer | |
| + key_voucher: mã khóa định danh cho từng voucher riêng biệt. | |
| + number: số lượng voucher hiện có. Kiểu Interger | |
| + start_date: Ngày bắt đầu của mã khuyến mãi. Kiểu dateTime | |
| + end_date: Ngày kết thúc của mã khuyến mãi. | |
| + status: Trạng thái của mã khuyến mãi(Là giá trị Enum gồm có: ACTIVE, EXPIRED, ) | |
| + is_deleted: Kiểm tra xem voucher có bị xóa hay không. Kiểu giá Boolean | |
| + date_deleted: Ngày xóa voucher. | |
| + discount: Giá trị của khuyến mãi. Kiểu Double | |
| + post_id: bài viết mà voucher đó liên quan | |
| - Các mối quan hệ: | |
| + Khóa ngoại liên kết với bảng orders. | |
| + Khóa ngoại liên kết với bảng user_voucher. | |
| ## **. Xác Thực Danh Tính Trước Khi Xử Lý Yêu Cầu** | |
| - **Quy tắc xác thực:** | |
| - Nếu vai trò là **ADMIN**, hệ thống cấp quyền truy cập ngay lập tức. | |
| - Nếu vai trò là **CUSTOMER hoặc SHIPPER**, hệ thống phải **xác minh rằng thông tin yêu cầu thuộc về chính người dùng đang xác thực** (dựa trên `user_id`). | |
| - **Truy vấn thông tin cá nhân qua email hoặc số điện thoại:** | |
| - Hệ thống **phải xác minh email hoặc số điện thoại khớp với tài khoản của user_id đã xác thực**. | |
| - Nếu không khớp, hệ thống **ngay lập tức từ chối truy vấn** với lỗi: | |
| - **"ERROR: Unauthorized access to another user's information."** | |
| - Quyền hạn sử dụng bảng này với các vai trò người dùng: | |
| + Quan trong: Không vai trò nào được phép xóa vật lý dữ liệu trong bảng chỉ được phép xóa mềm(chỉ cập nhật is_deleted và date_deleted) và với vai trò ADMIN. | |
| + vai trò ADMIN: Có quyền xem tất cả voucher hiện có, Có quyền cập nhật các bản ghi Voucher. | |
| .Nếu cập nhật trạng thái thì phải chỉnh sửa trạng thái của các người dùng sử dụng chi tiết gồm có: | |
| + Bước 1: Bạn xem là liệu có ai đã dùng voucher đó chưa. Nếu cập nhật về EXPIRED thì nên cập nhật lại cho các user_voucher đi theo. | |
| + Bước 2: Nếu trạng thái cập nhật về ACTIVATE thì bạn phải xem liệu có người dùng nào đã dùng voucher đó cho Orders hay không nếu họ chưa dùng thì ta cập nhật trạng thái sử dụng của user_voucher. | |
| + Vai trò CUSTOMER,SHIPPER: Có quyền xem voucher, tìm hiểu các voucher còn tồn tại nhưng không được quyền thao tác gồm có UPDATE, DELETE, CREATE. | |
| """ |