基于javaweb的SpringBoot高校学科竞赛平台(java+springboot+mybaits+vue+elementui+mysql)

运行环境

Java≥8、MySQL≥5.7、Node.js≥14

开发工具

后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可

❗没学过node.js的不要搞前后端分离项目

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

491125020706

511125020706

521125020706

531125020706

541125020706

551125020706

561125020706

571125020706

581125020706

591125020706

基于javaweb的SpringBoot高校学科竞赛平台(java+springboot+mybaits+vue+elementui+mysql)

项目介绍

springboot高校学科竞赛平台

环境需要

1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;

3.硬件环境:windows7/8/101G内存以上;或者MacOS;

4.数据库:MySql5.7/8.0版本均可;

5.是否Maven项目:是;

技术栈

后端:SpringBoot+Mybaits

前端:Vue+elementui

使用说明

项目运行:

1.使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;

2.使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行mavenclean;maveninstall命令;

3.将项目中application.yml配置文件中的数据库配置改为自己的配置;

4.运行项目,在浏览器中输入地址:

前台地址:http://localhost:8080/springbootrpj39/front/index.html

后台地址

http://localhost:8080/springbootrpj39/admin/dist/index.html

管理员abo密码abo

用户:用户1密码:123456

注意项目文件路径中不能含有中文、空格、特殊字符等,否则图片会上传不成功。

系统用户业务操作:

/**

  • 系统用户

*/

@RestController

@RequestMapping(“/sys/user”)

public class SysUserController extends AbstractController {

@Autowired

private SysUserService sysUserService;

@Autowired

private SysUserRoleService sysUserRoleService;

/**

  • 所有用户列表

*/

@RequestMapping(“/list”)

@RequiresPermissions(“sys:user:list”)

public R list(@RequestParam Map<String, Object> params){

PageUtils page = sysUserService.queryPage(params);

return R.ok().put(“page”, page);

/**

  • 获取登录的用户信息

*/

@RequestMapping(“/info”)

public R info(){

return R.ok().put(“user”, getUser());

/**

  • 修改登录用户密码

*/

@SysLog(“修改密码”)

@RequestMapping(“/password”)

public R password(String password, String newPassword){

Assert.isBlank(newPassword, “新密码不为能空”);

//原密码

password = ShiroUtils.sha256(password, getUser().getSalt());

//新密码

newPassword = ShiroUtils.sha256(newPassword, getUser().getSalt());

//更新密码

boolean flag = sysUserService.updatePassword(getUserId(), password, newPassword);

if(!flag){

return R.error(“原密码不正确”);

return R.ok();

/**

  • 用户信息

*/

@RequestMapping(“/info/{userId}”)

@RequiresPermissions(“sys:user:info”)

public R info(@PathVariable(“userId”) Long userId){

SysUserEntity user = sysUserService.getById(userId);

//获取用户所属的角色列表

List roleIdList = sysUserRoleService.queryRoleIdList(userId);

user.setRoleIdList(roleIdList);

return R.ok().put(“user”, user);

/**

  • 保存用户

*/

@SysLog(“保存用户”)

@RequestMapping(“/save”)

@RequiresPermissions(“sys:user:save”)

public R save(@RequestBody SysUserEntity user){

ValidatorUtils.validateEntity(user, AddGroup.class);

sysUserService.saveUser(user);

return R.ok();

/**

  • 修改用户

*/

@SysLog(“修改用户”)

@RequestMapping(“/update”)

@RequiresPermissions(“sys:user:update”)

public R update(@RequestBody SysUserEntity user){

ValidatorUtils.validateEntity(user, UpdateGroup.class);

sysUserService.update(user);

return R.ok();

/**

  • 删除用户

*/

@SysLog(“删除用户”)

@RequestMapping(“/delete”)

@RequiresPermissions(“sys:user:delete”)

public R delete(@RequestBody Long[] userIds){

if(ArrayUtils.contains(userIds, 1L)){

return R.error(“系统管理员不能删除”);

if(ArrayUtils.contains(userIds, getUserId())){

return R.error(“当前用户不能删除”);

sysUserService.removeByIds(Arrays.asList(userIds));

return R.ok();

系统配置信息:

/**

  • 系统配置信息

*/

@RestController

@RequestMapping(“/sys/config”)

public class SysConfigController extends AbstractController {

@Autowired

private SysConfigService sysConfigService;

/**

  • 所有配置列表

*/

@RequestMapping(“/list”)

@RequiresPermissions(“sys:config:list”)

public R list(@RequestParam Map<String, Object> params){

PageUtils page = sysConfigService.queryPage(params);

return R.ok().put(“page”, page);

/**

  • 配置信息

*/

@RequestMapping(“/info/{id}”)

@RequiresPermissions(“sys:config:info”)

@ResponseBody

public R info(@PathVariable(“id”) Long id){

SysConfigEntity config = sysConfigService.getById(id);

return R.ok().put(“config”, config);

/**

  • 保存配置

*/

@SysLog(“保存配置”)

@RequestMapping(“/save”)

@RequiresPermissions(“sys:config:save”)

public R save(@RequestBody SysConfigEntity config){

ValidatorUtils.validateEntity(config);

sysConfigService.saveConfig(config);

return R.ok();

/**

  • 修改配置

*/

@SysLog(“修改配置”)

@RequestMapping(“/update”)

@RequiresPermissions(“sys:config:update”)

public R update(@RequestBody SysConfigEntity config){

ValidatorUtils.validateEntity(config);

sysConfigService.update(config);

return R.ok();

/**

  • 删除配置

*/

@SysLog(“删除配置”)

@RequestMapping(“/delete”)

@RequiresPermissions(“sys:config:delete”)

public R delete(@RequestBody Long[] ids){

sysConfigService.deleteBatch(ids);

return R.ok();

文件上传业务:

/**

  • 文件上传

*/

@RestController

@RequestMapping(“sys/oss”)

public class SysOssController {

@Autowired

private SysOssService sysOssService;

@Autowired

private SysConfigService sysConfigService;

private final static String KEY = ConfigConstant.CLOUD_STORAGE_CONFIG_KEY;

/**

  • 列表

*/

@RequestMapping(“/list”)

@RequiresPermissions(“sys:oss:all”)

public R list(@RequestParam Map<String, Object> params){

PageUtils page = sysOssService.queryPage(params);

return R.ok().put(“page”, page);

/**

  • 云存储配置信息

*/

@RequestMapping(“/config”)

@RequiresPermissions(“sys:oss:all”)

public R config(){

CloudStorageConfig config = sysConfigService.getConfigObject(KEY, CloudStorageConfig.class);

return R.ok().put(“config”, config);

/**

  • 保存云存储配置信息

*/

@RequestMapping(“/saveConfig”)

@RequiresPermissions(“sys:oss:all”)

public R saveConfig(@RequestBody CloudStorageConfig config){

//校验类型

ValidatorUtils.validateEntity(config);

if(config.getType() == Constant.CloudService.QINIU.getValue()){

//校验七牛数据

ValidatorUtils.validateEntity(config, QiniuGroup.class);

}else if(config.getType() == Constant.CloudService.ALIYUN.getValue()){

//校验阿里云数据

ValidatorUtils.validateEntity(config, AliyunGroup.class);

}else if(config.getType() == Constant.CloudService.QCLOUD.getValue()){

//校验腾讯云数据

ValidatorUtils.validateEntity(config, QcloudGroup.class);

sysConfigService.updateValueByKey(KEY, new Gson().toJson(config));

return R.ok();

/**

  • 上传文件

*/

@RequestMapping(“/upload”)

@RequiresPermissions(“sys:oss:all”)

public R upload(@RequestParam(“file”) MultipartFile file) throws Exception {

if (file.isEmpty()) {

throw new RRException(“上传文件不能为空”);

//上传文件

String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(“.”));

String url = OSSFactory.build().uploadSuffix(file.getBytes(), suffix);

//保存文件信息

SysOssEntity ossEntity = new SysOssEntity();

ossEntity.setUrl(url);

ossEntity.setCreateDate(new Date());

sysOssService.save(ossEntity);

return R.ok().put(“url”, url);

/**

  • 删除

*/

@RequestMapping(“/delete”)

@RequiresPermissions(“sys:oss:all”)

public R delete(@RequestBody Long[] ids){

sysOssService.removeByIds(Arrays.asList(ids));

return R.ok();


项目链接:
https://javayms.github.io?id=401125140706201su
https://javayms.pages.dev?id=401125140706201su