课程留言板点赞

This commit is contained in:
wuchunlei
2024-06-13 10:36:27 +08:00
parent 709c0040d3
commit e04de3202a
8 changed files with 131 additions and 5 deletions

View File

@@ -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<String,Object> map){
service.addCourseGuestbookSupport(map);
return R.ok();
}
@RequestMapping("/cancelCourseGuestbookSupport")
public R cancelCourseGuestbookSupport(@RequestBody Map<String,Object> map){
service.cancelCourseGuestbookSupport(map);
return R.ok();
}
}

View File

@@ -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<CourseGuestbookSupport> {
}

View File

@@ -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<CourseGuestbook> children;
@TableField(exist = false)

View File

@@ -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;
}

View File

@@ -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<CourseGuestbook> {
Page getCourseGuestbookList(Map<String ,Object> map);
void addCourseGuestbookSupport(Map<String,Object> map);
void cancelCourseGuestbookSupport(Map<String,Object> map);
}

View File

@@ -139,6 +139,9 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
if (buyOrder.getProductId()!=null){
buyOrder.setBookBuyConfigEntity(bookBuyConfigDao.selectById(buyOrder.getProductId()));
}
if (buyOrder.getVipBuyConfigId()!=null){
buyOrder.setVipBuyConfigEntity(vipBuyConfigDao.selectById(buyOrder.getVipBuyConfigId()));
}
//添加商品信息
MPJLambdaWrapper<BuyOrderProduct> buyOrderProductWrapper = new MPJLambdaWrapper<>();
buyOrderProductWrapper.leftJoin(BuyOrder.class,BuyOrder::getOrderId,BuyOrderProduct::getOrderId);

View File

@@ -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<CourseGuestbookDao,
@Autowired
private MyUserDao userDao;
@Autowired
private CourseGuestbookSupportDao supportDao;
@Override
public Page getCourseGuestbookList(Map<String, Object> map) {
@@ -48,12 +53,55 @@ public class CourseGuestbookServiceImpl extends ServiceImpl<CourseGuestbookDao,
if (list.size() > 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<String,Object> map) {
LambdaQueryWrapper<CourseGuestbookSupport> 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<String,Object> map) {
LambdaQueryWrapper<CourseGuestbookSupport> 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<CourseGuestbookSupport> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(CourseGuestbookSupport::getGuestbookId,guestbookId);
return supportDao.selectCount(wrapper);
}
public boolean getUserSupport(int guestbookId,int userId) {
LambdaQueryWrapper<CourseGuestbookSupport> 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;
}
}
}

View File

@@ -262,17 +262,30 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, CourseEntity> impl
@Override
public R getCourseLableLinkList(Map<String, Object> param) {
List resList = new ArrayList();
//医学
MPJLambdaWrapper<CourseToMedicine> toMedicineWrapper = new MPJLambdaWrapper<>();
toMedicineWrapper.leftJoin(CourseMedicine.class,CourseMedicine::getId,CourseToMedicine::getMedicalId);
toMedicineWrapper.selectAll(CourseMedicine.class);
toMedicineWrapper.eq(CourseToMedicine::getCourseId,param.get("courseId"));
List<CourseMedicine> list = toMedicalDao.selectJoinList(CourseMedicine.class,toMedicineWrapper);
if (list.size() > 0) {
for (CourseMedicine m:list){
List<CourseMedicine> mlist = toMedicalDao.selectJoinList(CourseMedicine.class,toMedicineWrapper);
if (mlist.size() > 0) {
for (CourseMedicine m:mlist){
m = getPCourseMedicine(m);
resList.add(m);
}
}
//国学
MPJLambdaWrapper<CourseToSociologyEntity> toSociologyWrapper = new MPJLambdaWrapper<>();
toSociologyWrapper.leftJoin(CourseSociologyEntity.class,CourseSociologyEntity::getId,CourseToSociologyEntity::getSociologyId);
toSociologyWrapper.selectAll(CourseSociologyEntity.class);
toSociologyWrapper.eq(CourseToSociologyEntity::getCourseId,param.get("courseId"));
List<CourseSociologyEntity> 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<CourseDao, CourseEntity> impl
return m;
}
private CourseSociologyEntity getPCourseSociology(CourseSociologyEntity s){
if (s.getPid()!=0){
CourseSociologyEntity pm = courseSociologyDao.selectById(s.getPid());
List<CourseSociologyEntity> list = new ArrayList<>();
list.add(s);
pm.setChildren(list);
s = getPCourseSociology(pm);
}
return s;
}
private List<Integer> sociologyIds(Integer id){
ArrayList<Integer> integers = new ArrayList<>();