springboot医药超市管理系统---附源码44838

发布时间:2026/7/26 8:15:19
springboot医药超市管理系统---附源码44838 源码获取私信联系我即可~大家点赞、收藏、关注、评论啦精彩专栏推荐订阅在下方专栏 精彩专栏 推荐订阅java精品项目案例【3000套】java精品项目案例【3000套】https://blog.csdn.net/fykj_2010/category_13187274.htmlPython精品项目案例【500套】express精品项目案例【800套】uniapp/微信小程序/安卓app【1800套】✅文末获取源码✅感兴趣的可以先收藏起来还有大家在毕设选题项目以及论文编写等相关问题都可以找我咨询希望帮助更多的人❤️目录摘要Abstract1 绪论1.1 研究背景与意义1.2 国内外研究现状1.3 主要研究内容2 相关技术介绍2.1 SpringBoot框架2.2 Vue框架2.3 MySQL数据库2.4 MyBatis框架3 系统分析3.1 可行性分析3.1.1 技术可行性3.1.2 经济可行性3.1.3 操作可行性3.2 功能需求分析3.2.1 普通用户角色功能需求3.2.2 管理员角色功能需求4 系统设计4.1 系统架构设计4.2 系统结构功能设计4.3 系统流程设计4.3.1 系统总体业务流程设计4.3.2 药品查询流程设计4.3.3 处方登记流程设计4.3.4 订单处理流程设计4.3.5 订单配送流程设计4.4 数据库设计4.4.1 概念设计4.4.2 数据库表设计5 系统实现5.1 普通用户角色功能实现5.1.1 登录注册功能实现5.1.2 药品信息查询功能实现5.1.3 收货地址管理功能实现5.1.4 订单管理功能实现5.1.5 购物车管理功能实现5.1.6 处方登记功能实现5.1.7 健康信息管理功能实现5.1.8 日程管理功能实现5.1.9 订单配送查询功能实现5.2 管理员角色功能实现5.2.1 处方登记管理功能实现5.2.2 健康信息管理功能实现5.2.3 公告信息管理功能实现5.2.4 资源管理功能实现5.2.5 药品信息管理功能实现5.2.6 订单列表管理功能实现5.2.7 订单配送管理功能实现5.2.8 订单售后管理功能实现5.2.9 通知发布功能实现6 系统测试6.1 测试目的6.2 测试方法6.3 测试用例6.4 测试结论7 总结参考文献致谢功能需求分析普通用户角色功能需求普通用户在登录认证之后就会进入到系统的前台。用户可以在药品信息模块里根据分类、关键词、排序等条件查询药品列表并且可以查看药品详情以及用户的评价。购物车功能可以实现用户添加商品、修改数量、删除条目的操作。订单管理模块可以对订单的提交、查看状态和售后申请等进行操作。处方登记功能上传处方图片、填写备注信息后提交给管理员审核。健康信息管理功能可以记录用户过敏史、健康状况等信息并且可以进行多次录入形成健康档案。日程管理功能可以设置用药提醒或者其它健康相关日程。收货地址有多个配送地址可以设置默认地址。订单配送查询模块可以查看物流状态以及签收信息。普通用户用例图如图3-1所示。管理员角色功能需求管理员登陆后台系统开展业务管理相关工作。处方登记管理模块显示用户提交的处方列表管理员可以查看处方附图和备注进行审核通过或者拒绝的操作并填写审核意见。健康信息管理模块可以查看用户健康档案记录并对异常数据进行查询和删除操作。公告信息管理功能发布系统公告公告标题和内容在前台显示。药品信息管理模块完成药品上架、下架编辑药品基本信息、价格、库存、详情描述等。订单列表查看所有用户的订单按订单状态筛选处理发货操作。订单配送管理跟踪已发出的订单配送情况更新物流信息。根据用户提交的售后申请来执行订单售后管理审核通过之后才开始退款。通知发布功能可以向某个用户或者全部用户发布系统通知。管理员用例图如图3-2所示。系统流程设计系统总体业务流程设计用户进入系统后需要完成登录认证。普通用户浏览药品列表并将商品加入购物车提交订单时选择收货地址与配送方式。若订单中包含处方药系统要求用户上传处方图片。处方提交后等待管理员审核审核通过后订单进入待发货状态。管理员在后台查看订单列表确认订单信息后执行发货操作系统生成物流单号。用户确认收货后订单状态变更为已完成。健康信息管理模块支持用户独立维护个人健康档案。系统总体业务流程如图4-3所示。药品查询流程设计用户在药品列表页输入查询条件后系统发起检索请求。查询条件包括药品名称关键字、药品分类、厂商信息以及上架状态筛选。系统根据组合条件拼接查询语句并在药品信息表中执行检索操作。检索结果按照上架时间或销量排序后返回前端展示。用户点击药品卡片可跳转详情页获取完整信息。药品查询流程如图4-4所示。处方登记流程设计用户进入处方登记页面填写基本信息。登记内容包括购药人姓名、性别、出生年月、身高体重等个人资料。用户上传处方图片作为审核依据并填写处方备注说明。提交后系统生成登记编号并保存处方记录。管理员后台查看未审核处方核对处方图片与信息后执行通过或拒绝操作。审核结果通过系统通知反馈给用户。处方登记流程如图4-5所示。数据库DROP TABLE IF EXISTS ordinary_user; CREATE TABLE ordinary_user(ordinary_user_id int(11) NOT NULL AUTO_INCREMENT COMMENT 普通用户ID, user_name varchar(64) comment 用户姓名, mobile_phone_number varchar(16) comment 手机号码, user_gender varchar(64) comment 用户性别, examine_state varchar(16) DEFAULT 已通过 NOT NULL comment 审核状态, user_id int(11) DEFAULT 0 NOT NULL comment 用户ID, create_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, create_by int(11) DEFAULT 1 NOT NULL comment 创建用户ID, update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间, DROP TABLE IF EXISTS drug_information; CREATE TABLE drug_information(drug_information_id int(11) NOT NULL AUTO_INCREMENT COMMENT 药品信息ID, drug_manufacturers varchar(64) comment 药品厂商, drug_taboos varchar(64) comment 药品禁忌, hits int(11) DEFAULT 0 NOT NULL comment 点击数, comment_len int(11) DEFAULT 0 NOT NULL comment 评论数, recommend int(11) DEFAULT 0 NOT NULL comment 智能推荐, cart_title varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 标题, cart_img text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 封面图, cart_description varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 描述, cart_price_ago double(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT 原价, cart_price double(8, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT 卖价, cart_inventory int(11) NOT NULL DEFAULT 0 COMMENT 商品库存, cart_type varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 未分类 COMMENT 商品分类, cart_content longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 正文, cart_img_1 text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 主图1, cart_img_2 text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 主图2, cart_img_3 text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 主图3, cart_img_4 text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 主图4, cart_img_5 text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 主图5, list_status smallint(1) DEFAULT 1 COMMENT 上架状态0下架1上架, sku longtext COMMENT 规格, create_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, create_by int(11) DEFAULT 1 NOT NULL comment 创建用户ID, update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间, DROP TABLE IF EXISTS prescription_registration; CREATE TABLE prescription_registration(prescription_registration_id int(11) NOT NULL AUTO_INCREMENT COMMENT 处方登记ID, registration_number varchar(64) comment 登记编号, registration_date date comment 登记日期, name_of_purchaser varchar(64) comment 购药人姓名, gender varchar(64) comment 性别, date_of_birth varchar(64) comment 出生年月, body_weight double(8,2) DEFAULT 0 comment 体重, height double(8,2) DEFAULT 0 comment 身高, prescription_attached_drawing text comment 处方附图, prescription_remarks text comment 处方备注, upload_person int(11) DEFAULT 0 comment 上传人员, mobile_phone_number varchar(16) comment 手机号码, examine_state varchar(16) DEFAULT 未审核 NOT NULL comment 审核状态, examine_reply varchar(255) DEFAULT comment 审核回复, create_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, create_by int(11) DEFAULT 1 NOT NULL comment 创建用户ID, update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间, DROP TABLE IF EXISTS health_information; CREATE TABLE health_information(health_information_id int(11) NOT NULL AUTO_INCREMENT COMMENT 健康信息ID, record_number varchar(64) comment 记录编号, record_date date comment 记录日期, allergy_history varchar(64) comment 过敏史, record_health text comment 记录健康, recording_personnel int(11) DEFAULT 0 comment 记录人员, user_name varchar(64) comment 用户姓名, mobile_phone_number varchar(16) comment 手机号码, create_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, create_by int(11) DEFAULT 1 NOT NULL comment 创建用户ID, update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间,普通用户角色功能实现登录注册功能实现用户登录时前端发送用户名与密码至后端UserController中的login方法接收请求后调用服务层查询数据库。密码采用RSA解密后与存储密文比对验证通过后系统生成UUID作为访问令牌。令牌存入Redis缓存并设置2小时有效期同时返回用户基本信息与令牌。注册功能调用register方法检查用户名唯一性通过后执行插入操作。登录注册界面如图5-1所示。图5-1 登录注册界面核心代码实现如下PostMapping(login)public MapString, Object login(RequestBody MapString, String data, HttpServletRequest httpServletRequest) {String username data.get(username);String password data.get(password);password RsaUtils.decryptByPrivateKey(password);List resultList service.selectBaseList(service.select(map, new HashMap()));AccessToken accessToken new AccessToken();accessToken.setToken(UUID.randomUUID().toString().replaceAll(-, ));药品信息查询功能实现药品信息查询主要由DrugInformationController处理前端检索请求。控制器调用get_list方法接收查询参数服务层根据药品名称关键字、分类条件动态拼接SQL语句。查询结果按照分页配置返回药品列表每条记录包含标题、价格、库存、药品厂商等完整信息。前端展示药品卡片供用户浏览选择。药品信息查询界面如图5-2所示。图5-2 药品信息查询界面核心代码实现如下RequestMapping(/get_list)public MapString, Object getList(HttpServletRequest request) {MapString, Object map this.service.selectToPage(service.readQuery(request), service.readConfig(request));return success(map);}收货地址管理功能实现收货地址管理由AddressController提供增删改查接口。用户提交地址信息时add方法接收JSON数据并执行插入操作系统自动校验地址字段非空。set方法用于更新已有地址用户可修改收货人姓名、手机号码、详细地址等内容。del方法根据地址ID删除记录get_list方法返回当前用户的所有地址列表。收货地址管理界面如图5-3所示。图5-3 收货地址管理界面核心代码实现如下PostMapping(/add)Transactionalpublic MapString, Object add(HttpServletRequest request) throws IOException {Address address JSON.parseObject(JSON.toJSONString(service.readBody(request.getReader())),Address.class);address.setAddressId(null);this.addEntity(address);return success(1);}订单管理功能实现订单管理通过OrderController处理订单创建与状态变更。用户提交订单时系统调用订单生成逻辑先插入订单主表记录再扣减对应商品库存。订单状态包括待付款、待发货、待签收、已完成等。get_business_order_list方法根据用户ID查询订单列表支持按订单号、商品名称、联系人姓名筛选。订单管理界面如图5-4所示。图5-4 订单管理界面核心代码实现如下RequestMapping(/get_business_order_list)public MapString, Object getBusinessOrderList(HttpServletRequest request) {MapString,String query service.readQuery(request);String sql SELECT t1.* FROM order t1 LEFT JOIN goods t2 ON t1.goods_id t2.goods_id WHERE t2.user_id query.get(user_id);map.put(list,service.selectBaseList(sql));return success(map);}购物车管理功能实现购物车管理由CartController负责购物车数据的存储与同步。用户将商品加入购物车时系统检查该商品是否已在购物车中存在存在则更新数量否则新增记录。Cart实体包含商品ID、标题、单价、数量、用户ID等字段。用户可修改购买数量或移除商品系统重新计算小计与总金额。购物车管理界面如图5-5所示。图5-5 购物车管理界面核心代码实现如下RestControllerRequestMapping(cart)public class CartController extends BaseControllerCart, CartService {Autowiredpublic CartController(CartService service) {setService(service);}}处方登记功能实现处方登记由PrescriptionRegistrationController处理用户处方上传请求。用户填写购药人姓名、性别、出生年月、身高体重等信息后提交处方图片。add方法接收表单数据并生成登记编号examine_state字段初始化为未审核状态。管理员在后台审核后调用update_examine_state方法更新审核状态。处方登记界面如图5-6所示。图5-6 处方登记界面源码获取私信联系我即可~大家点赞、收藏、关注、评论啦精彩专栏推荐订阅在下方专栏