# revenue_tracker.py - Tracks clicks and affiliate earnings from robot apps import logging from collections import defaultdict logging.basicConfig(level=logging.INFO) # Simulated database: user_id -> list of (app_title, clicks, revenue) USER_REVENUE = defaultdict(list) class RevenueTracker: def __init__(self): self.revenue_data = USER_REVENUE def log_affiliate_click(self, user_id: str, app_title: str, earning: float = 0.30): found = False for app in self.revenue_data[user_id]: if app[0] == app_title: app[1] += 1 app[2] += earning found = True break if not found: self.revenue_data[user_id].append([app_title, 1, earning]) logging.info(f"[💰] Click tracked: {user_id} - {app_title} +${earning:.2f}") def get_user_earnings(self, user_id: str): return [ {"title": a[0], "clicks": a[1], "revenue": a[2]} for a in self.revenue_data.get(user_id, []) ] # Example usage if __name__ == "__main__": tracker = RevenueTracker() tracker.log_affiliate_click("user_001", "WaveBot") tracker.log_affiliate_click("user_001", "WaveBot") tracker.log_affiliate_click("user_001", "EduHelper", 0.45) print(tracker.get_user_earnings("user_001"))