/* Navicat Premium Data Transfer Source Server : 118.89.113.119-db Source Server Type : MySQL Source Server Version : 50744 (5.7.44-log) Source Host : 118.89.113.119:3306 Source Schema : shop_msh Target Server Type : MySQL Target Server Version : 50744 (5.7.44-log) File Encoding : 65001 Date: 16/01/2026 11:04:57 */ SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for eb_user_sign -- ---------------------------- DROP TABLE IF EXISTS `eb_user_sign`; CREATE TABLE `eb_user_sign` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uid` int(11) NOT NULL DEFAULT '0' COMMENT '用户uid', `title` varchar(255) NOT NULL DEFAULT '' COMMENT '签到说明', `number` int(11) NOT NULL DEFAULT '0' COMMENT '获得', `balance` int(11) NOT NULL DEFAULT '0' COMMENT '剩余', `type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '类型,1积分,2经验', `plan_id` bigint(20) DEFAULT NULL COMMENT '关联的营养计划ID', `meal_type` varchar(20) DEFAULT NULL COMMENT '餐次:breakfast(早餐)/lunch(午餐)/dinner(晚餐)/snack(加餐),打卡时必填', `photos_json` text COMMENT '饮食照片URL数组(1-3张),JSON格式', `notes` text COMMENT '备注说明(支持语音转文字)', `voice_url` varchar(500) DEFAULT NULL COMMENT '语音备注原始文件URL', `ai_recognized_foods_json` text COMMENT 'AI识别的食物列表,JSON格式:[{name, weight, unit, confidence}]', `ai_recognition_status` varchar(20) DEFAULT 'pending' COMMENT 'AI识别状态:pending(待识别)/success(成功)/failed(失败)', `ai_recognition_time` timestamp NULL DEFAULT NULL COMMENT 'AI识别完成时间', `is_manually_corrected` tinyint(1) DEFAULT '0' COMMENT '用户是否手动修正了AI识别结果:0=否,1=是', `recommended_dishes_json` text COMMENT '推荐菜品(来自营养计划),JSON格式', `actual_dishes_json` text COMMENT '实际食用(由AI识别结果生成),JSON格式', `actual_protein` decimal(5,1) DEFAULT NULL COMMENT '实际蛋白质摄入(g)', `actual_energy` int(11) DEFAULT NULL COMMENT '实际能量摄入(kcal)', `actual_potassium` int(11) DEFAULT NULL COMMENT '实际钾摄入(mg)', `actual_phosphorus` int(11) DEFAULT NULL COMMENT '实际磷摄入(mg)', `actual_sodium` int(11) DEFAULT NULL COMMENT '实际钠摄入(mg)', `target_protein` decimal(5,1) DEFAULT NULL COMMENT '目标蛋白质摄入(g)', `target_energy` int(11) DEFAULT NULL COMMENT '目标能量摄入(kcal)', `compliance_rate` int(11) DEFAULT NULL COMMENT '整体达标率(%)', `report_id` varchar(50) DEFAULT NULL COMMENT '报告编号,如:R20251120081501', `report_pdf_url` varchar(500) DEFAULT NULL COMMENT 'PDF报告下载链接', `report_generated_at` timestamp NULL DEFAULT NULL COMMENT '报告生成时间', `report_download_count` int(11) DEFAULT '0' COMMENT '报告下载次数', `report_share_count` int(11) DEFAULT '0' COMMENT '报告分享次数', `ai_comments_json` text COMMENT 'AI生成的点评,JSON格式:{strengths:[], suggestions:[], next_meal_advice:""}', `nutrition_score` int(11) DEFAULT NULL COMMENT '营养评分(0-100)', `copied_from_sign_id` int(11) DEFAULT NULL COMMENT '复制自哪条签到记录ID(关联eb_user_sign.id)', `is_copied` tinyint(1) DEFAULT '0' COMMENT '是否为复制的打卡:0=否,1=是', `create_day` date NOT NULL COMMENT '签到日期', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '添加时间', `task_id` varchar(255) DEFAULT NULL COMMENT '任务id', `enableAIVideo` tinyint(4) DEFAULT NULL COMMENT 'AI生成视频开关标记:0=否,1=是', `enableAIAnalysis` tinyint(4) DEFAULT NULL COMMENT 'AI分析开关标记:0=否,1=是', PRIMARY KEY (`id`) USING BTREE, UNIQUE KEY `uk_uid_date_meal` (`uid`,`create_day`,`meal_type`,`type`), KEY `uid` (`uid`,`type`) USING BTREE, KEY `idx_plan_id` (`plan_id`), KEY `idx_meal_type` (`meal_type`), KEY `idx_report_id` (`report_id`), KEY `idx_nutrition_score` (`nutrition_score`), KEY `idx_copied_from` (`copied_from_sign_id`) ) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='签到记录表'; SET FOREIGN_KEY_CHECKS = 1;