目录
一、项目背景
二、技术介绍
三、功能介绍
四、代码设计
五、系统实现
一、项目背景
中医药作为中华民族的瑰宝,在疾病防治与健康养生领域发挥着不可替代的作用。近年来,随着“健康中国”战略的深入推进和民众健康意识的显著提升,中药材市场需求持续旺盛。然而,传统中药材销售模式长期面临信息不对称、品质难溯源、销售渠道单一、专业服务缺失等结构性痛点。一方面,消费者面对琳琅满目的药材品类,往往缺乏辨别真伪优劣的专业知识,容易陷入“以貌取材”的误区;另一方面,基层药材商户受限于信息化水平,在库存管理、客户服务、精准营销等方面力不从心,难以适应数字化时代的消费升级需求。
与此同时,人工智能技术的蓬勃发展正加速重塑传统行业格局。以DeepSeek、ChatGPT为代表的大语言模型(LLM)展现出卓越的自然语言理解与知识推理能力,为中医药领域的智能化转型提供了全新契机。Spring AI框架作为Spring生态中面向AI应用开发的官方解决方案,通过统一抽象的API接口,能够无缝对接各类大模型,极大降低了AI能力与业务系统集成的技术门槛。将AI大模型引入中药材销售场景,有望在智能导购推荐、药材知识问答、个性化养生方案生成等环节实现突破性体验升级。
基于上述背景,本课题拟设计并开发一套基于Spring Boot+Vue3+Spring AI的中药材智能销售系统。系统采用前后端分离架构,后端以Spring Boot 3为核心构建稳健服务层,通过Spring AI框架统一集成大模型能力,前端采用Vue3组合式API与TypeScript构建沉浸式交互界面,Element Plus提供丰富的业务组件支撑。核心功能模块包括:中药材智能商城(支持多维度检索、功效分类浏览、在线下单);AI智能导购助手(基于大模型实现药材功效解析、对症推荐、配伍禁忌提醒);库存与订单管理(面向商户的进销存一体化管理);药膳与养生方案推荐(结合节气、体质等因素生成个性化建议)。本系统的研发,旨在探索AI大模型在中医药流通领域的创新应用路径,为传统中药材行业数字化转型提供可复用的技术范式与解决方案。
二、技术介绍
项目采用技术: ① 架构模式:前后端分离开发 ② 系统环境:Windows、Mac ③ 开发环境:IDEA、JDK21、MySQL 8.0+、Node.js 16+ ④ 后端技术栈:Spring Boot 3.2.0、Spring AI 1.0.0-M4、阿里云百炼大模型、MyBatis-Plus 3.5.9、MySQL 8.0+、JWT、Hutool、Spring WebFlux ⑤ 前端技术栈:Vue 3.3.4、Vue Router 4.2.4、Vuex 4.1.0、Element Plus 2.3.14、Axios 1.5.0、ECharts 5.4.3、Vite 4.4.9
本系统采用前后端分离的开发模式,支持Windows与macOS跨平台运行。开发环境方面,后端基于IntelliJ IDEA与JDK 21,数据库采用MySQL 8.0+,前端使用Node.js 16+与Vite构建工具,保障高效开发与快速热更新。
后端技术栈以Spring Boot 3.2.0为核心框架,依托Spring AI 1.0.0-M4统一抽象接口集成阿里云百炼大模型能力,实现智能导购与知识问答;MyBatis-Plus 3.5.9作为ORM框架简化数据访问层开发,配合MySQL实现数据持久化;JWT用于身份认证与权限管理,Hutool工具库提升开发效率,Spring WebFlux支持非阻塞响应式编程,为AI流式对话提供高性能通信保障。
前端技术栈采用Vue 3.3.4组合式API与TypeScript构建类型安全的组件化应用,Vue Router 4.2.4管理路由,Vuex 4.1.0实现全局状态管理;Element Plus 2.3.14提供丰富的后台UI组件,Axios 1.5.0封装HTTP请求与拦截器,ECharts 5.4.3实现销售数据可视化分析。该技术体系前后端协同,为中药材智能销售系统提供了高性能、可扩展、体验优良的技术底座。
三、功能介绍
二、功能描述 用户端功能: 用户认证模块(注册、登录、个人信息管理、修改密码) 药材商品模块(列表浏览、详情查看、分类筛选、关键词搜索) 购物车模块(添加商品、修改数量、删除商品、批量删除) 订单模块(创建订单、订单列表、订单支付、取消订单、确认收货) 收货地址模块(地址列表、新增地址、修改地址、删除地址、设置默认) 我的收藏模块(收藏商品、取消收藏、收藏列表) 评价模块(发表评价、星级评分、上传图片、查看评价) 资讯模块(资讯列表、资讯详情、分类浏览) 公告模块(公告列表、公告详情) AI智能客服模块(中医药材咨询、购买建议、订单查询、常见问题解答、SSE流式输出、上下文记忆) 管理端功能: 管理员认证模块(管理员登录、管理员注册、JWT权限验证) 数据统计模块(销售统计、订单统计、评价统计、用户统计、ECharts可视化图表) 药材管理模块(增删改查、图片上传、上下架管理、库存管理) 分类管理模块(增删改查、排序管理) 订单管理模块(订单列表、订单详情、发货操作、多条件筛选) 用户管理模块(用户列表、用户详情、禁用启用) 评价管理模块(评价列表、评价详情、删除评价) 资讯管理模块(增删改查、封面上传) 公告管理模块(增删改查) 三、数据库设计 系统数据库:herbal_system_db 包含11张主表: 主要数据表: user(用户表) sys_admin(管理员表) product(中药材表) product_category(药材分类表) cart(购物车表) favorite(收藏表) orders(订单表) order_item(订单详情表) address(收货地址表) review(评价表) article(资讯表) notice(公告表) 四、项目特色 完整的前后端分离架构,代码结构清晰规范 集成Spring AI + 阿里云百炼大模型,实现AI智能客服功能 AI客服支持SSE流式输出,实时显示回复内容 完善的用户权限控制,基于JWT的安全认证机制 美观的前端界面,基于Vue3 + Element Plus的响应式设计 完整的电商购物流程,从浏览到下单支付全覆盖 强大的管理后台,支持数据统计和ECharts可视化展示 丰富的业务功能,涵盖中医药材电商平台核心业务场景 支持图片上传和预览功能 严格的代码规范,采用三层架构,易于维护扩展 五、源码说明 源码包含: 前端Vue3源码(完整项目结构,含所有页面组件) 后端SpringBoot源码(完整三层架构:Controller、Service、Mapper) Spring AI集成源码(AI配置、聊天服务、SSE流式接口) MySQL数据库脚本(包含完整表结构和测试数据) 详细开发文档(包含技术栈说明、功能介绍、部署步骤、AI配置说明) 测试账号(用户端账号、管理员账号) 六、测试账号 用户端测试账号: 用户名:liming 密码:123456 管理端测试账号: 用户名:admin 密码:123456
四、代码设计
package com.herb.config;
import org.springframework.ai.chat.ChatClient;
import org.springframework.ai.chat.ChatResponse;
import org.springframework.ai.chat.messages.Message;
import org.springframework.ai.chat.messages.UserMessage;
import org.springframework.ai.chat.prompt.Prompt;
import org.springframework.ai.chat.prompt.SystemPromptTemplate;
import org.springframework.ai.openai.OpenAiChatClient;
import org.springframework.ai.openai.OpenAiChatOptions;
import org.springframework.ai.openai.api.OpenAiApi;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.List;
/**
* Spring AI 配置类
* 集成阿里云百炼大模型(兼容OpenAI API格式)
*/
@Configuration
public class AiConfig {
@Value("${spring.ai.openai.api-key}")
private String apiKey;
@Value("${spring.ai.openai.base-url}")
private String baseUrl;
@Value("${spring.ai.openai.chat.options.model}")
private String model;
/**
* 配置OpenAiApi客户端
* 阿里云百炼兼容OpenAI接口规范
*/
@Bean
public OpenAiApi openAiApi() {
return new OpenAiApi(baseUrl, apiKey);
}
/**
* 配置ChatClient
*/
@Bean
public ChatClient chatClient(OpenAiApi openAiApi) {
OpenAiChatOptions options = OpenAiChatOptions.builder()
.withModel(model)
.withTemperature(0.7)
.withMaxTokens(2048)
.withTopP(0.9)
.build();
return new OpenAiChatClient(openAiApi, options);
}
}
五、系统实现











-171主机测评](https://www.171host.com/wp-content/uploads/2026/09/20260916123009-6aaa8bd17c4de-220x150.png)


