From 85901e1996b4db5c77fc10d71f78a30435411b92 Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Wed, 12 Jun 2024 16:38:34 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E3=80=81=E7=AB=A0=E8=8A=82?= =?UTF-8?q?=E8=AF=84=E8=AE=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CourseGuestbookController.java | 35 +++++++++++ .../common/dao/CourseGuestbookDao.java | 9 +++ .../common/entity/CourseGuestbook.java | 2 + .../service/CourseGuestbookService.java | 12 ++++ .../impl/CourseGuestbookServiceImpl.java | 59 +++++++++++++++++++ .../master/controller/CourseController.java | 5 +- .../controller/CourseGuestbookController.java | 52 ++++++++++++++++ .../service/CourseGuestbookService.java | 14 +++++ .../impl/CourseGuestbookServiceImpl.java | 43 ++++++++++++++ 9 files changed, 230 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/peanut/modules/common/controller/CourseGuestbookController.java create mode 100644 src/main/java/com/peanut/modules/common/dao/CourseGuestbookDao.java create mode 100644 src/main/java/com/peanut/modules/common/service/CourseGuestbookService.java create mode 100644 src/main/java/com/peanut/modules/common/service/impl/CourseGuestbookServiceImpl.java create mode 100644 src/main/java/com/peanut/modules/master/controller/CourseGuestbookController.java create mode 100644 src/main/java/com/peanut/modules/master/service/CourseGuestbookService.java create mode 100644 src/main/java/com/peanut/modules/master/service/impl/CourseGuestbookServiceImpl.java diff --git a/src/main/java/com/peanut/modules/common/controller/CourseGuestbookController.java b/src/main/java/com/peanut/modules/common/controller/CourseGuestbookController.java new file mode 100644 index 00000000..57993cf7 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/controller/CourseGuestbookController.java @@ -0,0 +1,35 @@ +package com.peanut.modules.common.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.peanut.common.utils.R; +import com.peanut.modules.common.entity.CourseGuestbook; +import com.peanut.modules.common.service.CourseGuestbookService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Map; + +@Slf4j +@RestController("commonCourseGuestbook") +@RequestMapping("common/courseGuestbook") +public class CourseGuestbookController { + + @Autowired + private CourseGuestbookService service; + + @RequestMapping("/getCourseGuestbookList") + public R getCourseGuestbookList(@RequestBody Map map){ + Page courseGuestbookList = service.getCourseGuestbookList(map); + return R.ok().put("page",courseGuestbookList); + } + + @RequestMapping("/addCourseGuestbook") + public R addCourseGuestbook(@RequestBody CourseGuestbook courseGuestbook){ + service.save(courseGuestbook); + return R.ok(); + } + +} diff --git a/src/main/java/com/peanut/modules/common/dao/CourseGuestbookDao.java b/src/main/java/com/peanut/modules/common/dao/CourseGuestbookDao.java new file mode 100644 index 00000000..4a943d01 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/dao/CourseGuestbookDao.java @@ -0,0 +1,9 @@ +package com.peanut.modules.common.dao; + +import com.github.yulichang.base.MPJBaseMapper; +import com.peanut.modules.common.entity.CourseGuestbook; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface CourseGuestbookDao extends MPJBaseMapper { +} diff --git a/src/main/java/com/peanut/modules/common/entity/CourseGuestbook.java b/src/main/java/com/peanut/modules/common/entity/CourseGuestbook.java index bc553db0..53c9dab6 100644 --- a/src/main/java/com/peanut/modules/common/entity/CourseGuestbook.java +++ b/src/main/java/com/peanut/modules/common/entity/CourseGuestbook.java @@ -43,5 +43,7 @@ public class CourseGuestbook { @TableField(exist = false) private List children; + @TableField(exist = false) + private MyUserEntity user; } diff --git a/src/main/java/com/peanut/modules/common/service/CourseGuestbookService.java b/src/main/java/com/peanut/modules/common/service/CourseGuestbookService.java new file mode 100644 index 00000000..3af3db43 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/service/CourseGuestbookService.java @@ -0,0 +1,12 @@ +package com.peanut.modules.common.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.common.entity.CourseGuestbook; + +import java.util.Map; + +public interface CourseGuestbookService extends IService { + + Page getCourseGuestbookList(Map map); +} diff --git a/src/main/java/com/peanut/modules/common/service/impl/CourseGuestbookServiceImpl.java b/src/main/java/com/peanut/modules/common/service/impl/CourseGuestbookServiceImpl.java new file mode 100644 index 00000000..a7ca222e --- /dev/null +++ b/src/main/java/com/peanut/modules/common/service/impl/CourseGuestbookServiceImpl.java @@ -0,0 +1,59 @@ +package com.peanut.modules.common.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.peanut.modules.common.dao.CourseGuestbookDao; +import com.peanut.modules.common.dao.MyUserDao; +import com.peanut.modules.common.entity.CourseGuestbook; +import com.peanut.modules.common.entity.MyUserEntity; +import com.peanut.modules.common.service.CourseGuestbookService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +@Slf4j +@Service("commonCourseGuestbookService") +public class CourseGuestbookServiceImpl extends ServiceImpl implements CourseGuestbookService { + + @Autowired + private MyUserDao userDao; + + @Override + public Page getCourseGuestbookList(Map map) { + Integer limit = Integer.valueOf(map.get("limit").toString()); + Integer page = Integer.valueOf(map.get("page").toString()); + MPJLambdaWrapper wrapper = new MPJLambdaWrapper<>(); + if (StringUtils.isNotEmpty(map.get("courseId").toString())){ + wrapper.eq(CourseGuestbook::getCourseId,map.get("courseId")); + } + if (StringUtils.isNotEmpty(map.get("chapterId").toString())){ + wrapper.eq(CourseGuestbook::getChapterId,map.get("chapterId")); + } + wrapper.eq(CourseGuestbook::getPid,0); + wrapper.orderByAsc(CourseGuestbook::getCreateTime); + Page courseGuestbookPage = this.getBaseMapper().selectPage(new Page<>(page, limit), wrapper); + if (courseGuestbookPage != null&&courseGuestbookPage.getRecords().size() > 0){ + for (CourseGuestbook courseGuestbook : courseGuestbookPage.getRecords()) { + courseGuestbook.setUser(userDao.selectById(courseGuestbook.getUserId())); + MPJLambdaWrapper w = new MPJLambdaWrapper(); + w.eq(CourseGuestbook::getPid,courseGuestbook.getId()); + w.orderByAsc(CourseGuestbook::getCreateTime); + List list = this.getBaseMapper().selectList(w); + if (list.size() > 0) { + for (CourseGuestbook c : list){ + c.setUser(userDao.selectById(courseGuestbook.getUserId())); + } + } + courseGuestbook.setChildren(list); + } + } + return courseGuestbookPage; + } + +} diff --git a/src/main/java/com/peanut/modules/master/controller/CourseController.java b/src/main/java/com/peanut/modules/master/controller/CourseController.java index 6947ece7..e91b46ec 100644 --- a/src/main/java/com/peanut/modules/master/controller/CourseController.java +++ b/src/main/java/com/peanut/modules/master/controller/CourseController.java @@ -114,11 +114,14 @@ public class CourseController { courseCatalogueChapterService.updateById(courseCatalogueChapterEntity); //修改视频 if (courseCatalogueChapterEntity.getVideoList()!=null&&courseCatalogueChapterEntity.getVideoList().size() > 0){ + LambdaQueryWrapper wrapper = new LambdaQueryWrapper(); + wrapper.eq(CourseCatalogueChapterVideoEntity::getChapterId,courseCatalogueChapterEntity.getId()); + courseCatalogueChapterVideoService.remove(wrapper); for (CourseCatalogueChapterVideoEntity c:courseCatalogueChapterEntity.getVideoList()) { if (c.getId()==0){ courseCatalogueChapterVideoService.save(c); }else { - courseCatalogueChapterVideoService.updateById(c); + courseCatalogueChapterVideoService.saveOrUpdate(c); } } } diff --git a/src/main/java/com/peanut/modules/master/controller/CourseGuestbookController.java b/src/main/java/com/peanut/modules/master/controller/CourseGuestbookController.java new file mode 100644 index 00000000..dc26698b --- /dev/null +++ b/src/main/java/com/peanut/modules/master/controller/CourseGuestbookController.java @@ -0,0 +1,52 @@ +package com.peanut.modules.master.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.peanut.common.utils.R; +import com.peanut.modules.common.entity.CourseGuestbook; +import com.peanut.modules.master.service.CourseGuestbookService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import java.util.Map; + +@Slf4j +@RestController("masterCourseGuestbook") +@RequestMapping("master/courseGuestbook") +public class CourseGuestbookController { + + @Autowired + private CourseGuestbookService service; + + @RequestMapping("/getCourseGuestbookList") + public R getCourseGuestbookList(@RequestBody Map map){ + Page courseGuestbookList = service.getCourseGuestbookList(map); + return R.ok().put("page",courseGuestbookList); + } + + @RequestMapping("/addCourseGuestbook") + public R addCourseGuestbook(@RequestBody CourseGuestbook courseGuestbook){ + service.save(courseGuestbook); + return R.ok(); + } + + @RequestMapping("/delCourseGuestbook") + public R delCourseGuestbook(@RequestBody Map map){ + service.removeById(map.get("id").toString()); + return R.ok(); + } + + @RequestMapping("/editCourseGuestbook") + public R editCourseGuestbook(@RequestBody CourseGuestbook courseGuestbook){ + service.updateById(courseGuestbook); + return R.ok(); + } + + @RequestMapping("/getCourseGuestbookDetail") + public R getCourseGuestbookDetail(@RequestBody Map map){ + CourseGuestbook courseGuestbook = service.getById(map.get("id").toString()); + return R.ok().put("courseGuestbook",courseGuestbook); + } + +} diff --git a/src/main/java/com/peanut/modules/master/service/CourseGuestbookService.java b/src/main/java/com/peanut/modules/master/service/CourseGuestbookService.java new file mode 100644 index 00000000..804d9e37 --- /dev/null +++ b/src/main/java/com/peanut/modules/master/service/CourseGuestbookService.java @@ -0,0 +1,14 @@ +package com.peanut.modules.master.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.common.entity.CourseGuestbook; + +import java.util.Map; + +public interface CourseGuestbookService extends IService { + + Page getCourseGuestbookList(Map map); + + +} diff --git a/src/main/java/com/peanut/modules/master/service/impl/CourseGuestbookServiceImpl.java b/src/main/java/com/peanut/modules/master/service/impl/CourseGuestbookServiceImpl.java new file mode 100644 index 00000000..b84558c8 --- /dev/null +++ b/src/main/java/com/peanut/modules/master/service/impl/CourseGuestbookServiceImpl.java @@ -0,0 +1,43 @@ +package com.peanut.modules.master.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.peanut.modules.common.dao.CourseGuestbookDao; +import com.peanut.modules.common.entity.CourseGuestbook; +import com.peanut.modules.master.service.CourseGuestbookService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +import org.springframework.stereotype.Service; +import java.util.Map; + +@Slf4j +@Service("masterCourseGuestbookService") +public class CourseGuestbookServiceImpl extends ServiceImpl implements CourseGuestbookService { + + @Override + public Page getCourseGuestbookList(Map map) { + Integer limit = Integer.valueOf(map.get("limit").toString()); + Integer page = Integer.valueOf(map.get("page").toString()); + MPJLambdaWrapper wrapper = new MPJLambdaWrapper<>(); + wrapper.eq(CourseGuestbook::getType,map.get("type")); + if (StringUtils.isNotEmpty(map.get("courseId").toString())){ + wrapper.eq(CourseGuestbook::getCourseId,map.get("courseId")); + } + if (StringUtils.isNotEmpty(map.get("chapterId").toString())){ + wrapper.eq(CourseGuestbook::getChapterId,map.get("chapterId")); + } + wrapper.eq(CourseGuestbook::getPid,0); + wrapper.like(CourseGuestbook::getContent,map.get("content")); + wrapper.orderByAsc(CourseGuestbook::getCreateTime); + Page courseGuestbookPage = this.getBaseMapper().selectPage(new Page<>(page, limit), wrapper); + if (courseGuestbookPage != null&&courseGuestbookPage.getRecords().size() > 0){ + for (CourseGuestbook courseGuestbook : courseGuestbookPage.getRecords()) { + courseGuestbook.setChildren(this.list(new LambdaQueryWrapper().eq(CourseGuestbook::getPid,courseGuestbook.getId()).orderByAsc(CourseGuestbook::getCreateTime))); + } + } + return courseGuestbookPage; + } + +}