基于java|基于java ssm springboot+mybatis酒庄内部管理系统设计和实现
目录
- 咱们废话不多说进入主题、系统主页展示:
- 用户信息管理;
- 角色权限控制管理:
- 管理员查看灵活配置;
- 插入一小部分代码段
- 通知公告信息管理
- 总结
咱们废话不多说进入主题、系统主页展示:
![基于java|基于java ssm springboot+mybatis酒庄内部管理系统设计和实现](https://img.it610.com/image/info11/8c1e59629b8f4382bf0ccfca01052a5e.jpg)
文章图片
用户登录后进行系统首页:主要功能模块如下、分角色管理、超级管理员拥有最高权限、可以进行菜单灵活控制、
![基于java|基于java ssm springboot+mybatis酒庄内部管理系统设计和实现](https://img.it610.com/image/info11/6723e4ce684c481bb265425cbcf9aa0c.jpg)
文章图片
用户信息管理;
![基于java|基于java ssm springboot+mybatis酒庄内部管理系统设计和实现](https://img.it610.com/image/info11/aefbfabbd77c4a76840cd25ad556d98d.jpg)
文章图片
角色权限控制管理: 【基于java|基于java ssm springboot+mybatis酒庄内部管理系统设计和实现】
![基于java|基于java ssm springboot+mybatis酒庄内部管理系统设计和实现](https://img.it610.com/image/info11/46622ae9cc984d14ac19455884756f54.jpg)
文章图片
管理员查看灵活配置;
![基于java|基于java ssm springboot+mybatis酒庄内部管理系统设计和实现](https://img.it610.com/image/info11/4f545e8c3b81468da8dc71f9dec583c3.jpg)
文章图片
插入一小部分代码段
/** * . * * * * */package io.renren.modules.sys.controller; import io.renren.common.annotation.SysLog; import io.renren.common.exception.RRException; import io.renren.common.utils.Constant; import io.renren.common.utils.R; import io.renren.modules.sys.entity.SysMenuEntity; import io.renren.modules.sys.service.SysMenuService; import org.apache.commons.lang.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * 系统菜单 * * @author Mark s.com */@RestController@RequestMapping("/sys/menu")public class SysMenuController extends AbstractController { @Autowired private SysMenuService sysMenuService; /*** 导航菜单*/ @RequestMapping("/nav") public R nav(){List menuList = sysMenuService.getUserMenuList(getUserId()); return R.ok().put("menuList", menuList); } /*** 所有菜单列表*/ @RequestMapping("/list") @RequiresPermissions("sys:menu:list") public List list(){List menuList = sysMenuService.list(); for(SysMenuEntity sysMenuEntity : menuList){SysMenuEntity parentMenuEntity = sysMenuService.getById(sysMenuEntity.getParentId()); if(parentMenuEntity != null){sysMenuEntity.setParentName(parentMenuEntity.getName()); }}return menuList; } /*** 选择菜单(添加、修改菜单)*/ @RequestMapping("/select") @RequiresPermissions("sys:menu:select") public R select(){//查询列表数据List menuList = sysMenuService.queryNotButtonList(); //添加顶级菜单SysMenuEntity root = new SysMenuEntity(); root.setMenuId(0L); root.setName("一级菜单"); root.setParentId(-1L); root.setOpen(true); menuList.add(root); return R.ok().put("menuList", menuList); } /*** 菜单信息*/ @RequestMapping("/info/{menuId}") @RequiresPermissions("sys:menu:info") public R info(@PathVariable("menuId") Long menuId){SysMenuEntity menu = sysMenuService.getById(menuId); return R.ok().put("menu", menu); } /*** 保存*/ @SysLog("保存菜单") @RequestMapping("/save") @RequiresPermissions("sys:menu:save") public R save(@RequestBody SysMenuEntity menu){//数据校验verifyForm(menu); sysMenuService.save(menu); return R.ok(); } /*** 修改*/ @SysLog("修改菜单") @RequestMapping("/update") @RequiresPermissions("sys:menu:update") public R update(@RequestBody SysMenuEntity menu){//数据校验verifyForm(menu); sysMenuService.updateById(menu); return R.ok(); } /*** 删除*/ @SysLog("删除菜单") @RequestMapping("/delete") @RequiresPermissions("sys:menu:delete") public R delete(long menuId){if(menuId <= 31){return R.error("系统菜单,不能删除"); }//判断是否有子菜单或按钮List menuList = sysMenuService.queryListParentId(menuId); if(menuList.size() > 0){return R.error("请先删除子菜单或按钮"); }sysMenuService.delete(menuId); return R.ok(); } /*** 验证参数是否正确*/ private void verifyForm(SysMenuEntity menu){if(StringUtils.isBlank(menu.getName())){throw new RRException("菜单名称不能为空"); }if(menu.getParentId() == null){throw new RRException("上级菜单不能为空"); }//菜单if(menu.getType() == Constant.MenuType.MENU.getValue()){if(StringUtils.isBlank(menu.getUrl())){throw new RRException("菜单URL不能为空"); }}//上级菜单类型int parentType = Constant.MenuType.CATALOG.getValue(); if(menu.getParentId() != 0){SysMenuEntity parentMenu = sysMenuService.getById(menu.getParentId()); parentType = parentMenu.getType(); }//目录、菜单if(menu.getType() == Constant.MenuType.CATALOG.getValue() ||menu.getType() == Constant.MenuType.MENU.getValue()){if(parentType != Constant.MenuType.CATALOG.getValue()){throw new RRException("上级菜单只能为目录类型"); }return ; }//按钮if(menu.getType() == Constant.MenuType.BUTTON.getValue()){if(parentType != Constant.MenuType.MENU.getValue()){throw new RRException("上级菜单只能为菜单类型"); }return ; } }}
简单模拟实现邮件群发给所有用户
![基于java|基于java ssm springboot+mybatis酒庄内部管理系统设计和实现](https://img.it610.com/image/info11/e65c197e0ab148ea8be42e947bcad090.jpg)
文章图片
红酒信息管理
![基于java|基于java ssm springboot+mybatis酒庄内部管理系统设计和实现](https://img.it610.com/image/info11/70a4904eac1a4bf7b85a800b18c7091f.jpg)
文章图片
![基于java|基于java ssm springboot+mybatis酒庄内部管理系统设计和实现](https://img.it610.com/image/info11/6083bebbeea84d59b61d4a672a15a170.jpg)
文章图片
通知公告信息管理
![基于java|基于java ssm springboot+mybatis酒庄内部管理系统设计和实现](https://img.it610.com/image/info11/14833645a0784c74a83b0559a582328b.jpg)
文章图片
![基于java|基于java ssm springboot+mybatis酒庄内部管理系统设计和实现](https://img.it610.com/image/info11/2f6d0a6127f343b29877152b94ef4c0c.jpg)
文章图片
总结 本片文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 基于微信小程序带后端ssm接口小区物业管理平台设计
- 基于|基于 antd 风格的 element-table + pagination 的二次封装
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- 基于爱,才会有“愿望”当“要求”。2017.8.12
- Java|Java基础——数组