def manual_sign_in_content(account_id, current_date): """ Update user status and generate manual check-in message. :param account_id: user account id :param current_date: current date by local time. :return: message content list """ content = get_status_by_user(account_id, current_date) if content is not None: status = content[0] process = content[1] if process is not None: return [invalid_message()] if status == "wait_in" or status == "in_done": delete_status_by_user_date(account_id, current_date) yield asyncio.sleep(1) insert_replace_status_by_user_date(account_id, current_date, "wait_in") return manual_sign_in_message()
def confirm_in(account_id, current_date, create_time, callback): """ This function is triggered when the user clicks confirm check-in. Update user's input reminder status, progress. :param account_id: user account id. :param current_date: current date by local time. :param create_time: Time the request arrived at the server. :param callback: User triggered callback. :return: None """ content = yield deal_confirm_in(account_id, create_time, callback) yield push_message(account_id, content) insert_replace_status_by_user_date(account_id, current_date, status="in_done", process="sign_in_done")