——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Node.js≥14
开发工具
后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可
❗没学过node.js的不要搞前后端分离项目
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明






基于javaweb的SpringBoot校友交流平台校园论坛(java+springboot+vue+maven+mysql+redis)
1 2 3 4 5 6
| 后台管理员: 100000000@qq.com 123456
前台用户(注册): 200000001@qq.com 123456 200000002@qq.com 123456
|
一、项目简述
用户角色:管理员、用户
功能介绍:
登录、公告管理、轮播图管理、地区管理、学院管理、组织管理、标签管理、用户管理、内推管理、帖子管理、添加帖子、帖子信息、问题管理、动态管理、关于作者
二、项目运行
环境配置: Jdk1.8 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)
项目技术: Springboot + VUE + ElementUI + maven等等。
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| BeanUtils.copyProperties(getQuestionByPageRequest, workPageQuery); Map<String, Object> map = questionService.getQuestionByPage(workPageQuery); return ResultUtils.success(map); }
@GetMapping("/getQuestionInfoById/{id}") public BaseResponse<QuestionVO> getQuestionInfoById(@PathVariable Long id) { if (id == null || id < CommonConstant.MIN_ID) { log.error("参数校验失败,该参数为:{}", GsonUtil.toJson(id)); throw new BusinessException(ErrorCode.PARAMS_ERROR); } QuestionVO questionInfoById = questionService.getQuestionInfoById(id); return ResultUtils.success(questionInfoById); }
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| QueryWrapper<User> userQueryWrapper = new QueryWrapper<>(); userQueryWrapper.eq("id", user.getId()); Long count = userMapper.selectCount(userQueryWrapper); if (count == OperationConstant.COUNT_NUM) { log.warn("该用户不存在,该参数为:{}", GsonUtil.toJson(user)); throw new BusinessException(ErrorCode.NO_EXISTED_USER); } QueryWrapper<UserInfo> userInfoQueryWrapper = new QueryWrapper<>(); userInfoQueryWrapper.eq("id", user.getId()); Long userInfoCount = userInfoMapper.selectCount(userInfoQueryWrapper); if (userInfoCount == OperationConstant.COUNT_NUM) { log.warn("该用户不存在,该参数为:{}", GsonUtil.toJson(userInfo)); throw new BusinessException(ErrorCode.NO_EXISTED_USER); } int operationNum = userMapper.updateById(user); if (operationNum == OperationConstant.OPERATION_NUM) { log.warn("更新用户基本信息失败,该用户参数为:{}", GsonUtil.toJson(user)); throw new BusinessException(ErrorCode.UPDATE_ERROR); } int userInfoOperationNum = userInfoMapper.updateById(userInfo); if (userInfoOperationNum == OperationConstant.OPERATION_NUM) { log.warn("更新用户详细信息失败,该用户参数为:{}", GsonUtil.toJson(userInfo)); throw new BusinessException(ErrorCode.UPDATE_ERROR); } return Boolean.TRUE; }
@Override public Map<String, Object> getUserByPage(GetUserByPageQuery getUserByPageQuery) { Page<UserVO> page = new Page<>(getUserByPageQuery.getPageNum(), getUserByPageQuery.getPageSize()); IPage<UserVO> result = userMapper.selectUserByPage(page, getUserByPageQuery); List<UserVO> records = result.getRecords(); if (StringUtils.isNotBlank(getUserByPageQuery.getUserName())) { records = records.stream().filter(item -> item.getUserName().contains(getUserByPageQuery.getUserName())).collect(Collectors.toList()); } if (getUserByPageQuery.getCollegeId() != null) { records = records.stream().filter(item -> item.getCollegeId().equals(getUserByPageQuery.getCollegeId())).collect(Collectors.toList()); } if (getUserByPageQuery.getRegionId() != null) { records = records.stream().filter(item -> item.getRegionId().equals(getUserByPageQuery.getRegionId())).collect(Collectors.toList()); } records.forEach(item -> {
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| */ @GetMapping("/getQuestionInfoById/{id}") public BaseResponse<QuestionVO> getQuestionInfoById(@PathVariable Long id) { if (id == null || id < CommonConstant.MIN_ID) { log.error("参数校验失败,该参数为:{}", GsonUtil.toJson(id)); throw new BusinessException(ErrorCode.PARAMS_ERROR); } QuestionVO questionInfoById = questionService.getQuestionInfoById(id); return ResultUtils.success(questionInfoById); }
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
@PostMapping("/updateQuestion") public BaseResponse<Boolean> updateQuestion(@RequestBody QuestionUpdateRequest questionUpdateRequest) { if (questionUpdateRequest.getId() < CommonConstant.MIN_ID || questionUpdateRequest.getTid() < CommonConstant.MIN_ID) { log.error("参数校验失败,该参数为:{}", GsonUtil.toJson(questionUpdateRequest)); throw new BusinessException(ErrorCode.PARAMS_ERROR); } if (questionUpdateRequest.getIsAudit() < AuditEnum.AUDITING.getType() || questionUpdateRequest.getIsAudit() > AuditEnum.AUDIT_REFUSE.getType()) { log.error("参数校验失败,该参数为:{}", GsonUtil.toJson(questionUpdateRequest)); throw new BusinessException(ErrorCode.PARAMS_ERROR); } Question question = new Question(); BeanUtils.copyProperties(questionUpdateRequest, question); Boolean isSuccess = questionService.updateQuestion(question); return ResultUtils.success(isSuccess); }
@DeleteMapping("/deleteQuestion") public BaseResponse<Boolean> deleteQuestion(@RequestBody QuestionDeleteRequest questionDeleteRequest) { questionDeleteRequest.getIds().forEach(item -> { if (item < CommonConstant.MIN_ID) { log.error("参数校验失败,该参数为:{}", GsonUtil.toJson(item)); throw new BusinessException(ErrorCode.PARAMS_ERROR); } }); Boolean isSuccess = questionService.deleteQuestion(questionDeleteRequest.getIds()); return ResultUtils.success(isSuccess); }
@PostMapping("/getQuestionByPage") public BaseResponse<Map<String, Object>> getQuestionByPage(@RequestBody GetQuestionByPageRequest getQuestionByPageRequest) { if (getQuestionByPageRequest.getPageNum() < CommonConstant.MIN_PAGE_NUM || getQuestionByPageRequest.getPageSize() < CommonConstant.MIN_PAGE_SIZE) { log.error("参数校验失败,该参数为:{}", GsonUtil.toJson(getQuestionByPageRequest)); throw new BusinessException(ErrorCode.PARAMS_ERROR); } GetQuestionByPageQuery workPageQuery = new GetQuestionByPageQuery(); BeanUtils.copyProperties(getQuestionByPageRequest, workPageQuery); Map<String, Object> map = questionService.getQuestionByPage(workPageQuery); return ResultUtils.success(map);
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| BeanUtils.copyProperties(discussUpdateRequest, discuss); boolean isSuccess = discussService.updateDiscuss(discuss); return ResultUtils.success(isSuccess); }
@DeleteMapping("/deleteDiscuss") public BaseResponse<Boolean> deleteDiscuss(@RequestBody DiscussDeleteRequest discussDeleteRequest) { discussDeleteRequest.getIds().forEach(item -> { if (item < CommonConstant.MIN_ID) { log.error("参数校验失败,该参数为:{}", GsonUtil.toJson(item)); throw new BusinessException(ErrorCode.PARAMS_ERROR); } }); boolean isSuccess = discussService.deleteDiscuss(discussDeleteRequest.getIds()); return ResultUtils.success(isSuccess); }
@PostMapping("/upOrDownAction") public BaseResponse<Boolean> upOrDownAction(@RequestBody DiscussUpOrDownRequest discussUpOrDownRequest) { if (discussUpOrDownRequest.getId() < CommonConstant.MIN_ID) { log.error("参数校验失败,该参数为:{}", GsonUtil.toJson(discussUpOrDownRequest)); throw new BusinessException(ErrorCode.PARAMS_ERROR); } if (StringUtils.isBlank(discussUpOrDownRequest.getFlag())) { log.error("参数校验失败,该参数为:{}", GsonUtil.toJson(discussUpOrDownRequest)); throw new BusinessException(ErrorCode.PARAMS_ERROR); } if ((discussUpOrDownRequest.getUid() == null)) { log.error("参数校验失败,该参数为:{}", GsonUtil.toJson(discussUpOrDownRequest)); throw new BusinessException(ErrorCode.PARAMS_ERROR); } Discuss discuss = new Discuss(); BeanUtils.copyProperties(discussUpOrDownRequest, discuss); boolean isSuccess = discussService.upOrDownAction(discuss, discussUpOrDownRequest.getFlag()); return ResultUtils.success(isSuccess); }
@PostMapping("/getDiscussByPageOrParam")
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
@RestController @RequestMapping("/discuss") @Slf4j public class DiscussController {
@Resource private DiscussService discussService;
@PostMapping("/addDiscuss") public BaseResponse<Boolean> addDiscuss(@RequestBody DiscussAddRequest discussAddRequest) { if (discussAddRequest.getUid() < CommonConstant.MIN_ID || discussAddRequest.getTid() < CommonConstant.MIN_ID) { log.error("参数校验失败,该参数为:{}", GsonUtil.toJson(discussAddRequest)); throw new BusinessException(ErrorCode.PARAMS_ERROR); } if (StringUtils.isBlank(discussAddRequest.getTitle()) || StringUtils.isBlank(discussAddRequest.getCover()) || StringUtils.isBlank(discussAddRequest.getMessage())) { log.error("参数校验失败,该参数为:{}", GsonUtil.toJson(discussAddRequest)); throw new BusinessException(ErrorCode.PARAMS_ERROR); } if (discussAddRequest.getTitle().length() > CommonConstant.TITLE_MAX_LENGTH || discussAddRequest.getMessage().length() < CommonConstant.CONTENT_MIN_LENGTH) { log.error("参数校验失败,该参数为:{}", GsonUtil.toJson(discussAddRequest)); throw new BusinessException(ErrorCode.PARAMS_ERROR); } Discuss discuss = new Discuss(); BeanUtils.copyProperties(discussAddRequest, discuss); boolean isSuccess = discussService.addDiscuss(discuss); return ResultUtils.success(isSuccess); }
@PostMapping("/updateDiscuss") public BaseResponse<Boolean> updateDiscuss(@RequestBody DiscussUpdateRequest discussUpdateRequest) {
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=441524180701201ix
https://javayms.pages.dev?id=441524180701201ix