基于java+springboot+vue的视频网站系统

项目介绍

使用旧方法对视频信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在视频信息的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不能及时纠正等问题。

这次开发的视频网站系统管理员功能有个人中心,用户管理,视频分享管理,视频排名管理,平台公告管理,视频类型管理,交流论坛管理,留言板管理,系统管理等。用户功能有个人中心和视频分享管理。经过前面自己查阅的网络知识,加上自己在学校课堂上学习的知识,决定开发系统选择B/S模式这种高效率的模式完成系统功能开发。这种模式让操作员基于浏览器的方式进行网站访问,采用的主流的Java语言这种面向对象的语言进行视频网站系统程序的开发,在数据库的选择上面,选择功能强大的MySQL数据库进行数据的存放操作。

视频网站系统被人们投放于现在的生活中进行使用,该款管理类软件就可以让管理人员处理信息的时间介于十几秒之间。在这十几秒内就能完成信息的编辑等操作。有了这样的管理软件,视频信息的管理就离无纸化办公的目标更贴近了。

在这里插入图片描述

开发环境

编程语言:Java
数据库 :Mysql
系统架构:B/S
后端框架:SpringBoot
编译工具:idea或者eclipse,jdk1.8,maven
支持定做:java/php/python/android/小程序vue/爬虫/c#/asp.net

系统实现

5.1用户信息管理
管理员管理用户信息,可以添加,修改,删除用户信息信息。下图就是用户信息管理页面。
在这里插入图片描述

图5.1 用户信息管理页面

5.2 视频分享管理
管理员管理视频分享,可以添加,修改,删除视频分享信息。下图就是视频分享管理页面。
在这里插入图片描述

图5.2视频分享管理页面

5.3 视频排名管理
管理员管理视频排名,可以添加,修改,删除视频排名信息。下图就是视频排名管理页面。
在这里插入图片描述

图5.3 视频排名管理页面

5.4 交流论坛管理
管理员管理交流论坛,可以添加,修改,删除交流论坛信息。下图就是交流论坛管理页面。
在这里插入图片描述

图5.4 交流论坛管理页面

5.5留言板管理
管理员管理留言板,可以添加,修改,删除留言板信息。下图就是留言板管理页面。
在这里插入图片描述

图5.5 留言板管理页面

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

核心代码

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.ShipinfenxiangEntity;
import com.entity.view.ShipinfenxiangView;

import com.service.ShipinfenxiangService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;


/**
 * 视频分享
 * 后端接口
 * @author 
 * @email 
 * @date 
 */
@RestController
@RequestMapping("/shipinfenxiang")
public class ShipinfenxiangController {
    @Autowired
    private ShipinfenxiangService shipinfenxiangService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,ShipinfenxiangEntity shipinfenxiang,
		HttpServletRequest request){
		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yonghu")) {
			shipinfenxiang.setZhanghao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<ShipinfenxiangEntity> ew = new EntityWrapper<ShipinfenxiangEntity>();
		PageUtils page = shipinfenxiangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, shipinfenxiang), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,ShipinfenxiangEntity shipinfenxiang, 
		HttpServletRequest request){
        EntityWrapper<ShipinfenxiangEntity> ew = new EntityWrapper<ShipinfenxiangEntity>();
		PageUtils page = shipinfenxiangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, shipinfenxiang), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( ShipinfenxiangEntity shipinfenxiang){
       	EntityWrapper<ShipinfenxiangEntity> ew = new EntityWrapper<ShipinfenxiangEntity>();
      	ew.allEq(MPUtil.allEQMapPre( shipinfenxiang, "shipinfenxiang")); 
        return R.ok().put("data", shipinfenxiangService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(ShipinfenxiangEntity shipinfenxiang){
        EntityWrapper< ShipinfenxiangEntity> ew = new EntityWrapper< ShipinfenxiangEntity>();
 		ew.allEq(MPUtil.allEQMapPre( shipinfenxiang, "shipinfenxiang")); 
		ShipinfenxiangView shipinfenxiangView =  shipinfenxiangService.selectView(ew);
		return R.ok("查询视频分享成功").put("data", shipinfenxiangView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        ShipinfenxiangEntity shipinfenxiang = shipinfenxiangService.selectById(id);
		shipinfenxiang.setClicknum(shipinfenxiang.getClicknum()+1);
		shipinfenxiang.setClicktime(new Date());
		shipinfenxiangService.updateById(shipinfenxiang);
        return R.ok().put("data", shipinfenxiang);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        ShipinfenxiangEntity shipinfenxiang = shipinfenxiangService.selectById(id);
		shipinfenxiang.setClicknum(shipinfenxiang.getClicknum()+1);
		shipinfenxiang.setClicktime(new Date());
		shipinfenxiangService.updateById(shipinfenxiang);
        return R.ok().put("data", shipinfenxiang);
    }
    


    /**
     * 赞或踩
     */
    @RequestMapping("/thumbsup/{id}")
    public R vote(@PathVariable("id") String id,String type){
        ShipinfenxiangEntity shipinfenxiang = shipinfenxiangService.selectById(id);
        if(type.equals("1")) {
        	shipinfenxiang.setThumbsupnum(shipinfenxiang.getThumbsupnum()+1);
        } else {
        	shipinfenxiang.setCrazilynum(shipinfenxiang.getCrazilynum()+1);
        }
        shipinfenxiangService.updateById(shipinfenxiang);
        return R.ok("投票成功");
    }

    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody ShipinfenxiangEntity shipinfenxiang, HttpServletRequest request){
    	shipinfenxiang.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(shipinfenxiang);
        shipinfenxiangService.insert(shipinfenxiang);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody ShipinfenxiangEntity shipinfenxiang, HttpServletRequest request){
    	shipinfenxiang.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(shipinfenxiang);
        shipinfenxiangService.insert(shipinfenxiang);
        return R.ok();
    }

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

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        shipinfenxiangService.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<ShipinfenxiangEntity> wrapper = new EntityWrapper<ShipinfenxiangEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yonghu")) {
			wrapper.eq("zhanghao", (String)request.getSession().getAttribute("username"));
		}

		int count = shipinfenxiangService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	
	/**
     * 前端智能排序
     */
	@IgnoreAuth
    @RequestMapping("/autoSort")
    public R autoSort(@RequestParam Map<String, Object> params,ShipinfenxiangEntity shipinfenxiang, HttpServletRequest request,String pre){
        EntityWrapper<ShipinfenxiangEntity> ew = new EntityWrapper<ShipinfenxiangEntity>();
        Map<String, Object> newMap = new HashMap<String, Object>();
        Map<String, Object> param = new HashMap<String, Object>();
		Iterator<Map.Entry<String, Object>> it = param.entrySet().iterator();
		while (it.hasNext()) {
			Map.Entry<String, Object> entry = it.next();
			String key = entry.getKey();
			String newKey = entry.getKey();
			if (pre.endsWith(".")) {
				newMap.put(pre + newKey, entry.getValue());
			} else if (StringUtils.isEmpty(pre)) {
				newMap.put(newKey, entry.getValue());
			} else {
				newMap.put(pre + "." + newKey, entry.getValue());
			}
		}
		params.put("sort", "clicknum");
        params.put("order", "desc");
		PageUtils page = shipinfenxiangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, shipinfenxiang), params), params));
        return R.ok().put("data", page);
    }


}

论文参考

在这里插入图片描述

目 录
1 绪论 1
1.1 研究背景 1
1.2目的和意义 1
1.3 论文结构安排 2
2 相关技术 3
2.1 Spring Boot框架简介 3
2.2 B/S架构介绍 3
2.3 MySQL数据库介绍 3
2.4 JAVA语言介绍 4
3 系统分析 6
3.1系统可行性分析 6
3.1.1 技术可行性分析 6
3.1.2 经济可行性分析 6
3.1.3 运行可行性分析 6
3.2系统性能分析 7
3.2.1 系统安全性 7
3.2.2 数据完整性 7
3.2.3系统可扩展性 8
3.3系统流程分析 8
3.3.1系统登录流程 9
3.3.2信息添加流程 10
3.3.3信息删除流程 10
4 系统设计 12
4.1系统概要设计 12
4.2系统功能结构设计 12
4.3数据库设计 13
4.3.1数据库E-R图设计 13
4.3.2 数据库表结构设计 14
5 系统实现 19
5.1用户信息管理 19
5.2 视频分享管理 19
5.3 视频排名管理 20
5.4 交流论坛管理 20
5.5留言板管理 21
6系统测试 22
6.1 本系统测试  22
6.1.1登录功能测试 22
6.1.2修改密码功能测试 23
6.2测试结果分析 23
结 论 24
参考文献 26
致 谢 27

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
基于Java Spring BootVue的宠物领养系统是一个全面的在线平台,旨在帮助宠物收容所和有意领养宠物的个人或家庭之间搭建一个连接桥梁。 该系统的后端使用Java Spring Boot框架来处理业务逻辑和数据持久化操作。Spring Boot提供了方便的开发环境和强大的功能,可以轻松管理宠物信息、用户账户和其他系统规模需要的功能。 前端使用Vue框架来构建用户友好的界面,提供直观和互动的体验,用户可以通过该界面浏览宠物收容所中的宠物信息,了解宠物种类、性别、年龄、品种等详细信息,并进行筛选和搜索。 系统有两类用户:宠物收容所和领养者。收容所可以注册账号,上传宠物信息,包括照片和描述,编辑和删除已有宠物的信息。领养者可以注册账号,浏览宠物收容所中的宠物信息,并通过系统联系收容所进行进一步的信息查询和领养申请。 具体的功能包括: 1. 宠物信息管理:收容所可以添加、编辑和删除宠物信息,包括基本信息和照片。 2. 宠物筛选和搜索:领养者可以根据自己的需求,通过关键字、品种、年龄等筛选条件来浏览宠物列表。 3. 用户管理:系统支持用户注册和登录功能,领养者可以创建个人账号并实时跟踪他们的领养进程。 4. 领养申请:领养者可以通过系统向收容所发起领养申请,并与收容所进行沟通和确认。 5. 消息通知:系统可以向领养者和收容所发送通知,例如领养进程的更新、成功领养等。 综上所述,基于Java Spring BootVue的宠物领养系统可以通过互联网连接宠物收容所和领养者,方便高效地推动宠物领养事业的发展和促进宠物福利。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值