| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- # 2026/02/27 档案管理模块
- # ============================
- # 用户档案表
- # ============================
- CREATE TABLE `pet_system`.`usr_customer`
- (
- `id` bigint PRIMARY KEY NOT NULL COMMENT '主键ID',
- `open_id` varchar(100) COMMENT '微信OpenID',
- `nickname` varchar(50) COMMENT '昵称',
- `name` varchar(50) COMMENT '真实姓名',
- `gender` tinyint DEFAULT 0 COMMENT '性别 (0:男, 1:女, 2:未知)',
- `phone` varchar(20) COMMENT '手机号',
- `avatar` bigint COMMENT '头像',
- `area_id` bigint COMMENT '常驻区域ID',
- `station_id` bigint COMMENT '所属站点ID',
- `region_code` varchar(20) COMMENT '省市区编码',
- `address` varchar(255) COMMENT '详细住址',
- `house_type` varchar(20) DEFAULT 'elevator' COMMENT '房屋类型 (stairs:楼梯, elevator:电梯)',
- `entry_method` varchar(20) DEFAULT 'password' COMMENT '入门方式 (password:密码, key:钥匙)',
- `entry_password` varchar(50) COMMENT '开门密码',
- `key_location` varchar(100) COMMENT '钥匙位置',
- `source` varchar(50) COMMENT '来源渠道',
- `pet_count` int DEFAULT 0 COMMENT '宠物数量',
- `points` int DEFAULT 0 COMMENT '积分',
- `balance` bigint DEFAULT 0 COMMENT '余额(分)',
- `order_count` int DEFAULT 0 COMMENT '下单次数',
- `total_consume` bigint DEFAULT 0 COMMENT '总消费额(分)',
- `status` tinyint DEFAULT 0 COMMENT '状态 (0:正常, 1:冻结)',
- `remark` varchar(500) COMMENT '后台备注',
- `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
- `create_dept` bigint(20) COMMENT '创建部门',
- `create_by` bigint(20) COMMENT '创建者',
- `create_time` datetime COMMENT '创建时间',
- `update_by` bigint(20) COMMENT '更新者',
- `update_time` datetime COMMENT '更新时间'
- ) ENGINE = innoDB COMMENT = 'C端用户表';
- # ============================
- # 宠物档案表
- # ============================
- CREATE TABLE `pet_system`.`usr_pet`
- (
- `id` bigint PRIMARY KEY NOT NULL COMMENT '主键ID',
- `user_id` bigint NOT NULL COMMENT '所属用户ID',
- `name` varchar(50) NOT NULL COMMENT '宠物昵称',
- `avatar` bigint COMMENT '头像',
- `type` tinyint DEFAULT 1 COMMENT '类型 (1:猫, 2:狗, 3:其他)',
- `breed` varchar(50) COMMENT '品种',
- `gender` tinyint DEFAULT 1 COMMENT '性别 (1:公, 2:母)',
- `birthday` date COMMENT '出生日期',
- `age` int DEFAULT 0 COMMENT '年龄(岁)',
- `weight` decimal(5, 2) DEFAULT 0.00 COMMENT '体重(kg)',
- `size` varchar(20) DEFAULT 'small' COMMENT '体型 (small:小型, medium:中型, large:大型)',
- `is_sterilized` tinyint DEFAULT 0 COMMENT '是否绝育 (0:否, 1:是)',
- `arrival_time` date COMMENT '到家时间',
- `house_type` varchar(20) COMMENT '家庭房屋类型',
- `entry_method` varchar(20) COMMENT '入门方式',
- `entry_password` varchar(50) COMMENT '开门密码',
- `key_location` varchar(100) COMMENT '钥匙位置',
- `personality` varchar(255) COMMENT '性格关键词',
- `cute_personality` text COMMENT '萌宠性格描述',
- `health_status` varchar(50) DEFAULT '健康' COMMENT '健康状况',
- `aggression` tinyint DEFAULT 0 COMMENT '是否有攻击倾向 (0:否, 1:是)',
- `vaccine_status` varchar(50) COMMENT '疫苗状态',
- `vaccine_cert` bigint COMMENT '疫苗凭证图片',
- `medical_history` text COMMENT '既往病史',
- `allergies` text COMMENT '过敏史',
- `remark` varchar(500) COMMENT '特别备注',
- `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
- `create_dept` bigint(20) COMMENT '创建部门',
- `create_by` bigint(20) COMMENT '创建者',
- `create_time` datetime COMMENT '创建时间',
- `update_by` bigint(20) COMMENT '更新者',
- `update_time` datetime COMMENT '更新时间'
- ) ENGINE = innoDB COMMENT = '宠物档案表';
- # ============================
- # 标签定义表
- # ============================
- CREATE TABLE `pet_system`.`sys_tag`
- (
- `id` bigint PRIMARY KEY NOT NULL COMMENT '主键ID',
- `name` varchar(50) NOT NULL COMMENT '标签名称',
- `category` varchar(20) NOT NULL COMMENT '分类 (user:用户, pet:宠物, fulfiller:履约者)',
- `color_type` varchar(20) DEFAULT 'info' COMMENT '颜色样式 (primary, success, warning, danger, info)',
- `description` varchar(255) COMMENT '标签说明',
- `type` tinyint DEFAULT 2 COMMENT '类型 (1:系统内置, 2:自定义)',
- `status` tinyint DEFAULT 0 COMMENT '状态 (0:启用, 1:停用)',
- `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
- `create_dept` bigint(20) COMMENT '创建部门',
- `create_by` bigint(20) COMMENT '创建者',
- `create_time` datetime COMMENT '创建时间',
- `update_by` bigint(20) COMMENT '更新者',
- `update_time` datetime COMMENT '更新时间'
- ) ENGINE = innoDB COMMENT = '标签定义表';
- # ============================
- # 标签关联表
- # ============================
- CREATE TABLE `pet_system`.`sys_tag_rel`
- (
- `id` bigint PRIMARY KEY NOT NULL COMMENT '主键ID',
- `tag_id` bigint NOT NULL COMMENT '标签ID',
- `target_id` bigint NOT NULL COMMENT '目标对象ID',
- `target_type` varchar(20) NOT NULL COMMENT '目标类型 (user:用户, pet:宠物, fulfiller:履约者)',
- UNIQUE KEY `uk_tag_target` (`tag_id`, `target_id`, `target_type`)
- ) ENGINE = innoDB COMMENT = '标签关联表';
- # ============================
- # 档案变更日志表
- # ============================
- CREATE TABLE `pet_system`.`arc_change_log`
- (
- `id` bigint PRIMARY KEY NOT NULL COMMENT '主键ID',
- `target_id` bigint NOT NULL COMMENT '目标对象ID',
- `target_type` varchar(20) NOT NULL COMMENT '目标类型 (user:用户, pet:宠物)',
- `content` varchar(500) COMMENT '日志内容',
- `log_type` varchar(20) DEFAULT 'remark' COMMENT '日志类型 (remark:备注, system:系统, change:变更)',
- `operator_id` bigint COMMENT '操作人ID',
- `operator_name` varchar(50) COMMENT '操作人名称',
- `create_time` datetime COMMENT '创建时间',
- KEY `idx_target` (`target_id`, `target_type`)
- ) ENGINE = innoDB COMMENT = '档案变更日志表';
|