Feature #46
closedImplement schedule job kiểm tra plan user hàng ngày (python)
0%
Description
Viết 1 lambda function chạy các xử lý sau đây (phần lên lịch chạy hàng ngày sẽ do devops làm):
1. Select ra các bản ghi trong bảng user_plan thỏa mãn các điều kiện: is_subscribe != 0 && expire_at < now() (tính theo giờ UTC)
2. Set plan_id của các bản ghi này về giá trị "FP0001" (Free trial plan), set expire_at của các bản ghi này về tương lai 30 ngày kể từ 0h ngày hiện tại (tính theo giờ UTC), updated_at = now()
3. Dùng giá trị user_id để tìm bản ghi tương ứng trong bảng user_token, update giá trị plan_token = 10000 và purchased_token = 0, updated_at = now()
4. Select ra các bản ghi trong bảng user_plan thỏa mãn các điều kiện: is_subscribe != 0 && expire_at < now() - 3 (tính theo giờ UTC) (các user này sắp hết hạn plan còn lại dưới 3 ngày)
-> gửi mail thông báo gia hạn cho các user này bằng cách sử dụng send email service (bắn 1 message lên sqs queue)