feat: 文章详情新增字段isLike,isFavor
This commit is contained in:
@@ -174,11 +174,10 @@ public class SchisandraShareDetailController {
|
|||||||
/**
|
/**
|
||||||
* 查询分享详细信息
|
* 查询分享详细信息
|
||||||
*/
|
*/
|
||||||
@Cacheable(value = "getdetail", key = "#Id")
|
|
||||||
@GetMapping("get_detail")
|
@GetMapping("get_detail")
|
||||||
public Result selectDetail(@RequestParam("Id") String Id) {
|
public Result selectDetail(@RequestParam("Id") String Id,String userId) {
|
||||||
try {
|
try {
|
||||||
SchisandraShareDetailBO resultList = schisandraShareDetailDomainService.getDetailsById(Id);
|
SchisandraShareDetailBO resultList = schisandraShareDetailDomainService.getDetailsById2(Id,userId);
|
||||||
HashMap<String, Object> map = new HashMap<>();
|
HashMap<String, Object> map = new HashMap<>();
|
||||||
map.put("Id", Id);
|
map.put("Id", Id);
|
||||||
map.put("Views", true);
|
map.put("Views", true);
|
||||||
|
@@ -104,7 +104,9 @@ public class SchisandraShareDetailDTO implements Serializable {
|
|||||||
|
|
||||||
private String avatar;
|
private String avatar;
|
||||||
|
|
||||||
private Boolean isLike;
|
private Boolean isLike = false;
|
||||||
|
|
||||||
|
private Boolean isFavor = false;
|
||||||
|
|
||||||
List<SchisandraShareTagsDTO> tags;
|
List<SchisandraShareTagsDTO> tags;
|
||||||
|
|
||||||
|
@@ -99,7 +99,9 @@ public class SchisandraShareDetailBO implements Serializable {
|
|||||||
|
|
||||||
private String avatar;
|
private String avatar;
|
||||||
|
|
||||||
private Boolean isLike;
|
private Boolean isLike = false;
|
||||||
|
|
||||||
|
private Boolean isFavor = false;
|
||||||
|
|
||||||
List<SchisandraShareTagsBO> tags;
|
List<SchisandraShareTagsBO> tags;
|
||||||
|
|
||||||
|
@@ -29,6 +29,8 @@ public interface SchisandraShareDetailDomainService {
|
|||||||
|
|
||||||
List<SchisandraShareDetailBO> list(String circleId,String userId);
|
List<SchisandraShareDetailBO> list(String circleId,String userId);
|
||||||
|
|
||||||
|
SchisandraShareDetailBO getDetailsById2(String Id,String userId);
|
||||||
|
|
||||||
SchisandraShareDetailBO getDetailsById(String Id);
|
SchisandraShareDetailBO getDetailsById(String Id);
|
||||||
|
|
||||||
Boolean addDetail(SchisandraShareDetailBO schisandraShareDetailBO);
|
Boolean addDetail(SchisandraShareDetailBO schisandraShareDetailBO);
|
||||||
@@ -39,4 +41,5 @@ public interface SchisandraShareDetailDomainService {
|
|||||||
Boolean updateDetailViews(String id,Boolean isView);
|
Boolean updateDetailViews(String id,Boolean isView);
|
||||||
|
|
||||||
Boolean updateDetailLikes(String id,Boolean isLike);
|
Boolean updateDetailLikes(String id,Boolean isLike);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -42,6 +42,10 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
|
|||||||
private SchisandraShareUrlService schisandraShareUrlService;
|
private SchisandraShareUrlService schisandraShareUrlService;
|
||||||
@Resource
|
@Resource
|
||||||
SchisandraUserLikesCommentService schisandraUserLikesCommentService;
|
SchisandraUserLikesCommentService schisandraUserLikesCommentService;
|
||||||
|
@Resource
|
||||||
|
SchisandraUserLikesDetailService schisandraUserLikesDetailService;
|
||||||
|
@Resource
|
||||||
|
SchisandraUserFavoritesService schisandraUserFavoritesService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean add(SchisandraShareDetailBO schisandraShareDetailBO) {
|
public Boolean add(SchisandraShareDetailBO schisandraShareDetailBO) {
|
||||||
@@ -101,6 +105,44 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
|
|||||||
return resultList;
|
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
|
@Override
|
||||||
public SchisandraShareDetailBO getDetailsById(String Id) {
|
public SchisandraShareDetailBO getDetailsById(String Id) {
|
||||||
SchisandraShareDetail schisandraShareDetails = schisandraShareDetailService.queryById(Id);
|
SchisandraShareDetail schisandraShareDetails = schisandraShareDetailService.queryById(Id);
|
||||||
|
@@ -45,4 +45,6 @@ public interface SchisandraUserFavoritesService {
|
|||||||
boolean deleteById(Long id);
|
boolean deleteById(Long id);
|
||||||
|
|
||||||
List<SchisandraUserFavorites> returnMyFavor(String userId);
|
List<SchisandraUserFavorites> returnMyFavor(String userId);
|
||||||
|
|
||||||
|
SchisandraUserFavorites selectFavor(String Id,String userId);
|
||||||
}
|
}
|
||||||
|
@@ -42,5 +42,7 @@ public interface SchisandraUserLikesDetailService {
|
|||||||
*/
|
*/
|
||||||
boolean deleteById(Long id);
|
boolean deleteById(Long id);
|
||||||
|
|
||||||
|
SchisandraUserLikesDetail selectLike(String Id,String userId);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -78,5 +78,14 @@ public class SchisandraUserFavoritesServiceImpl implements SchisandraUserFavorit
|
|||||||
return this.schisandraUserFavoritesDao.selectListByQuery(wrapper);
|
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;
|
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.entity.SchisandraUserLikesDetail;
|
||||||
import com.schisandra.share.infra.basic.dao.SchisandraUserLikesDetailDao;
|
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 com.schisandra.share.infra.basic.service.SchisandraUserLikesDetailService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@@ -63,5 +65,14 @@ public class SchisandraUserLikesDetailServiceImpl implements SchisandraUserLikes
|
|||||||
return this.schisandraUserLikesDetailDao.deleteById(id) > 0;
|
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