冰河技术
导读
♻学习路线
  • 面试必问系列

    • 面试必问
  • 架构与模式

    • Java极简设计模式
    • 实战高并发设计模式
  • Java核心技术

    • Java8新特性
    • IOC核心技术
    • JVM调优技术
  • 容器化核心技术

    • Dockek核心技术
  • 分布式存储

    • Mycat核心技术
  • 数据库核心技术

    • MySQL基础篇
  • 服务器核心技术

    • Nginx核心技术
  • 渗透核心技术

    • 渗透实战技术
  • 底层技术
  • 源码分析
  • 基础案例
  • 实战案例
  • 面试
  • 系统架构
  • Spring6核心技术
  • 分布式事务

    • 分布式事务系列视频
  • SpringBoot
  • SpringCloudAlibaba
  • 🔥AI大模型项目

    • 一站式AI智能平台
    • AI智能客服系统
    • AI智能问答系统
    • 实战AI大模型
  • 中间件项目

    • 手写高性能Redis组件
    • 手写高性能脱敏组件
    • 手写线程池项目
    • 手写高性能SQL引擎
    • 手写高性能Polaris网关
    • 手写高性能RPC项目
  • 高并发项目

    • 分布式IM即时通讯系统(新)
    • 分布式Seckill秒杀系统
    • 实战高并发设计模式
  • 微服务项目

    • 简易电商脚手架项目
  • 手撕源码

    • 手撕Spring6源码
🌍知识星球
  • 总览

    • 《书籍汇总》
  • 出版图书

    • 《深入理解高并发编程:核心原理与案例实战》
    • 《深入理解高并发编程:JDK核心技术》
    • 《深入高平行開發:深度原理&專案實戰》
    • 《深入理解分布式事务:原理与实战》
    • 《MySQL技术大全:开发、优化与运维实战》
    • 《海量数据处理与大数据技术实战》
  • 电子书籍

    • 《实战高并发设计模式》
    • 《深入理解高并发编程(第2版)》
    • 《深入理解高并发编程(第1版)》
    • 《从零开始手写RPC框架(基础篇)》
    • 《SpringCloud Alibaba实战》
    • 《冰河的渗透实战笔记》
    • 《MySQL核心知识手册》
    • 《Spring IOC核心技术》
  • 关于自己
  • 关于学习
  • 关于职场
B站
Github
导读
♻学习路线
  • 面试必问系列

    • 面试必问
  • 架构与模式

    • Java极简设计模式
    • 实战高并发设计模式
  • Java核心技术

    • Java8新特性
    • IOC核心技术
    • JVM调优技术
  • 容器化核心技术

    • Dockek核心技术
  • 分布式存储

    • Mycat核心技术
  • 数据库核心技术

    • MySQL基础篇
  • 服务器核心技术

    • Nginx核心技术
  • 渗透核心技术

    • 渗透实战技术
  • 底层技术
  • 源码分析
  • 基础案例
  • 实战案例
  • 面试
  • 系统架构
  • Spring6核心技术
  • 分布式事务

    • 分布式事务系列视频
  • SpringBoot
  • SpringCloudAlibaba
  • 🔥AI大模型项目

    • 一站式AI智能平台
    • AI智能客服系统
    • AI智能问答系统
    • 实战AI大模型
  • 中间件项目

    • 手写高性能Redis组件
    • 手写高性能脱敏组件
    • 手写线程池项目
    • 手写高性能SQL引擎
    • 手写高性能Polaris网关
    • 手写高性能RPC项目
  • 高并发项目

    • 分布式IM即时通讯系统(新)
    • 分布式Seckill秒杀系统
    • 实战高并发设计模式
  • 微服务项目

    • 简易电商脚手架项目
  • 手撕源码

    • 手撕Spring6源码
🌍知识星球
  • 总览

    • 《书籍汇总》
  • 出版图书

    • 《深入理解高并发编程:核心原理与案例实战》
    • 《深入理解高并发编程:JDK核心技术》
    • 《深入高平行開發:深度原理&專案實戰》
    • 《深入理解分布式事务:原理与实战》
    • 《MySQL技术大全:开发、优化与运维实战》
    • 《海量数据处理与大数据技术实战》
  • 电子书籍

    • 《实战高并发设计模式》
    • 《深入理解高并发编程(第2版)》
    • 《深入理解高并发编程(第1版)》
    • 《从零开始手写RPC框架(基础篇)》
    • 《SpringCloud Alibaba实战》
    • 《冰河的渗透实战笔记》
    • 《MySQL核心知识手册》
    • 《Spring IOC核心技术》
  • 关于自己
  • 关于学习
  • 关于职场
B站
Github
  • 开篇:专栏介绍

    • 基于DeepSeek大模型的AI智能客服系统正式开撸
  • 第01部分:需求设计

    • 第01节:总体需求与方案设计
  • 第02部分:落地实现

    • 第01节:整体项目结构搭建与说明
    • 第02节:数据模型与数据存储层的数据与实现
    • 第03节:业务逻辑层与接口层的设计与实现
    • 第04节:前端页面的实现与整体测试
  • 第03部分:专栏总结

    • 《AI智能客服系统》总结-AI智能客服系统总体专栏总结

《AI智能客服系统》落地实现-第02节:数据模型与数据存储层的数据与实现

作者:冰河
星球:http://m6z.cn/6aeFbs
博客:https://binghe.gitcode.host
文章汇总:https://binghe.gitcode.host/md/all/all.html
源码获取地址:https://t.zsxq.com/0dhvFs5oR

沉淀,成长,突破,帮助他人,成就自我。

  • 本章难度:★☆☆☆☆
  • 本章重点:对AI智能客服系统的数据模型与数据存储层进行设计与实现,从全局角度掌握AI智能客服系统的整体项目结构。重点掌握AI智能客服系统的通用设计思路和设计方法,并能够将其灵活应用到自身实际项目中。

大家好,我是冰河~~

截止到目前,AI智能客服系统的所有准备工作都已经完毕,接下来,就到了真正手撸源码的环节了。

一、前言

搭建完项目主体结构后,接下来,就进入手撸源码环节了。AI智能客服系统后端服务主要分为数据模型、数据存储层、业务逻辑层和接口层。在实现上,我们将数据模型与数据存储层合并为一节,业务逻辑层与接口层合并为一节。接下来,我们就重点对数据模型与数据存储层进行设计与实现。

二、本节诉求

对AI智能客服系统的数据模型与数据存储层进行设计与实现,从全局角度掌握AI智能客服系统的整体项目结构。重点掌握AI智能客服系统的通用设计思路和设计方法,并能够将其灵活应用到自身实际项目中。

三、核心设计

注意:本节只给大家展示AI智能客服系统数据模型与数据存储层的核心类实现关系,其他代码的实现细节,大家可以自行到本节对应的源码分支进行查看,这里不再赘述。

AI智能客服系统数据模型与数据存储层的核心类设计如图2-1所示。


本节,主要涉及的类和接口有:AiRequest、AiResponse、ChatLogs和ChatLogsMapper。

  • AiRequest类:前端与后端交互的数据模型,主要负责接收前端传递的数据。
  • AiResponse类:前端与后端交互的数据模型,主要负责向前端响应后端的结果数据。
  • ChatLogs类:聊天记录实体模型,与数据表字段一一对应。
  • ChatLogsMapper接口:操作数据表的Mapper接口。

四、编码实现

本节只给大家展示AI智能客服系统数据模型与数据存储层的核心类编码实现,其他代码的实现细节,大家可以自行到本节对应的源码分支进行查看,这里不再赘述。

(1)实现ChatLogs类

ChatLogs类是聊天记录的实体模型类,与数据表字段一一对应。

源码详见:io.binghe.springai.bot.entity.ChatLogs。

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ChatLogs {
    private Long id;
    private String userRequest;
    private String aiResponse;
    private LocalDateTime createdTime;
    private String sessionId;
}

(2)实现AiRequest类

AiRequest类是前端与后端交互的数据模型类,主要负责接收前端传递的数据。

源码详见:io.binghe.springai.bot.request.AiRequest。

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AiRequest {
    private String sessionId;
    private String message;
}

(3)实现AiResponse类

AiResponse类是前端与后端交互的数据模型类,主要负责向前端响应后端的结果数据。

源码详见:io.binghe.springai.bot.response.AiResponse。

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AiResponse {

    private String sessionId;
    private String message;
    private Long responseTime;
    private boolean success;
    private String error;

    public AiResponse(String message, String sessionId, Long responseTime) {
        this.message = message;
        this.sessionId = sessionId;
        this.responseTime = responseTime;
        this.success = true;
    }

    public static AiResponse error(String error, String sessionId) {
        AiResponse response = new AiResponse();
        response.setError(error);
        response.setSessionId(sessionId);
        response.setSuccess(false);
        return response;
    }
}

(4)实现ChatLogsMapper接口

ChatLogsMapper接口是主要操作数据表的接口,AI智能客服系统的消息记录数据都是由ChatLogsMapper接口进行CRUD操作。

查看完整文章

加入冰河技术知识星球,解锁完整技术文章、小册、视频与完整代码

在 GitHub 上编辑此页
上次更新: 2026/5/2 00:42
Contributors: binghe001
Prev
第01节:整体项目结构搭建与说明
Next
第03节:业务逻辑层与接口层的设计与实现
阅读全文
×

扫码或搜索:冰河技术
发送:290992
即可立即永久解锁本站全部文章

星球会员
跳转链接