Lawyer System Table Structure Specification.md 30 KB

法律咨询平台系统 - 数据库表结构分析

一、表结构概览

核心用户表(2个)

  1. lawyer_user - 律师用户表(✅ 已完成)
  2. life_user - 客户端用户表(✅ 已存在)

基础配置表(1个)

  1. lawyer_legal_problem_scenario - 法律问题场景表(✅ 已完成)

核心业务表(4个)

  1. lawyer_consultation_order - 咨询订单表(✅ 已完成)
  2. lawyer_chat_session - 聊天会话表(✅ 已完成)
  3. lawyer_chat_message - 聊天消息表(✅ 已完成)
  4. lawyer_service_area - 律师服务领域关联表(✅ 已完成)

扩展功能表(5个)

  1. lawyer_img - 律师图片表(✅ 已完成)
  2. lawyer_common_question - 常见问题表(✅ 已完成)
  3. lawyer_consultation_review - 咨询评价表(✅ 已完成)
  4. lawyer_payment_transaction - 支付交易表(✅ 已完成)
  5. lawyer_ai_interaction_log - AI交互日志表(✅ 已完成)
  6. lawyer_user_search_history - 用户搜索历史表(✅ 已完成)

二、详细表结构分析

1. lawyer_user - 律师用户表

  • 状态: ✅ 已创建实体类、Mapper、Service、Controller、XML、SQL
  • 用途: 存储律师用户的基本信息、认证信息、服务信息等
  • 关键字段:
    • id (主键)
    • phone (手机号, 唯一)
    • name (姓名)
    • lawyer_certificate_no (律师执业证号)
    • law_firm (所属律师事务所名称)
    • certification_status (资质认证状态)
    • consultation_fee (咨询收费标准)
    • agency_fee (代理收费标准)
    • service_score (服务评分)
    • service_count (服务次数)
  • 关联关系:
    • 一对多: 一个律师可以有多个图片 (lawyer_img)
    • 一对多: 一个律师可以有多个服务领域 (lawyer_service_area)
    • 一对多: 一个律师可以有多个咨询订单 (lawyer_consultation_order)
    • 一对多: 一个律师可以有多个聊天会话 (lawyer_chat_session)
    • 一对多: 一个律师可以收到多个评价 (lawyer_consultation_review)

2. lawyer_legal_problem_scenario - 法律问题场景表

  • 状态: ✅ 已创建实体类、Mapper、Service、Controller、XML、SQL
  • 用途: 存储法律问题分类的树形结构(一级分类7个,二级分类14个,三级分类30个)
  • 关键字段:
    • id (主键)
    • code (编号, 如: L1, L1-01, L1-01-01)
    • name (名称)
    • parent_id (父类主键)
    • parent_code (父类编号)
    • parentName (父类名称)
    • sort_order (排序字段)
    • status (状态)
  • 关联关系:
    • 自关联: 树形结构,通过 parent_id 关联自身
    • 一对多: 一个法律问题场景可以关联多个律师服务领域 (lawyer_service_area)
    • 一对多: 一个法律问题场景可以有多个咨询订单 (lawyer_consultation_order)
    • 一对多: 一个法律问题场景可以有多个常见问题 (lawyer_common_question)
    • 一对多: 一个法律问题场景可以关联多个AI交互日志 (lawyer_ai_interaction_log)

8. lawyer_img - 律师图片表

  • 状态: ✅ 已创建实体类、Mapper、Service、Controller、XML、SQL
  • 用途: 存储律师相关的图片(头像、执业证、身份证、案例图片等)
  • 关键字段:
    • id (主键)
    • lawyer_id (律师用户ID, FK -> lawyer_user)
    • img_type (图片类型: 0:其他, 1:头像, 2:执业证照片, 3:身份证正面, 4:身份证反面, 5:案例图片, 6:相册图片, 7:资质证书, 8:荣誉证书, 9:工作照片)
    • img_url (图片链接)
    • img_description (图片描述)
    • img_sort (图片排序)
    • business_id (业务ID)
  • 关联关系:
    • 多对一: 多个图片属于一个律师 (lawyer_user)

7. lawyer_service_area - 律师服务领域关联表

  • 状态: ✅ 已创建实体类、Mapper、Service、Controller、XML、SQL
  • 用途: 律师与法律问题场景的多对多关联表(律师擅长哪些领域)
  • 关键字段:
    • id (主键)
    • lawyer_user_id (律师用户ID, FK -> lawyer_user)
    • problem_scenar_id (法律问题场景ID, FK -> lawyer_legal_problem_scenario)
    • sort_order (排序, 数值越小越靠前)
    • status (状态)
    • 唯一索引: UK(lawyer_user_id, problem_scenar_id)
  • 关联关系:
    • 多对一: 多个关联记录属于一个律师 (lawyer_user)
    • 多对一: 多个关联记录关联一个法律问题场景 (lawyer_legal_problem_scenario)
    • 作用: 实现律师与法律问题场景的多对多关系

4. lawyer_consultation_order - 咨询订单表(核心业务表)

  • 状态: ✅ 已创建实体类、Mapper、Service、Controller、XML、SQL
  • 用途: 记录用户与律师之间的咨询订单,是整个业务的核心
  • 关键字段:
    • id (主键)
    • order_number (订单编号, 唯一, 如: LAW2023071500123)
    • client_user_id (客户端用户ID, FK -> life_user)
    • lawyer_user_id (律师用户ID, FK -> lawyer_user)
    • problem_scenar_id (法律问题场景ID, FK -> lawyer_legal_problem_scenario)
    • problem_description (问题描述)
    • order_amount (订单金额, 单位:分)
    • consultation_fee (咨询费用, 单位:分)
    • start_time (咨询开始时间)
    • end_time (咨询结束时间)
    • order_status (订单状态: 0:待支付, 1:已支付, 2:进行中, 3:已完成, 4:已取消)
    • payment_status (支付状态: 0:未支付, 1:已支付)
    • payment_time (支付时间)
    • validity_period (订单有效期)
    • rating (用户评分, 1-5星)
    • comment (用户评价内容)
  • 关联关系:
    • 多对一: 多个订单属于一个客户端用户 (life_user)
    • 多对一: 多个订单属于一个律师 (lawyer_user)
    • 多对一: 多个订单关联一个法律问题场景 (lawyer_legal_problem_scenario)
    • 一对多: 一个订单可以有一个聊天会话 (lawyer_chat_session)
    • 一对多: 一个订单可以有多条聊天消息 (lawyer_chat_message)
    • 一对多: 一个订单可以有多笔支付交易 (lawyer_payment_transaction)
    • 一对一: 一个订单可以有一个评价 (lawyer_consultation_review)

5. lawyer_chat_session - 聊天会话表

  • 状态: ✅ 已创建实体类、Mapper、Service、Controller、XML、SQL
  • 用途: 管理咨询会话,关联订单和消息
  • 关键字段:
    • id (主键)
    • consultation_order_id (咨询订单ID, FK -> lawyer_consultation_order)
    • client_user_id (客户端用户ID, FK -> life_user)
    • lawyer_user_id (律师用户ID, FK -> lawyer_user)
    • session_type (会话类型: 0:文本咨询, 1:语音咨询, 2:视频咨询)
    • status (会话状态: 0:未开始, 1:进行中, 2:已结束)
    • last_message_id (最后一条消息ID, FK -> lawyer_chat_message)
    • last_message_time (最后一条消息时间)
  • 关联关系:
    • 多对一: 多个会话属于一个咨询订单 (lawyer_consultation_order)
    • 多对一: 多个会话属于一个客户端用户 (life_user)
    • 多对一: 多个会话属于一个律师 (lawyer_user)
    • 多对一: 一个会话的最后一条消息 (lawyer_chat_message)
    • 一对多: 一个会话可以有多条聊天消息 (lawyer_chat_message)

6. lawyer_chat_message - 聊天消息表

  • 状态: ✅ 已创建实体类、Mapper、Service、Controller、XML、SQL
  • 用途: 存储咨询会话中的具体聊天消息
  • 关键字段:
    • id (主键)
    • chat_session_id (聊天会话ID, FK -> lawyer_chat_session)
    • consultation_order_id (咨询订单ID, FK -> lawyer_consultation_order, 冗余字段便于查询)
    • sender_id (发送者ID, 可以是life_user的id或lawyer_user的id)
    • sender_type (发送者类型: 0:客户端用户, 1:律师用户)
    • message_content (消息内容, TEXT)
    • message_type (消息类型: 0:文本, 1:图片, 2:语音, 3:文件, 4:视频)
    • media_url (媒体文件URL)
    • message_timestamp (消息发送时间)
    • read_status (阅读状态: 0:未读, 1:已读)
    • read_time (阅读时间)
  • 关联关系:
    • 多对一: 多条消息属于一个聊天会话 (lawyer_chat_session)
    • 多对一: 多条消息属于一个咨询订单 (lawyer_consultation_order)
    • 被关联: 可以被 lawyer_chat_session.last_message_id 引用

9. lawyer_common_question - 常见问题表

  • 状态: ✅ 已创建实体类、Mapper、Service、Controller、XML、SQL
  • 用途: 存储常见问题及回答(FAQ)
  • 关键字段:
    • id (主键)
    • question_text (问题文本)
    • answer_text (回答内容, TEXT)
    • category_type (分类类型: 0:推荐, 1:常见问题)
    • problem_scenar_id (关联法律问题场景ID, FK -> lawyer_legal_problem_scenario, 可选)
    • sort_order (排序)
    • view_count (浏览次数)
    • status (状态)
  • 关联关系:
    • 多对一: 多个常见问题可以关联一个法律问题场景 (lawyer_legal_problem_scenario)

10. lawyer_consultation_review - 咨询评价表

  • 状态: ✅ 已创建实体类、Mapper、Service、Controller、XML、SQL
  • 用途: 存储用户对咨询服务的评价
  • 关键字段:
    • id (主键)
    • consultation_order_id (咨询订单ID, FK -> lawyer_consultation_order)
    • client_user_id (评价用户ID, FK -> life_user)
    • lawyer_user_id (被评价律师ID, FK -> lawyer_user)
    • rating (评分, 1-5星)
    • comment (评价内容, TEXT)
    • service_quality (服务质量评分, 1-5星)
    • response_speed (响应速度评分, 1-5星)
    • professional_level (专业水平评分, 1-5星)
    • 唯一索引: UK(consultation_order_id, delete_flag) - 确保一个订单只有一个有效评价
  • 关联关系:
    • 一对一: 一个订单对应一个评价 (lawyer_consultation_order)
    • 多对一: 多个评价属于一个客户端用户 (life_user)
    • 多对一: 多个评价属于一个律师 (lawyer_user)

11. lawyer_payment_transaction - 支付交易表

  • 状态: ✅ 已创建实体类、Mapper、Service、Controller、XML、SQL
  • 用途: 记录支付交易信息
  • 关键字段:
    • id (主键)
    • consultation_order_id (咨询订单ID, FK -> lawyer_consultation_order)
    • client_user_id (支付用户ID, FK -> life_user)
    • transaction_number (交易流水号, 唯一)
    • transaction_amount (交易金额, 单位:分)
    • payment_method (支付方式: 0:微信, 1:支付宝, 2:银行卡)
    • transaction_status (交易状态: 0:待支付, 1:支付成功, 2:支付失败, 3:已退款)
    • transaction_time (交易时间)
    • third_party_trade_no (第三方交易号)
    • refund_amount (退款金额, 单位:分)
    • refund_time (退款时间)
  • 关联关系:
    • 多对一: 多笔交易属于一个咨询订单 (lawyer_consultation_order)
    • 多对一: 多笔交易属于一个客户端用户 (life_user)

12. lawyer_ai_interaction_log - AI交互日志表

  • 状态: ✅ 已创建实体类、Mapper、Service、Controller、XML、SQL
  • 用途: 记录用户与AI助手的对话历史
  • 关键字段:
    • id (主键)
    • client_user_id (客户端用户ID, FK -> life_user)
    • conversation_id (会话ID, 用于关联同一会话的多条消息)
    • query_text (用户输入内容, TEXT)
    • response_text (AI回复内容, TEXT)
    • problem_scenar_id (关联的法律问题场景ID, FK -> lawyer_legal_problem_scenario, 可选)
    • interaction_time (交互时间)
  • 关联关系:
    • 多对一: 多条日志属于一个客户端用户 (life_user)
    • 多对一: 多条日志可以关联一个法律问题场景 (lawyer_legal_problem_scenario)

13. lawyer_user_search_history - 用户搜索历史表

  • 状态: ✅ 已创建实体类、Mapper、Service、Controller、XML、SQL
  • 用途: 存储用户搜索历史(如:搜索律师姓名、法律问题、律所名称)
  • 关键字段:
    • id (主键)
    • client_user_id (用户ID, FK -> life_user)
    • search_keyword (搜索关键词)
    • search_type (搜索类型: 0:律师姓名, 1:法律问题, 2:律所名称)
    • search_time (搜索时间)
  • 关联关系:
    • 多对一: 多条搜索历史属于一个客户端用户 (life_user)

14. life_user - 客户端用户表

  • 状态: ✅ 已存在实体类、Mapper、Service、Controller
  • 用途: 存储使用平台进行咨询的普通用户信息(与律师用户区分)
  • 关键字段:
    • id (主键)
    • user_phone (用户手机号)
    • guanfang_phone (官方手机号)
    • user_name (用户昵称)
    • real_name (真实姓名)
    • user_sex (性别, String类型)
    • user_brithday (生日, 注意字段名拼写)
    • user_image (用户头像URL)
    • id_card (身份证号)
    • province, city, district, address (地址信息)
    • jianjie (简介)
    • money (用户余额, 单位:分)
    • pay_password (支付密码)
    • alipay_account (支付宝账号)
    • invited_num (邀请码)
    • invite_code (个人邀请码)
    • bind_invite_code (绑定他人邀请码)
    • xiaofei_time (消费次数)
    • xiaofei_amount (消费金额)
    • chaping_time (差评次数)
    • clock_img_id (打卡广场小人图片id)
    • logout_flag (注销标记: 0:未注销, 1:已注销)
    • logout_reason (注销原因)
    • logout_time (注销申请时间)
  • 关联关系:
    • 一对多: 一个用户可以有多个咨询订单 (lawyer_consultation_order)
    • 一对多: 一个用户可以有多个聊天会话 (lawyer_chat_session)
    • 一对多: 一个用户可以有多个评价 (lawyer_consultation_review)
    • 一对多: 一个用户可以有多笔支付交易 (lawyer_payment_transaction)
    • 一对多: 一个用户可以有多个AI交互日志 (lawyer_ai_interaction_log)
    • 一对多: 一个用户可以有多个搜索历史 (lawyer_user_search_history)

三、表关系图(ER图)

┌─────────────────────────────────────────────────────────────────────────────┐
│                          核心用户表                                           │
├─────────────────────────────────────────────────────────────────────────────┤
│  lawyer_user (律师用户) ──────────┐                                           │
│  life_user (客户端用户) ──────────┼───────────────────────────┐               │
└─────────────────────────────────┼───────────────────────────┼───────────────┘
                                  │                           │
                                  │                           │
┌─────────────────────────────────┼───────────────────────────┼──────────────────┐
│        基础配置表                 │                           │                  │
├─────────────────────────────────┼───────────────────────────┼──────────────────┤
│  lawyer_legal_problem_scenario (法律问题场景)                 │                  │
│       ▲                                                     │                  │
│       │ (1:N)                                               │                  │
└─────────────────────────────────────────────────────────────┼──────────────────┘
                                                              │
┌─────────────────────────────────────────────────────────────┼──────────────────┐
│                   核心业务表                                  │                  │
├─────────────────────────────────────────────────────────────┼──────────────────┤
│  lawyer_consultation_order (咨询订单) ◄──────────────────────┼───────────────────┤
│       │                                                     │                  │
│       │ (1:1)                                               │                  │
│       ├──► lawyer_consultation_review (咨询评价)             │                  │
│       │                                                     │                  │
│       │ (1:N)                                               │                  │
│       ├──► lawyer_payment_transaction (支付交易)             │                  │
│       │                                                     │                  │
│       │ (1:N)                                               │                  │
│       ├──► lawyer_chat_session (聊天会话)                    │                  │
│       │       │                                             │                  │
│       │       │ (1:N)                                       │                  │
│       │       └──► lawyer_chat_message (聊天消息)            │                  │
│       │                                                     │                  │
│                                                             │                  │
│  lawyer_service_area (律师服务领域)                           │                  │
│       │                                                     │                  │
│       ├──► lawyer_user                                      │                  │
│       └──► lawyer_legal_problem_scenario                    │                  │
└─────────────────────────────────────────────────────────────┼──────────────────┘
                                                              │
┌─────────────────────────────────────────────────────────────┼──────────────────┐
│                     扩展功能表                                │                  │
├─────────────────────────────────────────────────────────────┼──────────────────┤
│  lawyer_img (律师图片) ────► lawyer_user                      │                  │
│                                                             │                  │
│  lawyer_common_question (常见问题) ────► lawyer_legal_problem_scenario           │
│                                                             │                  │
│  lawyer_ai_interaction_log (AI交互日志) ────► life_user       │                  │
│                               └───► lawyer_legal_problem_scenario              │
│                                                             │                  │
│  lawyer_user_search_history (搜索历史) ────► life_user       │                   │
└─────────────────────────────────────────────────────────────┴──────────────────┘

四、表关系详细说明

4.1 核心业务关系链

业务流程:咨询订单 → 聊天会话 → 聊天消息

life_user (客户端用户)
    └──► lawyer_consultation_order (咨询订单)
            ├──► lawyer_chat_session (聊天会话)
            │       └──► lawyer_chat_message (聊天消息) [多条]
            │
            ├──► lawyer_payment_transaction (支付交易) [多条]
            │
            └──► lawyer_consultation_review (咨询评价) [1条]

律师信息关系链

lawyer_user (律师用户)
    ├──► lawyer_img (律师图片) [多条]
    ├──► lawyer_service_area (服务领域) [多条]
    │       └──► lawyer_legal_problem_scenario (法律问题场景)
    │
    └──► lawyer_consultation_order (咨询订单) [多条]

法律问题场景关系链

lawyer_legal_problem_scenario (法律问题场景) [树形结构]
    ├──► lawyer_service_area (律师服务领域) [多条]
    │       └──► lawyer_user (律师用户)
    │
    ├──► lawyer_consultation_order (咨询订单) [多条]
    │
    ├──► lawyer_common_question (常见问题) [多条]
    │
    └──► lawyer_ai_interaction_log (AI交互日志) [多条]

4.2 外键关系汇总

子表 外键字段 父表 关系类型 说明
lawyer_img lawyer_id lawyer_user 多对一 多个图片属于一个律师
lawyer_service_area lawyer_user_id lawyer_user 多对一 多个服务领域属于一个律师
lawyer_service_area problem_scenar_id lawyer_legal_problem_scenario 多对一 多个关联记录关联一个法律问题场景
lawyer_consultation_order client_user_id life_user 多对一 多个订单属于一个客户端用户
lawyer_consultation_order lawyer_user_id lawyer_user 多对一 多个订单属于一个律师
lawyer_consultation_order problem_scenar_id lawyer_legal_problem_scenario 多对一 多个订单关联一个法律问题场景
lawyer_chat_session consultation_order_id lawyer_consultation_order 多对一 多个会话属于一个订单
lawyer_chat_session client_user_id life_user 多对一 多个会话属于一个客户端用户
lawyer_chat_session lawyer_user_id lawyer_user 多对一 多个会话属于一个律师
lawyer_chat_session last_message_id lawyer_chat_message 多对一 会话的最后一条消息
lawyer_chat_message chat_session_id lawyer_chat_session 多对一 多条消息属于一个会话
lawyer_chat_message consultation_order_id lawyer_consultation_order 多对一 多条消息属于一个订单(冗余)
lawyer_common_question problem_scenar_id lawyer_legal_problem_scenario 多对一 多个常见问题关联一个法律问题场景
lawyer_consultation_review consultation_order_id lawyer_consultation_order 一对一 一个订单对应一个评价
lawyer_consultation_review client_user_id life_user 多对一 多个评价属于一个客户端用户
lawyer_consultation_review lawyer_user_id lawyer_user 多对一 多个评价属于一个律师
lawyer_payment_transaction consultation_order_id lawyer_consultation_order 多对一 多笔交易属于一个订单
lawyer_payment_transaction client_user_id life_user 多对一 多笔交易属于一个客户端用户
lawyer_ai_interaction_log client_user_id life_user 多对一 多条日志属于一个客户端用户
lawyer_ai_interaction_log problem_scenar_id lawyer_legal_problem_scenario 多对一 多条日志关联一个法律问题场景
lawyer_user_search_history client_user_id life_user 多对一 多条搜索历史属于一个客户端用户

4.3 自关联关系

表名 自关联字段 说明
lawyer_legal_problem_scenario parent_id 树形结构,通过 parent_id 关联自身,实现三级分类

五、数据完整性约束

5.1 唯一约束

  • lawyer_user.phone - 手机号唯一
  • lawyer_consultation_order.order_number - 订单编号唯一
  • lawyer_payment_transaction.transaction_number - 交易流水号唯一
  • lawyer_service_area(lawyer_user_id, problem_scenar_id) - 律师与法律问题场景的组合唯一
  • lawyer_consultation_review(consultation_order_id, delete_flag) - 一个订单只能有一个有效评价

5.2 逻辑删除

所有表都使用 delete_flag 字段进行逻辑删除:

  • delete_flag = 0 - 未删除
  • delete_flag = 1 - 已删除

5.3 状态字段

  • 订单状态: order_status (0:待支付, 1:已支付, 2:进行中, 3:已完成, 4:已取消)
  • 支付状态: payment_status (0:未支付, 1:已支付)
  • 交易状态: transaction_status (0:待支付, 1:支付成功, 2:支付失败, 3:已退款)
  • 会话状态: status (0:未开始, 1:进行中, 2:已结束)
  • 认证状态: certification_status (0:未认证, 1:认证中, 2:已认证, 3:认证失败)

六、索引设计建议

6.1 主键索引

所有表的主键 id 自动创建主键索引。

6.2 外键索引

所有外键字段都创建索引,提高关联查询性能。

6.3 联合索引

根据常用查询场景创建联合索引:

表名 联合索引 说明
lawyer_user (status, delete_flag) 查询可用律师
lawyer_consultation_order (client_user_id, order_status, delete_flag) 用户订单查询(关联life_user)
lawyer_consultation_order (lawyer_user_id, order_status, delete_flag) 律师订单查询
lawyer_chat_message (chat_session_id, message_timestamp, delete_flag) 会话消息查询
lawyer_service_area (lawyer_user_id, problem_scenar_id, delete_flag) 律师服务领域查询
lawyer_img (lawyer_id, img_type, delete_flag) 律师图片查询

6.4 时间字段索引

  • created_time - 创建时间索引,用于按时间排序
  • updated_time - 更新时间索引
  • last_message_time - 最后消息时间索引
  • message_timestamp - 消息时间戳索引

七、业务场景查询示例

7.1 查询律师的详细信息

SELECT lu.*
FROM lawyer_user lu
WHERE lu.id = ? AND lu.delete_flag = 0;

7.2 查询律师的服务领域

SELECT lsa.*, lps.name as problem_scenario_name
FROM lawyer_service_area lsa
INNER JOIN lawyer_legal_problem_scenario lps ON lsa.problem_scenar_id = lps.id
WHERE lsa.lawyer_user_id = ? AND lsa.delete_flag = 0 AND lsa.status = 1
ORDER BY lsa.sort_order;

7.3 查询用户的订单列表

SELECT lco.*, lu.name as lawyer_name, lps.name as problem_scenario_name
FROM lawyer_consultation_order lco
LEFT JOIN lawyer_user lu ON lco.lawyer_user_id = lu.id
LEFT JOIN lawyer_legal_problem_scenario lps ON lco.problem_scenar_id = lps.id
WHERE lco.client_user_id = ? AND lco.delete_flag = 0
ORDER BY lco.created_time DESC;

7.4 查询订单的聊天记录

SELECT lcm.*
FROM lawyer_chat_message lcm
WHERE lcm.consultation_order_id = ? AND lcm.delete_flag = 0
ORDER BY lcm.message_timestamp ASC;

7.5 查询律师的评价统计

SELECT 
    COUNT(*) as total_reviews,
    AVG(rating) as avg_rating,
    AVG(service_quality) as avg_service_quality,
    AVG(response_speed) as avg_response_speed,
    AVG(professional_level) as avg_professional_level
FROM lawyer_consultation_review
WHERE lawyer_user_id = ? AND delete_flag = 0;

八、注意事项

  1. 统一字段命名规范

    • 所有表都包含标准字段:delete_flag, created_time, created_user_id, updated_time, updated_user_id
    • 主键统一使用 id (INT, AUTO_INCREMENT)
    • 外键统一命名为 xxx_id
  2. 逻辑删除

    • 所有表都使用 delete_flag 字段进行逻辑删除(0:未删除, 1:已删除)
    • 使用 @TableLogic 注解
  3. 索引设计

    • 主键自动创建索引
    • 外键字段创建索引
    • 常用查询字段创建联合索引(如:lawyer_user_id + status + delete_flag
  4. 金额字段

    • 统一使用 INT 类型,单位:分(避免浮点数精度问题)
  5. 时间字段

    • created_time: DEFAULT CURRENT_TIMESTAMP
    • updated_time: DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
  6. 数据一致性

    • 订单状态变更时,需要同步更新相关表的记录
    • 评价添加后,需要更新律师的评分统计(lawyer_user.service_score等)
  7. 树形结构

    • lawyer_legal_problem_scenario 使用 parent_id 实现三级分类
    • 查询子节点时使用递归查询或维护 parent_code 路径

九、表状态统计

已完成(13个表)

✅ lawyer_user
✅ lawyer_legal_problem_scenario
✅ lawyer_img
✅ lawyer_service_area
✅ lawyer_consultation_order
✅ lawyer_chat_session
✅ lawyer_chat_message
✅ lawyer_common_question
✅ lawyer_consultation_review
✅ lawyer_payment_transaction
✅ lawyer_ai_interaction_log
✅ lawyer_user_search_history
✅ life_user - 客户端用户表(已存在)