基于java+springboot+mybatis+vue+mysql的冬奥会科普平台

news2024/11/26 4:31:39

项目介绍

基于SpringBoot框架的冬奥会科普平台利用网络沟通、计算机信息存储管理,有着与传统的方式所无法替代的优点,系统采用java语言开发,前端采用vue技术,数据库采用mysql进行数据存储。比如计算检索速度特别快、可靠性特别高、存储容量特别大、保密性特别好、可保存时间特别长、成本特别低等。在工作效率上,能够得到极大地提高,延伸至服务水平也会有好的收获,有了网络,基于SpringBoot的冬奥会科普平台的各方面的管理更加科学和系统,更加规范和简便。

本冬奥会科普平台主要包括两大功能模块,即用户功能模块和管理员功能模块。

(1)管理员模块:首页、个人中心、用户管理、项目类型管理、冬奥会项目管理、精彩视频管理、冬奥论坛、系统管理。

(2)前台:首页、冬奥会项目、精彩视频、冬奥论坛、冬奥新闻、个人中心。

开发环境

开发语言:java
数据库 :mysql
系统架构:b/s
后端框架:SpringBoot
前端框架:Vue
开发工具:idea或者eclipse,jdk1.8,maven
支持定做:java/php/python/android/小程序/vue/爬虫/c#/asp.net

系统截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

部分代码

package com.controller;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.entity.ForumEntity;
import com.entity.view.ForumView;
import com.service.ForumService;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import java.text.SimpleDateFormat;
import java.util.*;


/**
 * 论坛管理
 * 后端接口
 */
@RestController
@RequestMapping("/forum")
public class ForumController {
    @Autowired
    private ForumService forumService;



    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params, ForumEntity forum, HttpServletRequest request){
        EntityWrapper<ForumEntity> ew = new EntityWrapper<ForumEntity>();
		ew.isNotNull("title");
        if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
            forum.setUserid((Long)request.getSession().getAttribute("userId"));
            ew.eq("userid",forum.getUserid());
        }
    	PageUtils page = forumService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, forum), params), params));
        return R.ok().put("data", page);
    }


    /**
     * 后端列表(查看论坛评论)
     */
    @RequestMapping("/page1")
    public R page1(@RequestParam Map<String, Object> params, ForumEntity forum, HttpServletRequest request){
        if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
            forum.setUserid((Long)request.getSession().getAttribute("userId"));
        }
        EntityWrapper<ForumEntity> ew = new EntityWrapper<ForumEntity>();
        //ew.eq("parentid",forum.getId());
        PageUtils page = forumService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, forum), params), params));
        return R.ok().put("data", page);
    }

    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params, ForumEntity forum, HttpServletRequest request){
    	if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
    		forum.setUserid((Long)request.getSession().getAttribute("userId"));
    	}
        EntityWrapper<ForumEntity> ew = new EntityWrapper<ForumEntity>();
		PageUtils page = forumService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, forum), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @IgnoreAuth
    @RequestMapping("/flist")
    public R flist(@RequestParam Map<String, Object> params, ForumEntity forum, HttpServletRequest request){
        EntityWrapper<ForumEntity> ew = new EntityWrapper<ForumEntity>();
    	PageUtils page = forumService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allEq(ew, forum), params), params));
        return R.ok().put("data", page);
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(ForumEntity forum){
        EntityWrapper<ForumEntity> ew = new EntityWrapper<ForumEntity>();
 		ew.allEq(MPUtil.allEQMapPre( forum, "forum"));
		ForumView forumView =  forumService.selectView(ew);
		return R.ok("查询论坛表成功").put("data", forumView);
    }

    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        ForumEntity forum = forumService.selectById(id);
        return R.ok().put("data", forum);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") String id){
        ForumEntity forum = forumService.selectById(id);
        return R.ok().put("data", forum);
    }

	/**
     * 论坛详情
     */
	@IgnoreAuth
    @RequestMapping("/list/{id}")
    public R list(@PathVariable("id") String id){
        ForumEntity forum = forumService.selectById(id);
        getChilds(forum);
        return R.ok().put("data", forum);
    }

	private ForumEntity getChilds(ForumEntity forum) {
    	List<ForumEntity> childs = new ArrayList<ForumEntity>();
    	childs = forumService.selectList(new EntityWrapper<ForumEntity>().eq("parentid", forum.getId()));
    	if(childs == null || childs.size()==0) {
    		return null;
    	}
    	forum.setChilds(childs);
    	for(ForumEntity forumEntity : childs) {
    		getChilds(forumEntity);
    	}
    	return forum;
    }



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody ForumEntity forum, HttpServletRequest request){
    	forum.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(forum);
    	forum.setUserid((Long)request.getSession().getAttribute("userId"));
        forumService.insert(forum);
        return R.ok();
    }

    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody ForumEntity forum, HttpServletRequest request){
    	forum.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(forum);
    	forum.setUserid((Long)request.getSession().getAttribute("userId"));
        forumService.insert(forum);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody ForumEntity forum, HttpServletRequest request){
        //ValidatorUtils.validateEntity(forum);
        forumService.updateById(forum);//全部更新
        return R.ok();
    }


    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        forumService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }

    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
                         @PathVariable("type") String type, @RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);

		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}

		Wrapper<ForumEntity> wrapper = new EntityWrapper<ForumEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = forumService.selectCount(wrapper);
		return R.ok().put("count", count);
	}



}

目录
第一章 绪论 5
1.1 研究背景 5
1.2 系统研究现状 5
1.3 系统实现的功能 6
1.4 系统实现的特点 6
1.5 本文的组织结构 6
第二章开发技术与环境配置 7
2.1 Java语言简介 7
2.2 JSP技术 8
2.3 MySQL环境配置 8
2.4 IDEA环境配置 9
2.5 Mysql数据库介绍 9
2.6 B/S架构 9
第三章系统分析与设计 11
3.1 可行性分析 11
3.1.1 技术可行性 11
3.1.2 操作可行性 11
3.1.3经济可行性 11
3.2 需求分析 12
3.3 总体设计 12
3.4 数据库设计与实现 13
3.4.1 数据库概念结构设计 13
3.4.2 数据库具体设计 14
第四章 系统功能的具体实现 22
4.1 系统功能模块 22
4.2 管理员功能模块 25
第五章 系统测试 29
总结 30
参考文献 31
致谢 32

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/89039.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大数据如何在制造业中进行应用?数据宝董事长汤寒林现身数字化年会讲了这个事

12月8日1670923102263472480日&#xff0c;2022中国数字化年会成功在线上举办&#xff01;本届年会以“向变而生”为主题&#xff0c;历时三天&#xff0c;特别打造了主论坛、高峰论坛与行业数智化论坛三大板块&#xff0c;60余位专家学者与来自各领域各行业数字化领军人物 通过…

前端基础(五)_CSS文本文字属性

CSS文本文字属性 1、文字属性 1.1、字号 font-size&#xff1a;38px; 浏览器默认16px; 1.2、字体 font-family: 如果字体名称包含空格&#xff0c;字体名称上加引号&#xff1b; 中文字体名称加引号&#xff1b; 多个字体名称作为一个回退系统来保存&#xff0c;如果第一个不…

什么才是写博客初心如何坚持

为何写机器人课程博客并一直坚持&#xff1f;&#xff08;2021&#xff09; 创新源自真心&#xff0c;“乱”创新的课程徒有其表&#xff0c;“不”创新的课程逐渐凋零。 个人觉得&#xff0c;课程教学创新宏观上的目标是让学生更好的认识自己并适应社会发展和变化&#xff1b…

停车场管理系统

开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a; 主要用jsp,数据库用MySQL 分为前台用户和后台管理员 前台用户 主界面是一个区域内的两到三个停车场&#xff0c;然后 可…

virtualenv系列 (2) · 系统环境与虚拟环境

文章目录1. 怎样算是一套Python环境&#xff1f;2. 系统环境 VS 虚拟环境3. 虚拟环境最佳实践1. 怎样算是一套Python环境&#xff1f; 首先&#xff0c;我们得先弄清楚&#xff1a;怎样算是一个Python环境&#xff1f;然后再去区分系统环境和虚拟环境。简单地说&#xff0c;在…

[附源码]Python计算机毕业设计SSM基于web的家教管理系统(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

阿里5位高级架构师耗时两年共同研发《Redis入门手册》

在我们日常的开发中&#xff0c;无不都是使用数据库来进行数据的存储&#xff0c;由于一般的系统任务中通常不会存在高并发的情况&#xff0c;所以这样看起来并没有什么问题&#xff0c;可是一旦涉及大数据量的需求&#xff0c;比如一些商品抢购的情景&#xff0c;或者是主页访…

喜报!Coremail两大方案入选“2022年软件行业典型应用案例”

12月5日&#xff0c;由中国软件行业协会联合中软国际有限公司、江苏省软件行业协会主办的2022中国程序员节在江苏南京圆满落幕&#xff0c;本次活动聚焦当前我国对数字技术创新及应用发展的现实需求&#xff0c;以开源创新、软件根技术、平台工具等热点议题&#xff0c;探讨影响…

Spring Boot 配置文件 · properties 基本语法 · yml 基本语法 · yml 配置不同数据以及 null · yml 配置文件读取

一、配置文件作用二、配置文件的格式三、properties 配置文件说明3.1 properties 基本语法3.2 读取配置文件3.3 properties 缺点分析四、yml 配置文件说明4.1 yml 基本语法4.2 yml 与 properties 格式对比4.3 yml 配置不同数据类型以及 null4.4 yml 配置读取4.4.1 读取配置文件…

Win11十二月系统更新了什么内容?

微软今天发布了12月最新的累积更新补丁&#xff0c;根据Microsoft 支持页面&#xff0c;build 22621.963 现在会在用户 OneDrive 上的存储空间不足时在“设置”应用程序中警告用户&#xff0c;将 Windows Spotlight 与主题设置相结合&#xff0c;修复任务管理器应用程序的界面问…

SSM垃圾分类网站

开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a; 1,系统&#xff1a;Vindows10 2.软件&#xff1a;IDEA.SQLyog 3.数据库环境&#xff1a;ySQL 4.开源框架&#xff1a;sp…

毕业设计-基于SpringBoot幼儿园管理系统

环境&#xff1a;开发工具&#xff1a;idea&#xff0c;数据库&#xff1a;MySQL5.7 jdk1.8 架构&#xff1a;SpringBoot&#xff0c;前端HTML 主要功能 管理员&#xff1a; 用户管理&#xff08;编辑用户、删除用户、添加用户、查询指定用户&#xff09; 角色管理&#xff08;…

软件测试进阶——测试划分

文章目录按照测试对象划分界面测试可靠性测试容错性测试文档测试兼容性测试易用性测试安装和卸载测试安全测试性能测试按照是否查看代码黑盒测试白盒测试灰盒测试按照开发阶段划分单元测试集成测试系统测试回归测试冒烟测试验收测试按照实施组织划分α测试β测试按照是否运行划…

数据可视化常用工具推荐

数据可视化是将数据分析的结果以图形、表格等形式展示出来&#xff0c;这样能我们更加清晰、明了的理解分析结果、判断数据走势等&#xff0c;让没有进行过数据分析的人也能清楚的了解数据中所含有的规律、趋势等。下面小编将向大家介绍几种常用的数据可视化工具&#xff0c;分…

计算机毕业设计php+vue基于微信小程序的高校新生报到管理小程序

项目介绍 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理程序应运而生,各行各业相继进入信息管理时代,高校新生报到管理小程序就是信息时代变革中的产物之一。 任何程序都要…

外汇天眼:爆雷跑路!DingHui索要高额佣金,结果客户一分钱没拿到!

我们都知道&#xff0c;外汇交易佣金是外汇平台杠杆进入中国市场时的产物&#xff0c;也可以将其简单的理解为是在自己原本的手续费之外&#xff0c;额外增加的一些交易成本。 不过随着外汇市场的发展&#xff0c;在外汇交易平台进行交易也是越来越正规化&#xff0c;现如今正…

16-luogu-P1012-[NOIP1998 提高组] 拼数

文章目录[NOIP1998 提高组] 拼数题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1样例 #2样例输入 #2样例输出 #2提示大神代码分析总结[NOIP1998 提高组] 拼数 题目描述 设有 nnn 个正整数 a1…ana_1 \dots a_na1​…an​&#xff0c;将它们联接成一排&#xff0c;相邻…

shell语法总结二(持续补充)

文章目录一、函数1、函数的定义格式2、案例13、案例2二、函数参数三、输入/输出重定向1、标准输入输出2、输出重定向&#xff1a;2.1、语法如下所示:2.2、案例&#xff1a;输出重定向会覆盖文件内容&#xff0c;请看下面的例子&#xff1a;2.3、如果不希望文件内容被覆盖&#…

不同时期土地政策

土地政策​ 本篇文章主要总结新中国近代以来的土地政策&#xff0c;根据中国共产党的建立的前后时间分为两个部分。建党前主要是太平天国的《天朝田亩制》、孙中山的“旧三民主义”和新三民主义&#xff0c;建党后的大革命时期、土地革命时期、抗日战争、解放战争、新中国成立初…

Java中判断字符串是否为空

文章目录0 写在前面1 字符串.isEmpty2 .equals(字符串)3 字符串.length()>0注意事项0 写在前面 isEmpty(); "".equals(); .lenth()>01 字符串.isEmpty 这个方法是比较常用的&#xff0c; 格式&#xff1a;字符串.isEmpty();结果为true代表字符串为空&#xf…