3.0 KiB
3.0 KiB
云南智慧牛产业平台 - 数据库设计文档
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)