自学内容网 自学内容网

基于SSM超市管理系统的设计与实现(源码+lw+调试)

项目描述

临近学期结束,还是毕业设计,你还在做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<String, Object> login(String imageCode, HttpSession session, User user) throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
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<Menu> 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<String, Object> userList(User user, @RequestParam(value = "page", required = false) Integer page,
@RequestParam(value = "limit", required = false) Integer limit) throws Exception {
Map<String, Object> result = ResponseUtil.resultFye(page, limit);
if(user.getUserName()!=null){
String userName =user.getUserName();
result.put("userName", userName);
}
List<User> userList = userService.findAll(result);
Long count = userService.count(result);
return ResponseUtil.result(userList, count);
}

/**
 * 添加用户
 * @param user
 * @return
 * @throws Exception
 */
@ResponseBody
@RequestMapping("/add")
public Map<String, Object> add(User user) throws Exception {
Map<String, Object> result = new HashMap<String, Object>();
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<String, Object> delete(@RequestParam(value = "id", required = false) Integer id) throws Exception {
Map<String, Object> result = new HashMap<String, Object>();
userService.delete(id);
userRoleService.delete(id);
result.put("success", true);
return result;
}

/**
 * 更新用户信息
 * 更新角色 删除之前的对应关系 添加新的对应关系
 * @param user
 * @return
 * @throws Exception
 */
@ResponseBody
@RequestMapping("/update")
public Map<String, Object> update(User user) throws Exception {
Map<String, Object> result = new HashMap<String, Object>();
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<String, Object> reset(@RequestParam(value = "id", required = false) Integer id) throws Exception {
Map<String, Object> result = new HashMap<String, Object>();
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<String, Object> updatepswd(User user) throws Exception {
Map<String, Object> result = new HashMap<String, Object>();
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;
其它软件:截图工具、常用浏览器;


原文地址:https://blog.csdn.net/mxg74110/article/details/143673733

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!