基于java ssm springboot+mybatis酒庄内部管理系统设计和实现

咱们废话不多说进入主题、系统主页展示:

用户登录后进行系统首页:主要功能模块如下、分角色管理、超级管理员拥有最高权限、可以进行菜单灵活控制、

用户信息管理;

角色权限控制管理:

管理员查看灵活配置;

插入一小部分代码段

/**

* .

*

*

*

*

*/

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<SysMenuEntity> menuList = sysMenuService.getUserMenuList(getUserId());

return R.ok().put("menuList", menuList);

}

/**

* 所有菜单列表

*/

@RequestMapping("/list")

@RequiresPermissions("sys:menu:list")

public List<SysMenuEntity> list(){

List<SysMenuEntity> 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<SysMenuEntity> 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<SysMenuEntity> 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 ssm springboot+mybatis酒庄内部管理系统设计和实现 的全部内容, 来源链接: utcz.com/p/248368.html

回到顶部