# 云南智慧牛产业平台 - 数据库设计文档 ## 1. 设计规范 - **数据库引擎**: MySQL 8.0 InnoDB - **字符集**: utf8mb4_general_ci - **命名规范**: 小写下划线命名法 (snake_case) - **主键策略**: 分布式雪花算法 ID (BIGINT) ## 2. 核心表结构 ### 2.1 用户中心 #### 用户表 (`sys_user`) | 字段名 | 类型 | 长度 | 说明 | | :--- | :--- | :--- | :--- | | id | BIGINT | 20 | 主键ID | | username | VARCHAR | 50 | 用户名 | | password | VARCHAR | 100 | 密码(BCrypt) | | phone | VARCHAR | 20 | 手机号 | | user_type | TINYINT | 4 | 用户类型(1:养殖户 2:交易商 3:监管员 4:银行) | | status | TINYINT | 4 | 状态(0:禁用 1:正常) | | create_time | DATETIME | | 创建时间 | #### 企业/牧场表 (`sys_farm`) | 字段名 | 类型 | 长度 | 说明 | | :--- | :--- | :--- | :--- | | id | BIGINT | 20 | 主键ID | | user_id | BIGINT | 20 | 关联用户ID | | farm_name | VARCHAR | 100 | 牧场名称 | | address | VARCHAR | 200 | 详细地址 | | license_no | VARCHAR | 50 | 防疫合格证号 | | scale | INT | 11 | 养殖规模 | ### 2.2 智慧养殖 #### 牛只档案表 (`biz_cattle`) | 字段名 | 类型 | 长度 | 说明 | | :--- | :--- | :--- | :--- | | id | BIGINT | 20 | 主键ID | | farm_id | BIGINT | 20 | 所属牧场ID | | ear_tag | VARCHAR | 50 | 耳标号(唯一) | | breed | VARCHAR | 50 | 品种 | | gender | TINYINT | 4 | 性别(1:公 2:母) | | birth_date | DATE | | 出生日期 | | weight | DECIMAL | 10,2 | 当前体重(kg) | | status | TINYINT | 4 | 状态(1:在栏 2:出栏 3:死亡) | #### 健康记录表 (`biz_health_record`) | 字段名 | 类型 | 长度 | 说明 | | :--- | :--- | :--- | :--- | | id | BIGINT | 20 | 主键ID | | cattle_id | BIGINT | 20 | 牛只ID | | record_type | TINYINT | 4 | 类型(1:免疫 2:诊疗 3:检疫) | | description | TEXT | | 详情描述 | | operate_time | DATETIME | | 操作时间 | | operator | VARCHAR | 50 | 操作人 | ### 2.3 交易中心 #### 交易订单表 (`trade_order`) | 字段名 | 类型 | 长度 | 说明 | | :--- | :--- | :--- | :--- | | id | BIGINT | 20 | 主键ID | | order_no | VARCHAR | 64 | 订单编号 | | seller_id | BIGINT | 20 | 卖家ID | | buyer_id | BIGINT | 20 | 买家ID | | amount | DECIMAL | 12,2 | 交易金额 | | status | TINYINT | 4 | 状态(0:待付款 1:待发货 2:运输中 3:已完成) | | cattle_ids | JSON | | 关联牛只ID列表 | ### 2.4 基础信息 #### 新闻资讯表 (`cms_news`) | 字段名 | 类型 | 长度 | 说明 | | :--- | :--- | :--- | :--- | | id | BIGINT | 20 | 主键ID | | title | VARCHAR | 200 | 标题 | | category | VARCHAR | 50 | 分类(policy/industry/platform) | | content | LONGTEXT | | 内容(HTML) | | view_count | INT | 11 | 浏览量 | | publish_time | DATETIME | | 发布时间 | ## 3. 索引设计 - `sys_user`: `uk_username` (username), `uk_phone` (phone) - `biz_cattle`: `uk_ear_tag` (ear_tag), `idx_farm_id` (farm_id) - `trade_order`: `uk_order_no` (order_no), `idx_seller` (seller_id), `idx_buyer` (buyer_id)