上海个人网站备案,国内大型网站建设公司,深圳市网站设计公,咖啡网站设计建设目录
研究背景
主要特性功能#xff1a;
视频效果演示 #xff1a;
主要功能截图#xff1a;
系统首页:
疫情数据分布图模拟#xff1a;
用户管理#xff1a;
角色控制#xff1a;
菜单权限#xff1a;
每日健康打卡#xff1a;
历史出行数据#xff1…目录
研究背景
主要特性功能
视频效果演示
主要功能截图
系统首页:
疫情数据分布图模拟
用户管理
角色控制
菜单权限
每日健康打卡
历史出行数据
外出报备申请
外出请假审核
疫情通知公告
疫情资料管理
注销修改密码
主要代码实现
主要数据表设计
表clock
表file
表go_out
表info
表sys_captcha (系统验证码)
表sys_config (系统配置信息表)
表sys_log (系统日志)
表sys_menu (菜单管理)
表sys_oss (文件上传)
表sys_role (角色)
表sys_role_menu (角色与菜单对应关系)
表sys_user (系统用户)
表sys_user_role (用户与角色对应关系)
表sys_user_token (系统用户Token)
表thm
表towork_apply 获取源码联系 作者主页Java李杨勇 简介Java领域优质创作者、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我都给你】 文末获取源码联系 主要特性功能 完全响应式布局支持电脑、平板、手机等所有主流设备 强大的一键生成功能包括控制器、模型、视图、菜单等 支持多数据源简单配置即可实现切换。 支持按钮及数据权限可自定义部门数据权限。 对常用js插件进行二次封装使js代码变得简洁更加易维护 完善的XSS防范及脚本过滤彻底杜绝XSS攻击 Maven多项目依赖模块及插件分项目尽量松耦合方便模块升级、增减模块。 国际化支持服务端及客户端支持 完善的日志记录体系简单注解即可实现 支持服务监控数据监控缓存监控功能。 主要技术java、springboot、springmvc、redis、shiro、vue、element、echarts、mysql等 视频效果演示 基于SpringbootVue前后端分离疫情防疫管理系统设计和实.mp4https://www.bilibili.com/video/BV1tb4y1i7Lhhttps://www.bilibili.com/video/BV1tb4y1i7Lh 主要功能截图 用户登录、输入账号密码进行验证和用户角色判断、不同角色不同菜单权限 系统首页: 疫情数据分布图模拟 用户管理 角色控制 菜单权限 每日健康打卡 历史出行数据 外出报备申请 外出请假审核 疫情通知公告 疫情资料管理 注销修改密码
主要代码实现
菜单列表处理和显示
Service(sysMenuService)
public class SysMenuServiceImpl extends ServiceImplSysMenuDao, SysMenuEntity implements SysMenuService {Autowiredprivate SysUserService sysUserService;Autowiredprivate SysRoleMenuService sysRoleMenuService;Overridepublic ListSysMenuEntity queryListParentId(Long parentId, ListLong menuIdList) {ListSysMenuEntity menuList queryListParentId(parentId);if(menuIdList null){return menuList;}ListSysMenuEntity userMenuList new ArrayList();for(SysMenuEntity menu : menuList){if(menuIdList.contains(menu.getMenuId())){userMenuList.add(menu);}}return userMenuList;}Overridepublic ListSysMenuEntity queryListParentId(Long parentId) {return baseMapper.queryListParentId(parentId);}Overridepublic ListSysMenuEntity queryNotButtonList() {return baseMapper.queryNotButtonList();}Overridepublic ListSysMenuEntity getUserMenuList(Long userId) {//系统管理员拥有最高权限if(userId Constant.SUPER_ADMIN){return getAllMenuList(null);}//用户菜单列表ListLong menuIdList sysUserService.queryAllMenuId(userId);return getAllMenuList(menuIdList);}Overridepublic void delete(Long menuId){//删除菜单this.removeById(menuId);//删除菜单与角色关联sysRoleMenuService.removeByMap(new MapUtils().put(menu_id, menuId));}/*** 获取所有菜单列表*/private ListSysMenuEntity getAllMenuList(ListLong menuIdList){//查询根菜单列表ListSysMenuEntity menuList queryListParentId(0L, menuIdList);//递归获取子菜单getMenuTreeList(menuList, menuIdList);return menuList;}/*** 递归*/private ListSysMenuEntity getMenuTreeList(ListSysMenuEntity menuList, ListLong menuIdList){ListSysMenuEntity subMenuList new ArrayListSysMenuEntity();for(SysMenuEntity entity : menuList){//目录if(entity.getType() Constant.MenuType.CATALOG.getValue()){entity.setList(getMenuTreeList(queryListParentId(entity.getMenuId(), menuIdList), menuIdList));}subMenuList.add(entity);}return subMenuList;}
shiro权限灵活控制到目录、菜单、按钮级别以及权限拦截。 Bean(shiroFilter)public ShiroFilterFactoryBean shiroFilter(SecurityManager securityManager) {ShiroFilterFactoryBean shiroFilter new ShiroFilterFactoryBean();shiroFilter.setSecurityManager(securityManager);//oauth过滤MapString, Filter filters new HashMap();filters.put(oauth2, new OAuth2Filter());shiroFilter.setFilters(filters);MapString, String filterMap new LinkedHashMap();filterMap.put(/webjars/**, anon);filterMap.put(/druid/**, anon);filterMap.put(/app/**, anon);filterMap.put(/sys/login, anon);filterMap.put(/swagger/**, anon);filterMap.put(/v2/api-docs, anon);filterMap.put(/swagger-ui.html, anon);filterMap.put(/swagger-resources/**, anon);filterMap.put(/captcha.jpg, anon);filterMap.put(/aaa.txt, anon);filterMap.put(/virtuel/**, anon);filterMap.put(/**, oauth2);shiroFilter.setFilterChainDefinitionMap(filterMap);return shiroFilter;} 登录模块的验证以及保存token到前端
/*** 登录*/PostMapping(/sys/login)public MapString, Object login(RequestBody SysLoginForm form)throws IOException {boolean captcha sysCaptchaService.validate(form.getUuid(), form.getCaptcha());
// if(!captcha){
// return R.error(验证码不正确);
// }//用户信息SysUserEntity user sysUserService.queryByUserName(form.getUsername());//账号不存在、密码错误if(user null || !user.getPassword().equals(new Sha256Hash(form.getPassword(), user.getSalt()).toHex())) {return R.error(账号或密码不正确);}//账号锁定if(user.getStatus() 0){return R.error(账号已被锁定,请联系管理员);}//生成token并保存到数据库R r sysUserTokenService.createToken(user.getUserId());return r;}
主要数据表设计
数据库名renren-epidemic
文档版本V1.0.0
文档描述数据库表设计描述
表clock 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 id int 10 0 N Y 2 name varchar 255 0 Y N 姓名 3 phone varchar 255 0 Y N 手机号 4 szd varchar 255 0 Y N 所在地 5 stzk varchar 255 0 Y N 身体状况 6 grjc varchar 255 0 Y N 是否和感染人员接触 7 bz varchar 255 0 Y N 8 create_time datetime 19 0 Y N 日期 9 tw varchar 255 0 Y N
表file 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 id int 10 0 N Y 2 path varchar 255 0 Y N 3 file_name varchar 255 0 Y N 4 file_type varchar 255 0 Y N 5 classify varchar 255 0 Y N 6 create_time datetime 19 0 Y N 7 create_by varchar 255 0 Y N
表go_out 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 id int 10 0 N Y 2 wc_time datetime 19 0 Y N 外出时间 3 wc_yy varchar 255 0 Y N 外出原因 4 wc_dd varchar 255 0 Y N 外出地点 5 username varchar 255 0 Y N 用户姓名 6 phone varchar 255 0 Y N 联系手机号码 7 bz varchar 255 0 Y N 备注说明 8 stu varchar 255 0 Y N
表info 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 id int 10 0 N Y 2 title varchar 255 0 Y N 3 content longtext 2147483647 0 Y N 4 create_time datetime 19 0 Y N 5 create_by varchar 255 0 Y N 6 bz varchar 255 0 Y N
表sys_captcha (系统验证码) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 uuid char 36 0 N Y uuid 2 code varchar 6 0 N N 验证码 3 expire_time datetime 19 0 Y N 过期时间
表sys_config (系统配置信息表) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 id bigint 20 0 N Y 2 param_key varchar 50 0 Y N key 3 param_value varchar 2000 0 Y N value 4 status tinyint 4 0 Y N 1 状态 0隐藏 1显示 5 remark varchar 500 0 Y N 备注
表sys_log (系统日志) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 id bigint 20 0 N Y 2 username varchar 50 0 Y N 用户名 3 operation varchar 50 0 Y N 用户操作 4 method varchar 200 0 Y N 请求方法 5 params varchar 5000 0 Y N 请求参数 6 time bigint 20 0 N N 执行时长(毫秒) 7 ip varchar 64 0 Y N IP地址 8 create_date datetime 19 0 Y N 创建时间
表sys_menu (菜单管理) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 menu_id bigint 20 0 N Y 2 parent_id bigint 20 0 Y N 父菜单ID一级菜单为0 3 name varchar 50 0 Y N 菜单名称 4 url varchar 200 0 Y N 菜单URL 5 perms varchar 500 0 Y N 授权(多个用逗号分隔如user:list,user:create) 6 type int 10 0 Y N 类型 0目录 1菜单 2按钮 7 icon varchar 50 0 Y N 菜单图标 8 order_num int 10 0 Y N 排序
表sys_oss (文件上传) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 id bigint 20 0 N Y 2 url varchar 200 0 Y N URL地址 3 create_date datetime 19 0 Y N 创建时间
表sys_role (角色) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 role_id bigint 20 0 N Y 2 role_name varchar 100 0 Y N 角色名称 3 remark varchar 100 0 Y N 备注 4 create_user_id bigint 20 0 Y N 创建者ID 5 create_time datetime 19 0 Y N 创建时间
表sys_role_menu (角色与菜单对应关系) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 id bigint 20 0 N Y 2 role_id bigint 20 0 Y N 角色ID 3 menu_id bigint 20 0 Y N 菜单ID
表sys_user (系统用户) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 user_id bigint 20 0 N Y 2 username varchar 50 0 N N 用户名 3 password varchar 100 0 Y N 密码 4 salt varchar 20 0 Y N 盐 5 email varchar 100 0 Y N 邮箱 6 mobile varchar 100 0 Y N 手机号 7 status tinyint 4 0 Y N 状态 0禁用 1正常 8 create_user_id bigint 20 0 Y N 创建者ID 9 create_time datetime 19 0 Y N 创建时间
表sys_user_role (用户与角色对应关系) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 id bigint 20 0 N Y 2 user_id bigint 20 0 Y N 用户ID 3 role_id bigint 20 0 Y N 角色ID
表sys_user_token (系统用户Token) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 user_id bigint 20 0 N Y 2 token varchar 100 0 N N token 3 expire_time datetime 19 0 Y N 过期时间 4 update_time datetime 19 0 Y N 更新时间
表thm 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 id int 10 0 N Y 2 username varchar 255 0 Y N 3 cx_time datetime 19 0 Y N 4 place varchar 255 0 Y N 5 bz varchar 255 0 Y N 6 mobile varchar 255 0 Y N
表towork_apply 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 id int 10 0 N Y 2 title varchar 255 0 Y N 3 content varchar 255 0 Y N 4 apply_user varchar 255 0 Y N 5 apply_time datetime 19 0 Y N 6 bz varchar 255 0 Y N 7 stu varchar 255 0 Y N 获取源码联系 大家点赞、收藏、关注、评论啦 、查看微信公众号获取联系方式 打卡 文章 更新 115/ 365天 精彩专栏推荐订阅在下方专栏 Java项目精品实战案例《100套》https://blog.csdn.net/weixin_39709134/category_11128297.htmlhttps://blog.csdn.net/weixin_39709134/category_11128297.html web前端期末大作业网页实战《100套》https://blog.csdn.net/weixin_39709134/category_11374891.htmlhttps://blog.csdn.net/weixin_39709134/category_11374891.html