1. 项目概述与背景
中药材行业作为传统医药领域的重要组成部分,近年来随着互联网技术的发展,其经营管理方式也面临着数字化转型的需求。传统的中药材店铺管理多依赖手工记账和Excel表格,存在数据易丢失、统计效率低、库存管理混乱等问题。针对这一痛点,我们基于Java技术栈开发了一套专业的中药材店铺管理系统。
这套系统采用SpringBoot+SSM框架组合,实现了中药材从采购、库存、销售到财务的全流程数字化管理。我在实际开发中发现,中药材行业有其特殊性:药材种类繁多(约5000余种常用药材)、规格复杂(如三七分20头、30头等)、保质期管理严格(多数药材需阴凉干燥保存)。这些特点对系统设计提出了更高要求。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构解析
2.1 整体技术选型
系统采用前后端分离架构,主要技术栈如下:
-
前端技术:
- 核心框架:SpringMVC 5.3.22
- 模板引擎:Thymeleaf 3.0.15
- UI组件:Layui 2.7.6
- 图表库:ECharts 5.3.2
-
后端技术:
- 核心框架:SpringBoot 2.7.3
- ORM框架:MyBatis-Plus 3.5.2
- 安全框架:Shiro 1.9.0
- 缓存组件:Redis 6.2.6
-
数据库:
- 主库:MySQL 8.0.29(事务型操作)
- 从库:SQLServer 2019(报表分析)
技术选型考量:SpringBoot简化了SSM的配置复杂度,MyBatis-Plus在传统MyBatis基础上增强了CRUD操作,Shiro比Spring Security更轻量适合中小型系统,双数据库设计兼顾了事务处理和分析需求。
2.2 核心框架整合
系统采用三层架构设计:
code复制表现层(Web)
↑↓
业务逻辑层(Service)
↑↓
数据访问层(Dao)
SpringBoot的自动配置特性大幅减少了XML配置量。以下是核心配置类示例:
java复制@SpringBootApplication
@MapperScan("com.herb.dao")
@EnableTransactionManagement
public class HerbApplication {
public static void main(String[] args) {
SpringApplication.run(HerbApplication.class, args);
}
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
3. 核心功能实现
3.1 药材库存管理
中药材库存管理面临三大挑战:
- 同种药材不同规格(如当归分全归、归头、归尾)
- 批次管理严格(需记录采收/采购日期)
- 库存预警(易霉变药材需提前预警)
解决方案:
java复制// 药材实体类设计
public class Herb {
private Long id;
private String name; // 药材名称
private String spec; // 规格(20头、30头等)
private String o
