【开源】基于JAVA语言的软件学院思政案例库系统


目录

  • 一、摘要
    • [1.1 项目介绍](#1.1 项目介绍)
    • [1.2 项目录屏](#1.2 项目录屏)
  • 二、功能模块
    • [2.1 系统管理员](#2.1 系统管理员)
    • [2.2 普通教师](#2.2 普通教师)
  • 三、系统展示
  • 四、核心代码
    • [4.1 查询思政案例](#4.1 查询思政案例)
    • [4.2 审核思政案例](#4.2 审核思政案例)
    • [4.3 查询思政课程](#4.3 查询思政课程)
    • [4.4 思政案例点赞](#4.4 思政案例点赞)
    • [4.5 新增思政案例评语](#4.5 新增思政案例评语)
  • 五、免责说明

一、摘要

1.1 项目介绍

基于JAVA+Vue+SpringBoot+MySQL的软件学院思政案例库系统,包含了新闻资讯、特色专区、院系专区、热门专题、热门课程、思政课程、思政案例、案例点赞、案例打分模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,软件学院思政案例库系统基于角色的访问控制,给系统管理员、普通教师使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏


二、功能模块

2.1 系统管理员

按照软件工程规范描述管理员端需求,细化用例规约,合理设计数据库,实现管理员端以下功能。

  1. 配置系统中各项基础数据,包括教师、课程及用户权限等。
  2. 设计平台首页,包括新闻资讯、特色专区、院系专区、热点专题、热门课程思政资源等板块。
  3. 课程思政展示区,包括课程介绍、教学设计、教学视频、教学说课、教学课件、授课教师、课程分享、学习人数统计等。
  4. 对教师提交的信息进行审核,审核通过后在门户发布,审核不通过的说明原因并允许教师进行修改。
  5. 对平台中的思政案例按浏览和点赞等数据进行统计和排序展示。

2.2 普通教师

按照软件工程规范描述普通教师端需求,细化用例规约,合理设计数据库,实现普通教师端以下功能。

  1. 学习观摩网站平台上所有的思政资源,可以按需求、按类别(人格培养类、家国情怀类、中国自信类、大国工匠类、科技报国类、职业伦理类等)搜索感兴趣的思政案例,对别人发布的资源进行点赞和评分。
  2. 系统注册和登录。
  3. 修改个人基本信息.。
  4. 上传思政案例,对个人的思政资源进行修改再提交及删除等管理操作。
  5. 查看个人已发布思政资源的浏览量、点赞和评分等数据。

三、系统展示











四、核心代码

4.1 查询思政案例

java 复制代码
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询思政案例")
public Result<IPage<ThoCase>> getByPage(@ModelAttribute ThoCase thoCase ,@ModelAttribute PageVo page){
    QueryWrapper<ThoCase> qw = new QueryWrapper<>();
    User currUser = securityUtil.getCurrUser();
    QueryWrapper<User> userQw = new QueryWrapper<>();
    userQw.eq("id",currUser.getId());
    userQw.inSql("id","SELECT user_id FROM a_user_role WHERE del_flag = 0 AND role_id = '1536606659751841799'");
    if(iUserService.count(userQw) < 1L) {
        qw.eq("status","审核通过");
    }
    if(!ZwzNullUtils.isNull(thoCase.getTitle())) {
        qw.like("title",thoCase.getTitle());
    }
    if(!ZwzNullUtils.isNull(thoCase.getQues())) {
        qw.like("ques",thoCase.getQues());
    }
    if(!ZwzNullUtils.isNull(thoCase.getType())) {
        qw.like("type",thoCase.getType());
    }
    IPage<ThoCase> data = iThoCaseService.page(PageUtil.initMpPage(page),qw);
    for (ThoCase c : data.getRecords()) {
        QueryWrapper<ThoZan> zanQw = new QueryWrapper<>();
        zanQw.eq("case_id",c.getId());
        zanQw.eq("user_id",currUser.getId());
        c.setZanFlag(iThoZanService.count(zanQw));
    }
    return new ResultUtil<IPage<ThoCase>>().setData(data);
}

4.2 审核思政案例

java 复制代码
@RequestMapping(value = "/audit", method = RequestMethod.POST)
@ApiOperation(value = "审核思政案例")
public Result<Object> audit(@RequestParam String id,@RequestParam String type,@RequestParam String msg){
    ThoCase c = iThoCaseService.getById(id);
    if(c == null) {
        return ResultUtil.error("案例不存在");
    }
    c.setStatus(type);
    c.setAuditMsg(msg);
    iThoCaseService.saveOrUpdate(c);
    return ResultUtil.success();
}

4.3 查询思政课程

java 复制代码
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询思政课程")
public Result<IPage<ThoCurriculum>> getByPage(@ModelAttribute ThoCurriculum thoCurriculum ,@ModelAttribute PageVo page){
    QueryWrapper<ThoCurriculum> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(thoCurriculum.getTitle())) {
        qw.like("title",thoCurriculum.getTitle());
    }
    if(!ZwzNullUtils.isNull(thoCurriculum.getContent())) {
        qw.like("content",thoCurriculum.getContent());
    }
    IPage<ThoCurriculum> data = iThoCurriculumService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<ThoCurriculum>>().setData(data);
}

4.4 思政案例点赞

java 复制代码
@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "新增点赞")
public Result<Object> addOne(@RequestParam String id){
    ThoCase c = iThoCaseService.getById(id);
    if(c == null) {
        return ResultUtil.error("案例不存在");
    }
    User currUser = securityUtil.getCurrUser();
    ThoZan z = new ThoZan();
    z.setCaseId(c.getId());
    z.setTitle(c.getTitle());
    z.setUserId(currUser.getId());
    iThoZanService.saveOrUpdate(z);
    return ResultUtil.success();
}

4.5 新增思政案例评语

java 复制代码
@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "新增评语")
public Result<Object> addOne(@RequestParam String id,@RequestParam String value,@RequestParam String content){
    ThoCase c = iThoCaseService.getById(id);
    if(c == null) {
        return ResultUtil.error("案例不存在");
    }
    User currUser = securityUtil.getCurrUser();
    ThoScore z = new ThoScore();
    z.setCaseId(c.getId());
    z.setTitle(c.getTitle());
    z.setValue(value);
    z.setContent(content);
    z.setUserId(currUser.getId());
    iThoScoreService.saveOrUpdate(z);
    return ResultUtil.success();
}

五、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。
相关推荐
半盏茶香39 分钟前
在21世纪的我用C语言探寻世界本质 ——编译和链接(编译环境和运行环境)
c语言·开发语言·c++·算法
Evand J2 小时前
LOS/NLOS环境建模与三维TOA定位,MATLAB仿真程序,可自定义锚点数量和轨迹点长度
开发语言·matlab
LucianaiB2 小时前
探索CSDN博客数据:使用Python爬虫技术
开发语言·爬虫·python
Ronin3052 小时前
11.vector的介绍及模拟实现
开发语言·c++
计算机学长大白3 小时前
C中设计不允许继承的类的实现方法是什么?
c语言·开发语言
suweijie7683 小时前
SpringCloudAlibaba | Sentinel从基础到进阶
java·大数据·sentinel
公贵买其鹿4 小时前
List深拷贝后,数据还是被串改
java
PieroPc4 小时前
Python 写的 智慧记 进销存 辅助 程序 导入导出 excel 可打印
开发语言·python·excel
2401_857439696 小时前
SSM 架构下 Vue 电脑测评系统:为电脑性能评估赋能
开发语言·php
SoraLuna7 小时前
「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
开发语言·macos·ui·华为·harmonyos