首页 > 其他分享 >基于springboot的通知反馈系统

基于springboot的通知反馈系统

时间:2023-09-05 10:38:26浏览次数:33  
标签:基于 return springboot 修改 部门 session 管理员 消息 反馈系统


博主主页猫头鹰源码

博主简介:Java领域优质创作者、博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战

主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询

项目介绍: 

该系统创作于2022年4月,包含详细数据库设计。基于springboot技术,数据层为MyBatis,mysql数据库,页面使用html,具有完整的业务逻辑,适合选题:通知、消息通知、通知反馈、部门信息收集等。

项目功能:

系统共分为平台管理员,单位管理员,部门管理员,普通员工,四种角色,平台管理员由数据库内部预设,单位管理员新增员工的时候,可以新增不同角色,比如可以新增部门管理员,也可以新增普通员工

消息分为两种
1通知类消息(不需要回复和提交文件) 发布通知信息时要有标题、内容、发布时间、发布人、发送给的相关部门或小组;
2材料收集类消息(可以回复和提交文件)发布材料收集需求时要有标题、内容、发布时间、发布人、发送给的相关部门或小组、收集材料的名称和说明,截至提交时间;

平台管理员:
单位管理员管理:新增单位管理员(不能新增部门管理员),修改,查看,删除
单位管理:新建单位,删除,修改,查看

单位管理员:
个人信息管理:查看个人信息,修改
部门管理:新建,删除,修改,查看
部门管理员管理:新增部门管理员,删除部门管理员,修改,查看
通知类消息管理:发布消息,删除已发布消息,修改消息,查询消息(统计消息哪些人已读未读,并做统计)
材料收集类消息管理:发布消息,删除已发布消息,修改消息,查询消息
下载消息中提交的材料

部门管理员:
个人信息管理:查看个人信息,修改
小组管理:增加小组,删除小组,修改小组,查看小组
普通员工管理:增加本部门员工,修改员工(可以修改所在的小组),删除员工,查看员工列表
通知类消息管理:发布消息,删除已发布消息,修改消息,查询消息(统计消息哪些人已读未读,并做统计) 一个列表,谁读谁没读
材料收集类消息管理:发布消息,删除已发布消息,修改消息,查询消息
下载消息中提交的材料

普通员工:
个人信息管理:查看个人信息,部分信息修改(修改姓名年龄性别 不能修改所属部门、小组)
消息管理:查看(仅查看所属部门消息),材料收集类消息可以回复、上传文件

数据模型:

基于springboot的通知反馈系统_spring boot

数据库表结构文档:

基于springboot的通知反馈系统_后端_02

系统包含技术:

后端:springboot、mybatis
前端:layui,js,css等,html页面
开发工具:idea
数据库:mysql 5.7
JDK版本:jdk1.8

部分截图说明:

系统分为多个角色,下面是登录页面

基于springboot的通知反馈系统_spring boot_03

下面是平台管理员首页

基于springboot的通知反馈系统_后端_04

 

平台管理员可以对单位管理员管理

基于springboot的通知反馈系统_java_05

平台管理员对单位管理

基于springboot的通知反馈系统_java_06

部门管理员对部门管理

基于springboot的通知反馈系统_后端_07

 部门管理员可以对小组进行管理

基于springboot的通知反馈系统_后端_08

员工管理

基于springboot的通知反馈系统_后端_09

 

 部门管理员看通知消息

基于springboot的通知反馈系统_spring boot_10

部门管理员查看材料收集消息

基于springboot的通知反馈系统_spring boot_11

员工查看通知消息

基于springboot的通知反馈系统_开发语言_12

 

部分代码:

 拦截器

@Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        HttpSession session = request.getSession();
        if(session.getAttribute("userInfo") != null){
            return true;
        }
        // 不符合条件的给出提示信息,并转发到主页面
        request.setAttribute("msg", "您还没有登录,请先登录!");
        request.getRequestDispatcher("/logout").forward(request, response);
        //返回true通过,返回false拦截
        return false;
    }

部门管理

/**进入列表页面*/
    @GetMapping("/department")
    public String userIframe(Model model, HttpSession session){
        Organ organ = new Organ();
        String type = (String)session.getAttribute("type");
        if(type.equals("02")){
            OrganAdmin organAdmin = (OrganAdmin)session.getAttribute("userInfo");
            organ.setId(Integer.parseInt(organAdmin.getOid()));
        }
        List<Organ> organs = organService.selectByCondition(organ);
        model.addAttribute("organs",organs);
        return "DepartmentList";
    }

    /**列表数据*/
    @GetMapping("/list")
    @ResponseBody
    public PageResultVo findDepartment(Department department, Integer limit, Integer page, HttpSession session){
        String type = (String)session.getAttribute("type");
        if(type.equals("02")){
            OrganAdmin organAdmin = (OrganAdmin)session.getAttribute("userInfo");
            department.setOid(organAdmin.getOid());
        }
        PageHelper.startPage(page,limit);
        List<Department> departmentList = departmentService.selectByCondition(department);
        PageInfo<Department> pages = new PageInfo<>(departmentList);
        return JsonData.table(departmentList,pages.getTotal());
    }


    /**编辑详情*/
    @GetMapping("/edit")
    @ResponseBody
    public Department edit(Model model, String id){
        return departmentService.selectById(id);
    }


    /**编辑*/
    @PostMapping("/edit")
    @ResponseBody
    public JsonData edit(Department department){
        List<Department> all = departmentService.findAll();
        for(int i=0;i<all.size();i++){
            if(all.get(i).getName().equals(department.getName()) && all.get(i).getId()!=department.getId()  && all.get(i).getOid().equals(department.getOid())){
                return JsonData.fail("部门名称重复,请重试!");
            }
        }
        int a = departmentService.updateById(department);
        if (a > 0) {
          return JsonData.success(null,"编辑成功!");
        } else {
          return JsonData.fail("编辑失败");
        }
    }


    /**删除*/
    @PostMapping("/del")
    @ResponseBody
    public JsonData del(String id){
        try{
          departmentService.deleteById(Integer.parseInt(id));
        }catch(Exception ex){
          JsonData.fail("出现错误");
        }
        return JsonData.success(null,"删除成功");
    }

以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。

好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~

标签:基于,return,springboot,修改,部门,session,管理员,消息,反馈系统
From: https://blog.51cto.com/u_14544277/7368791

相关文章

  • 基于Java的私人牙医诊所(医院)系统
    博主主页:猫头鹰源码博主简介:Java领域优质创作者、博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询项目介绍:本系统采用servlet技术,mysql数据库,mvc架构,适合基础一般的同学,......
  • 基于springboot的在线心理测评系统
    项目介绍:本系统采用springboot框架,数据层采用mybatis,数据库使用mysql,功能包含前台和后台,比如心理文章查看、留言、测评、公告等,后台维护所有信息,具体功能实现可以建议看下方的演示视频,系统适合于基础一般的同学使用。项目技术:后端:springboot、mybatis前端:layui、js、css、ajax,thym......
  • 基于SSM的先锋图书管理系统
    项目介绍:本系统为原创项目,基于SSM整合开发,分为2个角色。下方为需求功能。项目需求:分为两个角色,分别为管理员和用户管理员:登录注册、用户管理:添加,修改,删除,搜索查看,拉入黑名单分类管理:添加分类,修改,删除,搜索查看图书管理:添加图书,修改,删除,搜索查看借阅管理:搜索查看借阅信息归还......
  • 基于SSM的小说阅读网站
    本系统采用SSM框架,数据层采用mybatis,数据库使用mysql,适合:小说、小说阅读、书籍网站等,下面是大概的功能,系统适合于基础一般的同学使用。项目技术:后端:SSM整合前端:bootstrap、js、css等开发工具:eclipse数据库:mysql5.7JDK版本:jdk1.8服务器:tomcat8功能概述:小说管理员:登陆注册首......
  • 基于springboot的高校(学生)评教系统
    项目介绍:本系统采用SpringBoot框架,数据层采用mybatis,数据库使用mysql,可以用作毕业设计、课程设计等,适合选题:评教、高校评教等,分为3个角色:管理员、教师、学生。管理员功能有:学生管理、教师管理、评教管理、指标管理、课程管理等。教师功能有:学生管理、指标管理、课程管理。学生功能......
  • 基于SSM的驾校网站
    项目介绍:本系统采用SSM框架,数据层采用mybatis,数据库使用mysql,系统适合于基础一般的同学使用。项目技术:后端:SSM整合前端:bootstrap、easyui、js、css、ajax等开发工具:eclipse数据库:mysql5.7JDK版本:jdk1.8服务器:tomcat8功能概述:前端:登陆或者注册系统能够对个人信息进行修改能......
  • 基于SSM的校园招聘网站
    项目介绍:本系统采用SSM框架,数据层采用mybatis,数据库使用mysql,下面是大概的功能。项目技术:后端:ssm前端:js、css等开发工具:eclipse数据库:mysql5.7JDK版本:jdk1.8服务器:tomcat8功能概述:系统分为三个角色,分别为管理员、企业、学生三个角色。学生:注册登陆功能维护个人信息查看......
  • 基于SSM的实验室预约系统
    项目介绍:本系统采用SSM框架,数据层采用mybatis,数据库使用mysql,下面是大概的功能,系统适合于基础一般的同学使用。项目技术:后端:ssm前端:layui、js、css等开发工具:idea数据库:mysql5.7JDK版本:jdk1.8服务器:tomcat8功能概述:系统分为三个角色,分别为管理员、教师、学生。管理员:实验......
  • 基于SSM的校园帮系统
    项目介绍:本系统采用SSM框架,数据层采用mybatis,数据库使用mysql,下面是大概的功能,系统适合于基础一般的同学使用。项目技术:后端:ssm前端:layui、js、css等开发工具:eclipse数据库:mysql5.7JDK版本:jdk1.8服务器:tomcat8功能概述:学生:登陆注册系统发布任务领取任务个人信息维护修改......
  • 基于SSM的大学拍卖网站(含文档)
    项目介绍: 本系统采用SSM框架,数据层采用mybatis,数据库使用mysql,适合毕业设计,下面是大概的功能,具体功能实现可以建议看下方的演示视频,系统适合于基础一般的同学使用。项目技术:管理端:springboot、mybatis、layui小程序端:uniapp、uview、js、css等开发工具:idea/hbuilder数据库:mysql......