今天给大家介绍一篇基基于SSM超市管理系统的设计与实现
创始人
2024-04-11 00:21:18
0

项目描述

临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问题,今天给大家介绍一篇基基于SSM超市管理系统的设计与实现。

功能需求

通过开发基于SSM的超市信息化管理系统,根据超市管理业务流程系统处理,解决超市营业员手动管理的工作看,超市管理员只需要对商品信息、供货商信息、销售价格管理、超市会员信息记录和管理。根据业务要求划分为超市收银员员工用户实现功能为收银、添加会员、当日销售同价查看以及商品检索查看,为超市管理员设计了后台管理系统,超级管理员对整个系统的管理,主要解决商品管理、库存管理、订单管理、销售情况统计以及超市管理系统基础资料的配置。根据业务分析每个功能设计,界面设计简单易懂,操作按钮方便明了,大大提高了超市销售额度和管力度。

具备以下功能:

系统结构设计从整体到细化,根据业务的需要将分为四类用户,针对每种用户功能进行模块化设计,各个模块功能相互联系结合在一起形成一个完整的超市管理系统。前几张对系统功能模块确定,已经分析超市管理系统开发技术要点,超市管理业务过程分析。系统用户为四类:员工、店长、管理员、总经理。员工进行订单管理、添加商品、出售商品等功能。员工的用例图如图3-1所示。
在这里插入图片描述

店长进行订单管理、添加商品、出售商品、管理货物的情况、查货等功能。店长用例图如图3-2所示。

在这里插入图片描述

管理员进行订单管理、添加商品、出售商品、管理货物的情况、查货、所有权限的管理、所有人员的管理等功能。管理员用例图如图3-3所示。

在这里插入图片描述

店长进行订单管理、添加商品、出售商品、管理货物的情况、查货、所有权限的管理、所有人员的管理、查看、查看货物的销售情况等功能。店长的用例图如图3-4所示。

在这里插入图片描述

系统功能模块框架图

在这里插入图片描述

部分效果图

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

数据库设计

系统中用到了15张表,针对每个表都进行了设计,下面对部分核心表进行汇总罗列展示。
(1)用户信息表
在这里插入图片描述

(2)商品信息表
在这里插入图片描述

(3)商品类型信息表
在这里插入图片描述

(4)菜单信息表
在这里插入图片描述
(5)订单表
在这里插入图片描述
(6)供应商表
在这里插入图片描述

部分代码
/*** 用户登陆* @param imageCode* @param session* @param user* @return* @throws Exception*/@ResponseBody@RequestMapping("/login")public Map login(String imageCode, HttpSession session, User user) throws Exception {Map map = new HashMap();if (!session.getAttribute("checkcode").equals(imageCode)) {map.put("success", false);map.put("errorInfo", "验证码输入错误!");return map;}Subject subect = SecurityUtils.getSubject();UsernamePasswordToken token = new UsernamePasswordToken(user.getUserName(), user.getPassword());try {subect.login(token);String userName = (String) SecurityUtils.getSubject().getPrincipal();User currentUser = userService.findByUserName(userName);UserRole userRole = userRoleService.findAll(currentUser.getUserName());List menuList = menuService.menuList(userRole.getRoleId());session.setAttribute("menuList", menuList);session.setAttribute("currentUser", currentUser);map.put("success", true);return map;} catch (Exception e) {e.printStackTrace();map.put("success", false);map.put("errorInfo", "用户名或者密码错误!");return map;}}/*** 查询所有用户 按条件搜索* @param user* @param page* @param limit* @return* @throws Exception*/@ResponseBody@RequestMapping("/userList")public Map userList(User user, @RequestParam(value = "page", required = false) Integer page,@RequestParam(value = "limit", required = false) Integer limit) throws Exception {Map result = ResponseUtil.resultFye(page, limit);if(user.getUserName()!=null){String userName =user.getUserName();result.put("userName", userName);}List userList = userService.findAll(result);Long count = userService.count(result);return ResponseUtil.result(userList, count);}/*** 添加用户* @param user* @return* @throws Exception*/@ResponseBody@RequestMapping("/add")public Map add(User user) throws Exception {Map result = new HashMap();User userName = userService.findByUserName(user.getUserName());if (userName == null) {userService.add(user);Integer s = user.getRoleId();UserRole userRole = new UserRole();userRole.setRoleId(s);userRole.setUserId(user.getId());userRoleService.add(userRole);result.put("success", true);} else {result.put("success", false);result.put("errorInfo", "用户名已存在!");}return result;}/*** 删除用户 如有角色对应  删除角色对应关系* @param id* @return* @throws Exception*/@ResponseBody@RequestMapping("/delete")public Map delete(@RequestParam(value = "id", required = false) Integer id) throws Exception {Map result = new HashMap();userService.delete(id);userRoleService.delete(id);result.put("success", true);return result;}/*** 更新用户信息* 更新角色 删除之前的对应关系 添加新的对应关系* @param user* @return* @throws Exception*/@ResponseBody@RequestMapping("/update")public Map update(User user) throws Exception {Map result = new HashMap();UserRole userRole = userRoleService.findAll(user.getUserName());if(userRole.getRoleId()==user.getRoleId()){userService.update(user);}else{userService.update(user);userRoleService.delete(user.getId());userRole.setRoleId(user.getRoleId());userRole.setUserId(user.getId());userRoleService.add(userRole);}result.put("success", true);return result;}/*** 重置密码* @param id* @return* @throws Exception*/@ResponseBody@RequestMapping("/reset")public Map reset(@RequestParam(value = "id", required = false) Integer id) throws Exception {Map result = new HashMap();userService.updateReset(id);result.put("success", true);return result;}@RequestMapping("/logout")public String logout(HttpSession session)throws Exception{SecurityUtils.getSubject().logout();return "redirect:/login.jsp";}@ResponseBody@RequestMapping("/updatepswd")public Map updatepswd(User user) throws Exception {Map result = new HashMap();userService.update(user);result.put("success", true);return result;}
安装部署需求

eclipse、idea运行启动

系统部署

系统开发后,在生产环境配置项目运行环境,具体步骤如下:
安装linux或者windows10操作系统;
安装JDK1.8并配置环境变量;
安装MySQL5.7版本以上版本数据库,创建数据库并执行脚本创建表;
在IDEA中编辑进行打包;
下载并配置Tomcat8.0服务器,配置系统服务,上传项目打包文件

本项目用到的技术和框架

1.开发语言:Java
2.开发模式:B/S
3.数据库:MySQL
4.框架:jsp+SSM

本项目中的关键点

此系统的开发采用java语言开发,基于B/S结构,这些开发环境使系统更加完善。使用到的工具和技术都是开源免费的。

环境工具

开发工具 Eclipse/IDEA
语言 JDK1.8 、jsp、CSS、SSM
硬件:笔记本电脑;
软件:Tomcat8.0 Web服务器、Navicat数据库客户端、MySQL;
操作系统:Windows 10;
其它软件:截图工具、常用浏览器;

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...