课程留言板点赞
This commit is contained in:
@@ -3,6 +3,7 @@ package com.peanut.modules.common.controller;
|
|||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.peanut.common.utils.R;
|
import com.peanut.common.utils.R;
|
||||||
import com.peanut.modules.common.entity.CourseGuestbook;
|
import com.peanut.modules.common.entity.CourseGuestbook;
|
||||||
|
import com.peanut.modules.common.entity.CourseGuestbookSupport;
|
||||||
import com.peanut.modules.common.service.CourseGuestbookService;
|
import com.peanut.modules.common.service.CourseGuestbookService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -32,4 +33,16 @@ public class CourseGuestbookController {
|
|||||||
return R.ok();
|
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();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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> {
|
||||||
|
}
|
||||||
@@ -32,8 +32,6 @@ public class CourseGuestbook {
|
|||||||
|
|
||||||
private String images;
|
private String images;
|
||||||
|
|
||||||
private Integer support;
|
|
||||||
|
|
||||||
private Integer state;
|
private Integer state;
|
||||||
|
|
||||||
private Date createTime;
|
private Date createTime;
|
||||||
@@ -41,6 +39,10 @@ public class CourseGuestbook {
|
|||||||
@TableLogic
|
@TableLogic
|
||||||
private Integer delFlag;
|
private Integer delFlag;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private boolean support;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private int supportCount;
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private List<CourseGuestbook> children;
|
private List<CourseGuestbook> children;
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -3,10 +3,16 @@ package com.peanut.modules.common.service;
|
|||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.peanut.modules.common.entity.CourseGuestbook;
|
import com.peanut.modules.common.entity.CourseGuestbook;
|
||||||
|
import com.peanut.modules.common.entity.CourseGuestbookSupport;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public interface CourseGuestbookService extends IService<CourseGuestbook> {
|
public interface CourseGuestbookService extends IService<CourseGuestbook> {
|
||||||
|
|
||||||
Page getCourseGuestbookList(Map<String ,Object> map);
|
Page getCourseGuestbookList(Map<String ,Object> map);
|
||||||
|
|
||||||
|
void addCourseGuestbookSupport(Map<String,Object> map);
|
||||||
|
|
||||||
|
void cancelCourseGuestbookSupport(Map<String,Object> map);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -139,6 +139,9 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
|
|||||||
if (buyOrder.getProductId()!=null){
|
if (buyOrder.getProductId()!=null){
|
||||||
buyOrder.setBookBuyConfigEntity(bookBuyConfigDao.selectById(buyOrder.getProductId()));
|
buyOrder.setBookBuyConfigEntity(bookBuyConfigDao.selectById(buyOrder.getProductId()));
|
||||||
}
|
}
|
||||||
|
if (buyOrder.getVipBuyConfigId()!=null){
|
||||||
|
buyOrder.setVipBuyConfigEntity(vipBuyConfigDao.selectById(buyOrder.getVipBuyConfigId()));
|
||||||
|
}
|
||||||
//添加商品信息
|
//添加商品信息
|
||||||
MPJLambdaWrapper<BuyOrderProduct> buyOrderProductWrapper = new MPJLambdaWrapper<>();
|
MPJLambdaWrapper<BuyOrderProduct> buyOrderProductWrapper = new MPJLambdaWrapper<>();
|
||||||
buyOrderProductWrapper.leftJoin(BuyOrder.class,BuyOrder::getOrderId,BuyOrderProduct::getOrderId);
|
buyOrderProductWrapper.leftJoin(BuyOrder.class,BuyOrder::getOrderId,BuyOrderProduct::getOrderId);
|
||||||
|
|||||||
@@ -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.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
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.CourseGuestbookDao;
|
||||||
|
import com.peanut.modules.common.dao.CourseGuestbookSupportDao;
|
||||||
import com.peanut.modules.common.dao.MyUserDao;
|
import com.peanut.modules.common.dao.MyUserDao;
|
||||||
import com.peanut.modules.common.entity.CourseGuestbook;
|
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.entity.MyUserEntity;
|
||||||
import com.peanut.modules.common.service.CourseGuestbookService;
|
import com.peanut.modules.common.service.CourseGuestbookService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -23,6 +26,8 @@ public class CourseGuestbookServiceImpl extends ServiceImpl<CourseGuestbookDao,
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private MyUserDao userDao;
|
private MyUserDao userDao;
|
||||||
|
@Autowired
|
||||||
|
private CourseGuestbookSupportDao supportDao;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Page getCourseGuestbookList(Map<String, Object> map) {
|
public Page getCourseGuestbookList(Map<String, Object> map) {
|
||||||
@@ -48,12 +53,55 @@ public class CourseGuestbookServiceImpl extends ServiceImpl<CourseGuestbookDao,
|
|||||||
if (list.size() > 0) {
|
if (list.size() > 0) {
|
||||||
for (CourseGuestbook c : list){
|
for (CourseGuestbook c : list){
|
||||||
c.setUser(userDao.selectById(courseGuestbook.getUserId()));
|
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.setChildren(list);
|
||||||
|
//添加点赞数和是否点赞
|
||||||
|
courseGuestbook.setSupportCount(getUserSupportCount(courseGuestbook.getId()));
|
||||||
|
courseGuestbook.setSupport(getUserSupport(courseGuestbook.getId(), Integer.parseInt(map.get("userId").toString())));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return courseGuestbookPage;
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -262,17 +262,30 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, CourseEntity> impl
|
|||||||
@Override
|
@Override
|
||||||
public R getCourseLableLinkList(Map<String, Object> param) {
|
public R getCourseLableLinkList(Map<String, Object> param) {
|
||||||
List resList = new ArrayList();
|
List resList = new ArrayList();
|
||||||
|
//医学
|
||||||
MPJLambdaWrapper<CourseToMedicine> toMedicineWrapper = new MPJLambdaWrapper<>();
|
MPJLambdaWrapper<CourseToMedicine> toMedicineWrapper = new MPJLambdaWrapper<>();
|
||||||
toMedicineWrapper.leftJoin(CourseMedicine.class,CourseMedicine::getId,CourseToMedicine::getMedicalId);
|
toMedicineWrapper.leftJoin(CourseMedicine.class,CourseMedicine::getId,CourseToMedicine::getMedicalId);
|
||||||
toMedicineWrapper.selectAll(CourseMedicine.class);
|
toMedicineWrapper.selectAll(CourseMedicine.class);
|
||||||
toMedicineWrapper.eq(CourseToMedicine::getCourseId,param.get("courseId"));
|
toMedicineWrapper.eq(CourseToMedicine::getCourseId,param.get("courseId"));
|
||||||
List<CourseMedicine> list = toMedicalDao.selectJoinList(CourseMedicine.class,toMedicineWrapper);
|
List<CourseMedicine> mlist = toMedicalDao.selectJoinList(CourseMedicine.class,toMedicineWrapper);
|
||||||
if (list.size() > 0) {
|
if (mlist.size() > 0) {
|
||||||
for (CourseMedicine m:list){
|
for (CourseMedicine m:mlist){
|
||||||
m = getPCourseMedicine(m);
|
m = getPCourseMedicine(m);
|
||||||
resList.add(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);
|
return R.ok().put("resList",resList);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -287,6 +300,17 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, CourseEntity> impl
|
|||||||
return m;
|
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){
|
private List<Integer> sociologyIds(Integer id){
|
||||||
ArrayList<Integer> integers = new ArrayList<>();
|
ArrayList<Integer> integers = new ArrayList<>();
|
||||||
|
|||||||
Reference in New Issue
Block a user