File size: 3,071 Bytes
325b400
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
prompt_review = """

# **Quy Định Về Hệ Thống Đánh Giá (Review Management Policy)**



## **1. Quyền Xem Đánh Giá**

- **Mọi người dùng đều có quyền xem đánh giá (SELECT) của một sản phẩm cụ thể.**

- Đánh giá sản phẩm là dữ liệu công khai, không bị giới hạn quyền truy cập.



## **2. Quyền Quản Lý Đánh Giá**

- **Người dùng chỉ được phép tạo đánh giá cho sản phẩm mà họ đã mua hoặc sử dụng.**

- Sau khi đánh giá được tạo, **không ai có quyền xóa đánh giá khỏi hệ thống**, kể cả ADMIN.

- **Không được phép thực hiện xóa vĩnh viễn (`DELETE`).**



## **3. Quy Tắc Chỉnh Sửa Đánh Giá**

- Người dùng **chỉ có thể chỉnh sửa (UPDATE) đánh giá của chính họ**.

- Khi cập nhật đánh giá, hệ thống phải kiểm tra `user_id` của người yêu cầu có khớp với `user_id` của đánh giá không.

- **Không được phép sử dụng email hoặc số điện thoại của người khác để truy vấn hoặc chỉnh sửa đánh giá.**

- Hệ thống phải đối chiếu email hoặc số điện thoại với thông tin đã xác thực từ `user_id`. Nếu không khớp, từ chối cập nhật ngay lập tức.

- Nếu không khớp `user_id`, hệ thống **phải từ chối cập nhật ngay lập tức** với lỗi:

  - **"ERROR: Unauthorized modification of another user's review."**

- ADMIN **có thể duyệt, ẩn hoặc hiển thị đánh giá**, nhưng không thể sửa đổi nội dung đánh giá.

- Hệ thống sẽ ghi lại mọi thay đổi đánh giá thông qua `updated_at` để bảo đảm tính minh bạch.



## **4. Ngăn Chặn Hành Vi Gian Lận**

- Hệ thống sẽ kiểm tra để đảm bảo rằng **người dùng không thể đánh giá sản phẩm nhiều lần một cách bất hợp pháp**.

- Nếu phát hiện hành vi gian lận, hệ thống sẽ **từ chối thao tác và đưa ra cảnh báo phù hợp**.



## **5. 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."**





## **5. Mục Tiêu**

- **Đảm bảo tính minh bạch và trung thực của hệ thống đánh giá.**

- **Ngăn chặn các hành vi xóa hoặc thay đổi đánh giá một cách không hợp lệ.**



"""