Commit f1e9afa9 by 阳浪

收藏

parent 45a18051
...@@ -5,6 +5,7 @@ import com.yizhi.library.application.param.CommentParam; ...@@ -5,6 +5,7 @@ import com.yizhi.library.application.param.CommentParam;
import com.yizhi.library.application.param.InformParam; import com.yizhi.library.application.param.InformParam;
import com.yizhi.library.application.vo.CommentReplyVO; import com.yizhi.library.application.vo.CommentReplyVO;
import com.yizhi.library.application.vo.CommentVO; import com.yizhi.library.application.vo.CommentVO;
import com.yizhi.library.application.vo.FavoriteVO;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
...@@ -57,6 +58,13 @@ public interface StudyCaseClient { ...@@ -57,6 +58,13 @@ public interface StudyCaseClient {
boolean favorite(@RequestParam("studentCaseId") Long studentCaseId); boolean favorite(@RequestParam("studentCaseId") Long studentCaseId);
/** /**
* 学习案例收藏列表
*
* @return
*/
@GetMapping("/studentCase/study/favorite/list")
Page<FavoriteVO> getFavoriteList(@RequestParam("pageNo")Integer pageNo, @RequestParam("pageSize")Integer pageSize);
/**
* 学习案例取消收藏 * 学习案例取消收藏
* *
* @param studentCaseId * @param studentCaseId
......
package com.yizhi.library.application.controller; package com.yizhi.library.application.controller;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import com.yizhi.library.application.domain.Favorite;
import com.yizhi.library.application.feign.StudyCaseClient; import com.yizhi.library.application.feign.StudyCaseClient;
import com.yizhi.library.application.param.CommentParam; import com.yizhi.library.application.param.CommentParam;
import com.yizhi.library.application.param.InformParam; import com.yizhi.library.application.param.InformParam;
import com.yizhi.library.application.service.*; import com.yizhi.library.application.service.*;
import com.yizhi.library.application.vo.CommentReplyVO; import com.yizhi.library.application.vo.CommentReplyVO;
import com.yizhi.library.application.vo.CommentVO; import com.yizhi.library.application.vo.CommentVO;
import com.yizhi.library.application.vo.FavoriteVO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -61,6 +63,12 @@ public class StudyCaseController implements StudyCaseClient { ...@@ -61,6 +63,12 @@ public class StudyCaseController implements StudyCaseClient {
} }
@Override @Override
@GetMapping("/favorite/list")
public Page<FavoriteVO> getFavoriteList(@RequestParam("pageNo")Integer pageNo, @RequestParam("pageSize")Integer pageSize) {
return favoriteService.getFavoriteList(pageNo, pageSize);
}
@Override
@GetMapping("/cancelFavorite") @GetMapping("/cancelFavorite")
public boolean cancelFavorite(Long studentCaseId) { public boolean cancelFavorite(Long studentCaseId) {
return favoriteService.cancelFavorite(studentCaseId); return favoriteService.cancelFavorite(studentCaseId);
......
package com.yizhi.library.application.service; package com.yizhi.library.application.service;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService; import com.baomidou.mybatisplus.service.IService;
import com.yizhi.library.application.domain.Favorite; import com.yizhi.library.application.domain.Favorite;
import com.yizhi.library.application.vo.FavoriteVO;
/** /**
* <p> * <p>
...@@ -33,4 +35,6 @@ public interface IFavoriteService extends IService<Favorite> { ...@@ -33,4 +35,6 @@ public interface IFavoriteService extends IService<Favorite> {
* @return * @return
*/ */
boolean favoriteStudentCase(Long studentCaseId); boolean favoriteStudentCase(Long studentCaseId);
Page<FavoriteVO> getFavoriteList(Integer pageNo, Integer pageSize);
} }
package com.yizhi.library.application.service.impl; package com.yizhi.library.application.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.google.common.collect.Lists;
import com.yizhi.application.orm.id.IdGenerator; import com.yizhi.application.orm.id.IdGenerator;
import com.yizhi.core.application.context.ContextHolder; import com.yizhi.core.application.context.ContextHolder;
import com.yizhi.core.application.context.RequestContext; import com.yizhi.core.application.context.RequestContext;
import com.yizhi.library.application.domain.Favorite; import com.yizhi.library.application.domain.Favorite;
import com.yizhi.library.application.mapper.FavoriteMapper; import com.yizhi.library.application.mapper.FavoriteMapper;
import com.yizhi.library.application.service.IFavoriteService; import com.yizhi.library.application.service.IFavoriteService;
import com.yizhi.library.application.vo.FavoriteVO;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* <p> * <p>
...@@ -76,4 +82,35 @@ public class FavoriteServiceImpl extends ServiceImpl<FavoriteMapper, Favorite> i ...@@ -76,4 +82,35 @@ public class FavoriteServiceImpl extends ServiceImpl<FavoriteMapper, Favorite> i
int count = this.selectCount(new EntityWrapper<>(favorite)); int count = this.selectCount(new EntityWrapper<>(favorite));
return count>0; return count>0;
} }
@Override
public Page<FavoriteVO> getFavoriteList(Integer pageNo, Integer pageSize) {
RequestContext res = ContextHolder.get();
Favorite favorite = new Favorite();
favorite.setAccountId(res.getAccountId());
favorite.setState(1);
EntityWrapper<Favorite> entityWrapper = new EntityWrapper<Favorite>(favorite);
List<String> list = Lists.newArrayList();
list.add("createTime");
entityWrapper.orderDesc(list);
entityWrapper.setSqlSelect("DISTINCT biz_id,MAX(create_time) AS createTime");
entityWrapper.groupBy("biz_id");
Page<Favorite> page = this.selectPage(new Page<>(pageNo,pageSize),entityWrapper);
Page<FavoriteVO> voPage = new Page<>(pageNo,pageSize);
if(page!=null) {
voPage.setTotal(page.getTotal());
if(CollectionUtils.isNotEmpty(page.getRecords())){
List<FavoriteVO> favoriteVOList = Lists.newArrayList();
page.getRecords().stream().forEach(f->{
FavoriteVO vo = new FavoriteVO();
vo.setFavoriteId(f.getBizId());
vo.setSubmitTime(f.getCreateTime());
BeanUtils.copyProperties(f,vo);
favoriteVOList.add(vo);
});
voPage.setRecords(favoriteVOList);
}
}
return voPage;
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment