feat: 文章详情新增字段isLike,isFavor
This commit is contained in:
@@ -174,11 +174,10 @@ public class SchisandraShareDetailController {
|
||||
/**
|
||||
* 查询分享详细信息
|
||||
*/
|
||||
@Cacheable(value = "getdetail", key = "#Id")
|
||||
@GetMapping("get_detail")
|
||||
public Result selectDetail(@RequestParam("Id") String Id) {
|
||||
public Result selectDetail(@RequestParam("Id") String Id,String userId) {
|
||||
try {
|
||||
SchisandraShareDetailBO resultList = schisandraShareDetailDomainService.getDetailsById(Id);
|
||||
SchisandraShareDetailBO resultList = schisandraShareDetailDomainService.getDetailsById2(Id,userId);
|
||||
HashMap<String, Object> map = new HashMap<>();
|
||||
map.put("Id", Id);
|
||||
map.put("Views", true);
|
||||
|
@@ -104,7 +104,9 @@ public class SchisandraShareDetailDTO implements Serializable {
|
||||
|
||||
private String avatar;
|
||||
|
||||
private Boolean isLike;
|
||||
private Boolean isLike = false;
|
||||
|
||||
private Boolean isFavor = false;
|
||||
|
||||
List<SchisandraShareTagsDTO> tags;
|
||||
|
||||
|
@@ -99,7 +99,9 @@ public class SchisandraShareDetailBO implements Serializable {
|
||||
|
||||
private String avatar;
|
||||
|
||||
private Boolean isLike;
|
||||
private Boolean isLike = false;
|
||||
|
||||
private Boolean isFavor = false;
|
||||
|
||||
List<SchisandraShareTagsBO> tags;
|
||||
|
||||
|
@@ -29,6 +29,8 @@ public interface SchisandraShareDetailDomainService {
|
||||
|
||||
List<SchisandraShareDetailBO> list(String circleId,String userId);
|
||||
|
||||
SchisandraShareDetailBO getDetailsById2(String Id,String userId);
|
||||
|
||||
SchisandraShareDetailBO getDetailsById(String Id);
|
||||
|
||||
Boolean addDetail(SchisandraShareDetailBO schisandraShareDetailBO);
|
||||
@@ -39,4 +41,5 @@ public interface SchisandraShareDetailDomainService {
|
||||
Boolean updateDetailViews(String id,Boolean isView);
|
||||
|
||||
Boolean updateDetailLikes(String id,Boolean isLike);
|
||||
|
||||
}
|
||||
|
@@ -42,6 +42,10 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
|
||||
private SchisandraShareUrlService schisandraShareUrlService;
|
||||
@Resource
|
||||
SchisandraUserLikesCommentService schisandraUserLikesCommentService;
|
||||
@Resource
|
||||
SchisandraUserLikesDetailService schisandraUserLikesDetailService;
|
||||
@Resource
|
||||
SchisandraUserFavoritesService schisandraUserFavoritesService;
|
||||
|
||||
@Override
|
||||
public Boolean add(SchisandraShareDetailBO schisandraShareDetailBO) {
|
||||
@@ -101,6 +105,44 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
|
||||
return resultList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SchisandraShareDetailBO getDetailsById2(String Id,String userId) {
|
||||
SchisandraShareDetail schisandraShareDetails = schisandraShareDetailService.queryById(Id);
|
||||
SchisandraShareDetailBO schisandraShareDetailBO = SchisandraShareDetailBOConverter.INSTANCE.convertEntityToBO(schisandraShareDetails);
|
||||
|
||||
SchisandraUserFavorites schisandraUserFavorites = schisandraUserFavoritesService.selectFavor(Id, userId);
|
||||
if(schisandraUserFavorites!=null){
|
||||
schisandraShareDetailBO.setIsFavor(true);
|
||||
}
|
||||
|
||||
SchisandraUserLikesDetail schisandraUserLikesDetail = schisandraUserLikesDetailService.selectLike(Id, userId);
|
||||
if(schisandraUserLikesDetail!=null){
|
||||
schisandraShareDetailBO.setIsLike(true);
|
||||
}
|
||||
|
||||
AuthUserInfoEntity userInfo = userRpc.getUserInfo(schisandraShareDetailBO.getUserId());
|
||||
schisandraShareDetailBO.setAvatar(userInfo.getAvatar());
|
||||
schisandraShareDetailBO.setNickname(userInfo.getNickName());
|
||||
|
||||
List<SchisandraShareUrlDetail> schisandraShareUrlDetailS = schisandraShareUrlDetailService.queryByDetailId(Id);
|
||||
List<SchisandraShareUrlDetailBO> schisandraShareUrlDetailBOS = SchisandraShareUrlDetailBOConverter.INSTANCE.convertEntityToBOList(schisandraShareUrlDetailS);
|
||||
Assert.notNull(schisandraShareUrlDetailBOS.stream().map(SchisandraShareUrlDetailBO::getUrlId).collect(Collectors.toList()), "分享链接为空");
|
||||
List<String> urlIds = schisandraShareUrlDetailBOS.stream().map(SchisandraShareUrlDetailBO::getUrlId).collect(Collectors.toList());
|
||||
|
||||
List<SchisandraShareUrl> schisandraShareUrlS = schisandraShareUrlService.queryByIds(urlIds);
|
||||
List<SchisandraShareUrlBO> schisandraShareUrlBOS = SchisandraShareUrlBOConverter.INSTANCE.convertEntityToBOList(schisandraShareUrlS);
|
||||
schisandraShareDetailBO.setUrls(schisandraShareUrlBOS);
|
||||
|
||||
List<SchisandraShareDetailTag> schisandraShareDetailTags = schisandraShareDetailTagService.queryTagIdsByDetailId(schisandraShareDetailBO.getId());
|
||||
List<SchisandraShareDetailTagBO> shareDetailTagBOList = SchisandraShareDetailTagBOConverter.INSTANCE.convertEntityToBOList(schisandraShareDetailTags);
|
||||
List<String> tagIds = shareDetailTagBOList.stream().map(SchisandraShareDetailTagBO::getTagId).collect(Collectors.toList());
|
||||
List<SchisandraShareTags> shareTagList = schisandraShareTagsService.queryByIds(tagIds);
|
||||
List<SchisandraShareTagsBO> shareTagsBOList = SchisandraShareTagsBOConverter.INSTANCE.convertEntityToBOList(shareTagList);
|
||||
schisandraShareDetailBO.setTags(shareTagsBOList);
|
||||
|
||||
return schisandraShareDetailBO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SchisandraShareDetailBO getDetailsById(String Id) {
|
||||
SchisandraShareDetail schisandraShareDetails = schisandraShareDetailService.queryById(Id);
|
||||
|
@@ -45,4 +45,6 @@ public interface SchisandraUserFavoritesService {
|
||||
boolean deleteById(Long id);
|
||||
|
||||
List<SchisandraUserFavorites> returnMyFavor(String userId);
|
||||
|
||||
SchisandraUserFavorites selectFavor(String Id,String userId);
|
||||
}
|
||||
|
@@ -42,5 +42,7 @@ public interface SchisandraUserLikesDetailService {
|
||||
*/
|
||||
boolean deleteById(Long id);
|
||||
|
||||
SchisandraUserLikesDetail selectLike(String Id,String userId);
|
||||
|
||||
|
||||
}
|
||||
|
@@ -78,5 +78,14 @@ public class SchisandraUserFavoritesServiceImpl implements SchisandraUserFavorit
|
||||
return this.schisandraUserFavoritesDao.selectListByQuery(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SchisandraUserFavorites selectFavor(String Id, String userId) {
|
||||
QueryWrapper wrapper = QueryWrapper.create()
|
||||
.select(SchisandraUserFavoritesTableDef.SCHISANDRA_USER_FAVORITES.ID)
|
||||
.where(SchisandraUserFavoritesTableDef.SCHISANDRA_USER_FAVORITES.ID.eq(Id))
|
||||
.where(SchisandraUserFavoritesTableDef.SCHISANDRA_USER_FAVORITES.USER_ID.eq(userId));
|
||||
return this.schisandraUserFavoritesDao.selectOneByQuery(wrapper);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@@ -1,7 +1,9 @@
|
||||
package com.schisandra.share.infra.basic.service.impl;
|
||||
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import com.schisandra.share.infra.basic.entity.SchisandraUserLikesDetail;
|
||||
import com.schisandra.share.infra.basic.dao.SchisandraUserLikesDetailDao;
|
||||
import com.schisandra.share.infra.basic.entity.table.SchisandraUserLikesDetailTableDef;
|
||||
import com.schisandra.share.infra.basic.service.SchisandraUserLikesDetailService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -63,5 +65,14 @@ public class SchisandraUserLikesDetailServiceImpl implements SchisandraUserLikes
|
||||
return this.schisandraUserLikesDetailDao.deleteById(id) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SchisandraUserLikesDetail selectLike(String Id, String userId) {
|
||||
QueryWrapper wrapper = QueryWrapper.create()
|
||||
.select(SchisandraUserLikesDetailTableDef.SCHISANDRA_USER_LIKES_DETAIL.ID)
|
||||
.where(SchisandraUserLikesDetailTableDef.SCHISANDRA_USER_LIKES_DETAIL.DETAIL_ID.eq(Id))
|
||||
.where(SchisandraUserLikesDetailTableDef.SCHISANDRA_USER_LIKES_DETAIL.USER_ID.eq(userId));
|
||||
return this.schisandraUserLikesDetailDao.selectOneByQuery(wrapper);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user