主要技术:spring、 springmvc、 springboot、 mybatis 、 jquery 、 md5 、bootstarp.js tomcat、富文本编译器、拦截器等
主要功能:用户、角色、权限、菜单、内部邮件群发、给管理员发送邮件、酒类管理、红酒信息管理、通知公告管理、修改密码等
论文目录结构:
一、 绪论 4
好了废话不多说进入主题、系统主页展示:
用户登录后进行系统首页:主要功能模块如下、分角色管理、超级管理员拥有最高权限、可以进行菜单灵活控制、
用户信息管理;
角色权限控制管理:
管理员查看灵活配置;
插入一小部分代码段
-
/**
-
* .
-
*
-
*
-
*
-
*
-
*/
-
-
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 ;
-
}
-
}
-
}
简单模拟实现邮件群发给所有用户
红酒信息管理
通知公告信息管理
系统包括源码+sql+论文文档
好了、《java精品毕设酒庄内部管理系统》就介绍到这了、这个酒庄内部信息管理系统比较齐全完善、适合学生和毕设参考使用、
作者QQ:810569458 项目有偿分享哈
平时提供Java毕设定做:选题+功能设计+任务所明书+开题+提纲+中期检查+代码+论文+毕业答辩语音指导一小时+远程部署等一些日常指导
关注博主一键三连哟
点击查看更多java精品毕设项目 >>>
转载:https://blog.csdn.net/weixin_39709134/article/details/117266374
查看评论