package com.ruoyi.web.controller.api; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.domain.*; import com.ruoyi.system.service.*; import com.ruoyi.system.query.CommentQuery; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.naming.ldap.PagedResultsControl; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; /** *

* 课程评论 前端控制器 *

* * @author luodangjia * @since 2024-09-19 */ @RestController @RequestMapping("/t-course-comment") public class TCourseCommentController { @Resource private TCourseCommentService courseCommentService; @Resource private TokenService tokenService; @Resource private TTechnicalTitleService tTechnicalTitleService; @Resource private TCourseService courseService; @Resource private TTitleMajorService majorService; @Resource private TLevelService levelService; //列表 @ApiOperation(value = "评价列表",tags = {"后台-评价管理","web教学视频查询"}) @PostMapping("/list") public R> list(@RequestBody CommentQuery commentQuery){ PageInfo tCourseCommentPageInfo = courseCommentService.pageQuery(commentQuery); List records = tCourseCommentPageInfo.getRecords(); List courseId = records.stream().map(TCourseComment::getCourseId).collect(Collectors.toList()); List courses = courseService.lambdaQuery().in(TCourse::getId, courseId).list(); List technicalId = courses.stream().map(TCourse::getTechnicalId).collect(Collectors.toList()); List tTechnicalTitles = tTechnicalTitleService.lambdaQuery().in(TTechnicalTitle::getId, technicalId).list(); List majorId = courses.stream().map(TCourse::getMajorId).collect(Collectors.toList()); List tTitleMajors = majorService.lambdaQuery().in(TTitleMajor::getId, majorId).list(); List level = courses.stream().map(TCourse::getLevel).collect(Collectors.toList()); List levels = levelService.lambdaQuery().in(TLevel::getId, level).list(); for (TCourseComment record : records) { TCourse tCourse = courses.stream().filter(e -> e.getId().equals(record.getCourseId())).findFirst().orElse(null); TTechnicalTitle tTechnicalTitle = tTechnicalTitles.stream().filter(e -> e.getId().equals(tCourse.getTechnicalId())).findFirst().orElse(null); TTitleMajor tTitleMajor = tTitleMajors.stream().filter(e -> e.getId().equals(tCourse.getMajorId())).findFirst().orElse(null); TLevel tLevel = levels.stream().filter(e -> e.getId().equals(tCourse.getLevel())).findFirst().orElse(null); record.setClassName(tTechnicalTitle.getTitileName()+"-"+tTitleMajor.getMajorName()+"-"+tLevel.getName()); record.setPrice(tCourse.getCoursePrice()); record.setCourseCover(tCourse.getCourseCover()); } return R.ok(tCourseCommentPageInfo); } @ApiOperation(value = "更改是否显示",tags = "后台-评价管理") @PostMapping("/change") public R change(Long id, Integer isVision){ TCourseComment courseComment = courseCommentService.getById(id); courseComment.setIsVision(isVision); courseCommentService.updateById(courseComment); return R.ok(); } //删除 @ApiOperation(value = "删除",tags = "后台-评价管理") @PostMapping("/deleteById") public R deleteById(String ids){ courseCommentService.removeBatchByIds(Arrays.asList(ids.split(","))); return R.ok(); } @ApiOperation(value = "评论",tags = "web教学视频查询") @PostMapping("/course") public R comment(@RequestBody TCourseComment tCourseComment){ Long userId = tokenService.getLoginUser().getUserId(); tCourseComment.setUserId(userId); tCourseComment.setIsVision(0); courseCommentService.save(tCourseComment); return R.ok(); } }