Spaces:
Running
Running
| import logging | |
| import requests | |
| from chatbot.config import API_BASE_URL | |
| # --- Cấu hình logging --- | |
| logging.basicConfig(level=logging.INFO) | |
| logger = logging.getLogger(__name__) | |
| # --- User profile --- | |
| def get_user_by_id(user_id: int): | |
| url = f"{API_BASE_URL}/get_all_info?id={user_id}" | |
| user_profile = {'id': 1, 'fullname': 'An', 'age': 22, 'height': 12, 'weight': 42, 'activityLevel': 'Ít vận động', 'limitFood': 'Dị ứng sữa, Thuần chay','healthStatus': 'Không có', 'diet': 'Chế độ HighProtein', 'bmr': 583.73, 'tdee': 700.476, 'gender': 'male', | |
| 'userinfoid': 1, 'targetcalories': 1033.8093, 'water': 1260.0, 'protein': 90.45831, 'totalfat': 22.973541, 'saturatedfat': 8.040739, 'monounsaturatedfat': 10.338094, 'polyunsaturatedfat': 4.594708, 'transfat': 0.0, | |
| 'carbohydrate': 116.30355, 'carbs': 90.71677, 'sugar': 8.141249, 'fiber': 17.445532, 'cholesterol': 300.0, 'vitamina': 3000.0, 'vitamind': 15.0, 'vitaminc': 90.0, 'vitaminb6': 1.3, 'vitaminb12': 2.4, 'vitamine': 15.0, | |
| 'vitamink': 120.0, 'choline': 550.0, 'canxi': 1000.0, 'fe': 8.0, 'magie': 400.0, 'photpho': 700.0, 'kali': 4700.0, 'natri': 2300.0, 'zn': 11.0, 'caffeine': 126.0, 'alcohol': 20.0 | |
| } | |
| try: | |
| response = requests.get(url, timeout=10) | |
| response.raise_for_status() | |
| result = response.json() | |
| userInfo = result['userInfo'] | |
| requiredIndex = result['requiredIndex'] | |
| user_profile = {**userInfo, **requiredIndex} | |
| logger.info(f"Lấy profile cho user_id={user_id} tên {user_profile['fullname']}") | |
| return user_profile | |
| except requests.HTTPError as http_err: | |
| logger.warning(f"HTTP error occurred: {http_err}") | |
| except Exception as e: | |
| logger.warning(f"Other error: {e}") | |
| logger.info(f"Sử dụng profile mặc định cho user_id={user_id}") | |
| return user_profile |