Java项目-基于springboot框架的游戏分享系统项目实战(附源码+文档)

作者:计算机学长阿伟

开发技术:SpringBoot、SSM、Vue、MySQL、ElementUI等,"文末源码"。

开发运行环境

  • 开发语言:Java
  • 数据库:MySQL
  • 技术:SpringBoot、Vue、Mybaits Plus、ELementUI
  • 工具:IDEA/Ecilpse、Navicat、Maven

源码下载地址:

Java项目-基于springboot框架的游戏分享系统项目实战(附源码+文档)资源-CSDN文库

文档目录

【如需全文请按文末获取联系】

一、项目简介

本项目为一个在线游戏分享平台,该平台集成了前台系统和后台管理系统。前台系统主要面向普通用户,提供游戏资讯、游戏文章、交流论坛和个人中心等功能。后台管理系统则分为用户和管理员两个角色,用户可以在后台管理自己的个人信息、收藏等内容,而管理员则负责整个平台的运营和维护。

二、系统设计

2.1软件功能模块设计

2.2数据库设计

综合评估E/R图如下所示:

采集数据E/R图如下所示:

三、系统项目部分截图

3.1后台系统部分页面效果

3.2前台系统部分页面效果

四、部分核心代码

java 复制代码
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.YouxileixingEntity;
import com.entity.view.YouxileixingView;

import com.service.YouxileixingService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
import java.io.IOException;

/**
 * 游戏类型
 * 后端接口
 */
@RestController
@RequestMapping("/youxileixing")
public class YouxileixingController {
    @Autowired
    private YouxileixingService youxileixingService;


    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,YouxileixingEntity youxileixing,
		HttpServletRequest request){
        EntityWrapper<YouxileixingEntity> ew = new EntityWrapper<YouxileixingEntity>();
		PageUtils page = youxileixingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, youxileixing), params), params));

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

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

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(YouxileixingEntity youxileixing){
        EntityWrapper< YouxileixingEntity> ew = new EntityWrapper< YouxileixingEntity>();
 		ew.allEq(MPUtil.allEQMapPre( youxileixing, "youxileixing")); 
		YouxileixingView youxileixingView =  youxileixingService.selectView(ew);
		return R.ok("查询游戏类型成功").put("data", youxileixingView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        YouxileixingEntity youxileixing = youxileixingService.selectById(id);
        return R.ok().put("data", youxileixing);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        YouxileixingEntity youxileixing = youxileixingService.selectById(id);
        return R.ok().put("data", youxileixing);
    }
    



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

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

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


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







}

获取源码或文档

如需对应的论文或文档,以及其他定制需求,也可以下方添加联系我。

相关推荐
晨曦_子画4 分钟前
编程语言之战:AI 之后的 Kotlin 与 Java
android·java·开发语言·人工智能·kotlin
南宫生26 分钟前
贪心算法习题其三【力扣】【算法学习day.20】
java·数据结构·学习·算法·leetcode·贪心算法
Heavydrink40 分钟前
HTTP动词与状态码
java
ktkiko1142 分钟前
Java中的远程方法调用——RPC详解
java·开发语言·rpc
计算机-秋大田1 小时前
基于Spring Boot的船舶监造系统的设计与实现,LW+源码+讲解
java·论文阅读·spring boot·后端·vue
神里大人1 小时前
idea、pycharm等软件的文件名红色怎么变绿色
java·pycharm·intellij-idea
Footprint_Analytics1 小时前
Footprint Analytics 助力 Sei 游戏生态增长
游戏·web3·区块链
小冉在学习1 小时前
day53 图论章节刷题Part05(并查集理论基础、寻找存在的路径)
java·算法·图论
代码之光_19802 小时前
保障性住房管理:SpringBoot技术优势分析
java·spring boot·后端