From e04de3202a36a03208daeeb23e3edf94d7ef8f92 Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Thu, 13 Jun 2024 10:36:27 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E7=95=99=E8=A8=80?= =?UTF-8?q?=E6=9D=BF=E7=82=B9=E8=B5=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CourseGuestbookController.java | 13 +++++ .../common/dao/CourseGuestbookSupportDao.java | 9 ++++ .../common/entity/CourseGuestbook.java | 6 ++- .../common/entity/CourseGuestbookSupport.java | 21 ++++++++ .../service/CourseGuestbookService.java | 6 +++ .../service/impl/BuyOrderServiceImpl.java | 3 ++ .../impl/CourseGuestbookServiceImpl.java | 48 +++++++++++++++++++ .../service/impl/CourseServiceImpl.java | 30 ++++++++++-- 8 files changed, 131 insertions(+), 5 deletions(-) create mode 100644 src/main/java/com/peanut/modules/common/dao/CourseGuestbookSupportDao.java create mode 100644 src/main/java/com/peanut/modules/common/entity/CourseGuestbookSupport.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 index 57993cf7..84a58557 100644 --- a/src/main/java/com/peanut/modules/common/controller/CourseGuestbookController.java +++ b/src/main/java/com/peanut/modules/common/controller/CourseGuestbookController.java @@ -3,6 +3,7 @@ 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.entity.CourseGuestbookSupport; import com.peanut.modules.common.service.CourseGuestbookService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -32,4 +33,16 @@ public class CourseGuestbookController { return R.ok(); } + @RequestMapping("/addCourseGuestbookSupport") + public R addCourseGuestbookSupport(@RequestBody Map map){ + service.addCourseGuestbookSupport(map); + return R.ok(); + } + + @RequestMapping("/cancelCourseGuestbookSupport") + public R cancelCourseGuestbookSupport(@RequestBody Map map){ + service.cancelCourseGuestbookSupport(map); + return R.ok(); + } + } diff --git a/src/main/java/com/peanut/modules/common/dao/CourseGuestbookSupportDao.java b/src/main/java/com/peanut/modules/common/dao/CourseGuestbookSupportDao.java new file mode 100644 index 00000000..ac694a9a --- /dev/null +++ b/src/main/java/com/peanut/modules/common/dao/CourseGuestbookSupportDao.java @@ -0,0 +1,9 @@ +package com.peanut.modules.common.dao; + +import com.github.yulichang.base.MPJBaseMapper; +import com.peanut.modules.common.entity.CourseGuestbookSupport; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface CourseGuestbookSupportDao 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 53c9dab6..e6f3aea3 100644 --- a/src/main/java/com/peanut/modules/common/entity/CourseGuestbook.java +++ b/src/main/java/com/peanut/modules/common/entity/CourseGuestbook.java @@ -32,8 +32,6 @@ public class CourseGuestbook { private String images; - private Integer support; - private Integer state; private Date createTime; @@ -41,6 +39,10 @@ public class CourseGuestbook { @TableLogic private Integer delFlag; + @TableField(exist = false) + private boolean support; + @TableField(exist = false) + private int supportCount; @TableField(exist = false) private List children; @TableField(exist = false) diff --git a/src/main/java/com/peanut/modules/common/entity/CourseGuestbookSupport.java b/src/main/java/com/peanut/modules/common/entity/CourseGuestbookSupport.java new file mode 100644 index 00000000..5fe83864 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/entity/CourseGuestbookSupport.java @@ -0,0 +1,21 @@ +package com.peanut.modules.common.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +@Data +@TableName("course_guestbook_support") +public class CourseGuestbookSupport { + + @TableId + private Integer id; + + private Integer userId; + + private Integer guestbookId; + + @TableLogic + private Integer delFlag; +} diff --git a/src/main/java/com/peanut/modules/common/service/CourseGuestbookService.java b/src/main/java/com/peanut/modules/common/service/CourseGuestbookService.java index 3af3db43..ac45e941 100644 --- a/src/main/java/com/peanut/modules/common/service/CourseGuestbookService.java +++ b/src/main/java/com/peanut/modules/common/service/CourseGuestbookService.java @@ -3,10 +3,16 @@ 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 com.peanut.modules.common.entity.CourseGuestbookSupport; import java.util.Map; public interface CourseGuestbookService extends IService { Page getCourseGuestbookList(Map map); + + void addCourseGuestbookSupport(Map map); + + void cancelCourseGuestbookSupport(Map map); + } diff --git a/src/main/java/com/peanut/modules/common/service/impl/BuyOrderServiceImpl.java b/src/main/java/com/peanut/modules/common/service/impl/BuyOrderServiceImpl.java index 7aa183a9..ff8f4b47 100644 --- a/src/main/java/com/peanut/modules/common/service/impl/BuyOrderServiceImpl.java +++ b/src/main/java/com/peanut/modules/common/service/impl/BuyOrderServiceImpl.java @@ -139,6 +139,9 @@ public class BuyOrderServiceImpl extends ServiceImpl impl if (buyOrder.getProductId()!=null){ buyOrder.setBookBuyConfigEntity(bookBuyConfigDao.selectById(buyOrder.getProductId())); } + if (buyOrder.getVipBuyConfigId()!=null){ + buyOrder.setVipBuyConfigEntity(vipBuyConfigDao.selectById(buyOrder.getVipBuyConfigId())); + } //添加商品信息 MPJLambdaWrapper buyOrderProductWrapper = new MPJLambdaWrapper<>(); buyOrderProductWrapper.leftJoin(BuyOrder.class,BuyOrder::getOrderId,BuyOrderProduct::getOrderId); 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 index a7ca222e..2722eb65 100644 --- a/src/main/java/com/peanut/modules/common/service/impl/CourseGuestbookServiceImpl.java +++ b/src/main/java/com/peanut/modules/common/service/impl/CourseGuestbookServiceImpl.java @@ -4,9 +4,12 @@ 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.common.utils.ShiroUtils; import com.peanut.modules.common.dao.CourseGuestbookDao; +import com.peanut.modules.common.dao.CourseGuestbookSupportDao; import com.peanut.modules.common.dao.MyUserDao; import com.peanut.modules.common.entity.CourseGuestbook; +import com.peanut.modules.common.entity.CourseGuestbookSupport; import com.peanut.modules.common.entity.MyUserEntity; import com.peanut.modules.common.service.CourseGuestbookService; import lombok.extern.slf4j.Slf4j; @@ -23,6 +26,8 @@ public class CourseGuestbookServiceImpl extends ServiceImpl map) { @@ -48,12 +53,55 @@ public class CourseGuestbookServiceImpl extends ServiceImpl 0) { for (CourseGuestbook c : list){ c.setUser(userDao.selectById(courseGuestbook.getUserId())); + //添加点赞数和是否点赞 + c.setSupportCount(getUserSupportCount(c.getId())); + c.setSupport(getUserSupport(c.getId(), Integer.parseInt(map.get("userId").toString()))); } } courseGuestbook.setChildren(list); + //添加点赞数和是否点赞 + courseGuestbook.setSupportCount(getUserSupportCount(courseGuestbook.getId())); + courseGuestbook.setSupport(getUserSupport(courseGuestbook.getId(), Integer.parseInt(map.get("userId").toString()))); } } return courseGuestbookPage; } + @Override + public void addCourseGuestbookSupport(Map map) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(CourseGuestbookSupport::getUserId,map.get("userId")); + wrapper.eq(CourseGuestbookSupport::getGuestbookId,map.get("guestbookId")); + CourseGuestbookSupport support = supportDao.selectOne(wrapper); + if (support == null) { + supportDao.insert(support); + } + } + + @Override + public void cancelCourseGuestbookSupport(Map map) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(CourseGuestbookSupport::getUserId,map.get("userId")); + wrapper.eq(CourseGuestbookSupport::getGuestbookId,map.get("guestbookId")); + supportDao.delete(wrapper); + } + + public int getUserSupportCount(int guestbookId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(CourseGuestbookSupport::getGuestbookId,guestbookId); + return supportDao.selectCount(wrapper); + } + + public boolean getUserSupport(int guestbookId,int userId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(CourseGuestbookSupport::getGuestbookId,guestbookId); + wrapper.eq(CourseGuestbookSupport::getUserId,userId); + int c = supportDao.selectCount(wrapper); + if (c>0){ + return true; + }else { + return false; + } + } + } diff --git a/src/main/java/com/peanut/modules/master/service/impl/CourseServiceImpl.java b/src/main/java/com/peanut/modules/master/service/impl/CourseServiceImpl.java index bd85ed4f..fe9f667e 100644 --- a/src/main/java/com/peanut/modules/master/service/impl/CourseServiceImpl.java +++ b/src/main/java/com/peanut/modules/master/service/impl/CourseServiceImpl.java @@ -262,17 +262,30 @@ public class CourseServiceImpl extends ServiceImpl impl @Override public R getCourseLableLinkList(Map param) { List resList = new ArrayList(); + //医学 MPJLambdaWrapper toMedicineWrapper = new MPJLambdaWrapper<>(); toMedicineWrapper.leftJoin(CourseMedicine.class,CourseMedicine::getId,CourseToMedicine::getMedicalId); toMedicineWrapper.selectAll(CourseMedicine.class); toMedicineWrapper.eq(CourseToMedicine::getCourseId,param.get("courseId")); - List list = toMedicalDao.selectJoinList(CourseMedicine.class,toMedicineWrapper); - if (list.size() > 0) { - for (CourseMedicine m:list){ + List mlist = toMedicalDao.selectJoinList(CourseMedicine.class,toMedicineWrapper); + if (mlist.size() > 0) { + for (CourseMedicine m:mlist){ m = getPCourseMedicine(m); resList.add(m); } } + //国学 + MPJLambdaWrapper toSociologyWrapper = new MPJLambdaWrapper<>(); + toSociologyWrapper.leftJoin(CourseSociologyEntity.class,CourseSociologyEntity::getId,CourseToSociologyEntity::getSociologyId); + toSociologyWrapper.selectAll(CourseSociologyEntity.class); + toSociologyWrapper.eq(CourseToSociologyEntity::getCourseId,param.get("courseId")); + List slist = courseToSociologyDao.selectJoinList(CourseSociologyEntity.class,toSociologyWrapper); + if (slist.size() > 0) { + for (CourseSociologyEntity s:slist){ + s = getPCourseSociology(s); + resList.add(s); + } + } return R.ok().put("resList",resList); } @@ -287,6 +300,17 @@ public class CourseServiceImpl extends ServiceImpl impl return m; } + private CourseSociologyEntity getPCourseSociology(CourseSociologyEntity s){ + if (s.getPid()!=0){ + CourseSociologyEntity pm = courseSociologyDao.selectById(s.getPid()); + List list = new ArrayList<>(); + list.add(s); + pm.setChildren(list); + s = getPCourseSociology(pm); + } + return s; + } + private List sociologyIds(Integer id){ ArrayList integers = new ArrayList<>(); From e3941c0b227aaaea415502875fc570e3cdb1d7c5 Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Thu, 13 Jun 2024 13:16:08 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=A7=86=E9=A2=91?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../master/service/impl/CourseCatalogueChapterServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/peanut/modules/master/service/impl/CourseCatalogueChapterServiceImpl.java b/src/main/java/com/peanut/modules/master/service/impl/CourseCatalogueChapterServiceImpl.java index 59caa718..59863a30 100644 --- a/src/main/java/com/peanut/modules/master/service/impl/CourseCatalogueChapterServiceImpl.java +++ b/src/main/java/com/peanut/modules/master/service/impl/CourseCatalogueChapterServiceImpl.java @@ -33,6 +33,7 @@ public class CourseCatalogueChapterServiceImpl extends ServiceImpl videoWrapper = new LambdaQueryWrapper<>(); videoWrapper.eq(CourseCatalogueChapterVideoEntity::getChapterId,chapter.getId()); + videoWrapper.orderByAsc(CourseCatalogueChapterVideoEntity::getSort); chapter.setVideoList(courseCatalogueChapterVideoDao.selectList(videoWrapper)); } }