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<>();