fix: 返回我的分享修复

This commit is contained in:
sjm
2024-07-20 10:23:20 +08:00
parent 402110081b
commit 91c11bca5a
4 changed files with 76 additions and 55 deletions

View File

@@ -45,6 +45,11 @@ public class SchisandraShareCommentReplyController {
}
}
/**
* 返回点赞总数
* @param Id
* @return
*/
@GetMapping("returnlikes")
public Result<Long> returnlikes(@RequestParam String Id) {
try{

View File

@@ -5,6 +5,7 @@ import com.google.common.base.Preconditions;
import com.schisandra.share.application.convert.SchisandraShareDetailDTOConverter;
import com.schisandra.share.application.dto.SchisandraShareDetailDTO;
import com.schisandra.share.common.entity.Result;
import com.schisandra.share.common.utils.CaffeineUtil;
import com.schisandra.share.domain.bo.SchisandraShareDetailBO;
import com.schisandra.share.domain.service.SchisandraShareDetailDomainService;
import lombok.extern.slf4j.Slf4j;
@@ -28,12 +29,19 @@ public class SchisandraShareDetailController {
@Resource
private SchisandraShareDetailDomainService schisandraShareDetailDomainService;
@Resource
CaffeineUtil caffeineUtil;
/**
* 获取我的分享
*/
@GetMapping("mydetail")
public Result mydetail(@RequestParam("userId") String userId) {
try{
try {
List<SchisandraShareDetailBO> result = (List<SchisandraShareDetailBO>) caffeineUtil
.caffeineBuild().getIfPresent("mydetail" + userId);
caffeineUtil.caffeineBuild().put("mydetail" + userId, result);
return Result.ok(SchisandraShareDetailDTOConverter.INSTANCE.convertBOToDTOList(schisandraShareDetailDomainService.mydetail(userId)));
} catch (Exception e) {
return Result.fail(e.getMessage());
@@ -42,30 +50,32 @@ public class SchisandraShareDetailController {
/**
* 新增分享详细信息
*
* @param schisandraShareDetailDTO
* @return
*/
@PostMapping("add_detail")
public Result addDetail(@RequestBody SchisandraShareDetailDTO schisandraShareDetailDTO) {
Preconditions.checkNotNull(schisandraShareDetailDTO.getTitle(),"标题不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getIcon(),"图标不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getDescription(),"摘要不能为空");
SchisandraShareDetailBO schisandraShareDetailBO = SchisandraShareDetailDTOConverter.INSTANCE.convertDTOToBO(schisandraShareDetailDTO);
return Result.ok(schisandraShareDetailDomainService.addDetail(schisandraShareDetailBO));
}
@PostMapping("add_detail")
public Result addDetail(@RequestBody SchisandraShareDetailDTO schisandraShareDetailDTO) {
Preconditions.checkNotNull(schisandraShareDetailDTO.getTitle(), "标题不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getIcon(), "图标不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getDescription(), "摘要不能为空");
caffeineUtil.caffeineBuild().invalidate("list" + schisandraShareDetailDTO.getCircleId());
caffeineUtil.caffeineBuild().invalidate("mydetail" + schisandraShareDetailDTO.getUserId());
SchisandraShareDetailBO schisandraShareDetailBO = SchisandraShareDetailDTOConverter.INSTANCE.convertDTOToBO(schisandraShareDetailDTO);
return Result.ok(schisandraShareDetailDomainService.addDetail(schisandraShareDetailBO));
}
/**
* 查询分享详细信息
*/
@Cacheable(value = "getdetail",key = "#Id")
/**
* 查询分享详细信息
*/
@Cacheable(value = "getdetail", key = "#Id")
@PostMapping("get_detail")
public Result selectDetail(@RequestParam("Id") String Id){
try{
public Result selectDetail(@RequestParam("Id") String Id) {
try {
SchisandraShareDetailBO resultList = schisandraShareDetailDomainService.getDetailsById(Id);
return Result.ok(resultList);
}catch (Exception e){
} catch (Exception e) {
return Result.fail();
}
}
@@ -78,10 +88,12 @@ public class SchisandraShareDetailController {
* @author: landaiqing
* @date: 2024/7/15 下午7:09
*/
@Cacheable(value = "detaillist",key = "#circleId")
@PostMapping("/list")
@PostMapping("list")
public Result<List<SchisandraShareDetailDTO>> selectCircleList(@RequestParam("circleId") String circleId) {
List<SchisandraShareDetailBO> result = (List<SchisandraShareDetailBO>) caffeineUtil
.caffeineBuild().getIfPresent("list" + circleId);
List<SchisandraShareDetailBO> resultList = schisandraShareDetailDomainService.list(circleId);
caffeineUtil.caffeineBuild().put("list" + circleId, resultList);
List<SchisandraShareDetailDTO> schisandraShareDetailDTOS = SchisandraShareDetailDTOConverter.INSTANCE.convertBOToDTOList(resultList);
return Result.ok(schisandraShareDetailDTOS);
}
@@ -96,23 +108,15 @@ public class SchisandraShareDetailController {
if (log.isInfoEnabled()) {
log.info("SchisandraShareDetailController.add.dto:{}", JSON.toJSONString(schisandraShareDetailDTO));
}
Preconditions.checkNotNull(schisandraShareDetailDTO.getId(), "不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getCircleId(), "不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getUserId(), "不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getTitle(), "不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getIcon(), "不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getDescription(), "不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getCircleId(), "圈子id不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getUserId(), "用户id不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getTitle(), "标题不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getIcon(), "图标不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getDescription(), "描述不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getContent(), "内容不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getCommentCount(), "评论总数不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getLikesCount(), "点赞数量不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getViews(), "不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getExtJson(), "不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getCreatedBy(), "创建人不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getCreatedTime(), "创建时间不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getUpdateBy(), "更新人不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getUpdateTime(), "更新时间不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getIsDeleted(), "不能为空");
SchisandraShareDetailBO SchisandraShareDetailBO = SchisandraShareDetailDTOConverter.INSTANCE.convertDTOToBO(schisandraShareDetailDTO);
caffeineUtil.caffeineBuild().invalidate("list" + schisandraShareDetailDTO.getCircleId());
caffeineUtil.caffeineBuild().invalidate("mydetail" + schisandraShareDetailDTO.getUserId());
return Result.ok(schisandraShareDetailDomainService.add(SchisandraShareDetailBO));
} catch (Exception e) {
log.error("SchisandraShareDetailController.register.error:{}", e.getMessage(), e);
@@ -166,23 +170,10 @@ public class SchisandraShareDetailController {
if (log.isInfoEnabled()) {
log.info("SchisandraShareDetailController.delete.dto:{}", JSON.toJSONString(schisandraShareDetailDTO));
}
Preconditions.checkNotNull(schisandraShareDetailDTO.getId(), "不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getCircleId(), "不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getUserId(), "不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getTitle(), "不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getIcon(), "不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getDescription(), "不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getContent(), "内容不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getCommentCount(), "评论总数不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getLikesCount(), "点赞数量不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getViews(), "不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getExtJson(), "不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getCreatedBy(), "创建人不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getCreatedTime(), "创建时间不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getUpdateBy(), "更新人不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getUpdateTime(), "更新时间不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getIsDeleted(), "不能为空");
Preconditions.checkNotNull(schisandraShareDetailDTO.getId(), "详情id不能为空");
SchisandraShareDetailBO schisandraShareDetailBO = SchisandraShareDetailDTOConverter.INSTANCE.convertDTOToBO(schisandraShareDetailDTO);
caffeineUtil.caffeineBuild().invalidate("list" + schisandraShareDetailDTO.getCircleId());
caffeineUtil.caffeineBuild().invalidate("mydetail" + schisandraShareDetailDTO.getUserId());
return Result.ok(schisandraShareDetailDomainService.delete(schisandraShareDetailBO));
} catch (Exception e) {
log.error("SchisandraShareDetailController.delete.error:{}", e.getMessage(), e);

View File

@@ -106,7 +106,7 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
List<SchisandraShareUrlDetail> schisandraShareUrlDetailS = schisandraShareUrlDetailService.queryByDetailId(Id);
List<SchisandraShareUrlDetailBO> schisandraShareUrlDetailBOS = SchisandraShareUrlDetailBOConverter.INSTANCE.convertEntityToBOList(schisandraShareUrlDetailS);
Assert.notNull(schisandraShareUrlDetailBOS.stream().map(SchisandraShareUrlDetailBO::getUrlId).collect(Collectors.toList()),"分享链接为空");
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);
@@ -148,12 +148,37 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
schisandraShareUrlDetail.setDetailId(schisandraShareDetail.getId());
schisandraShareUrlDetailService.insert(schisandraShareUrlDetail);
}
return insert>0;
return insert > 0;
}
@Override
public List<SchisandraShareDetailBO> mydetail(String userId) {
return SchisandraShareDetailBOConverter.INSTANCE.convertEntityToBOList(schisandraShareDetailService.queryByuserId(userId));
}
List<SchisandraShareDetail> schisandraShareDetails = schisandraShareDetailService.queryByuserId(userId);
List<SchisandraShareDetailBO> shareDetailBOList = SchisandraShareDetailBOConverter.INSTANCE.convertEntityToBOList(schisandraShareDetails);
LinkedList<SchisandraShareDetailBO> resultList = new LinkedList<>();
shareDetailBOList.forEach(shareDetailBO -> {
AuthUserInfoEntity userInfo = userRpc.getUserInfo(shareDetailBO.getUserId());
SchisandraShareDetailBO schisandraShareDetailBO = new SchisandraShareDetailBO();
schisandraShareDetailBO.setCircleId(shareDetailBO.getCircleId());
schisandraShareDetailBO.setIcon(shareDetailBO.getIcon());
schisandraShareDetailBO.setDescription(shareDetailBO.getDescription());
schisandraShareDetailBO.setTitle(shareDetailBO.getTitle());
schisandraShareDetailBO.setId(shareDetailBO.getId());
schisandraShareDetailBO.setLikesCount(shareDetailBO.getLikesCount());
schisandraShareDetailBO.setViews(shareDetailBO.getViews());
schisandraShareDetailBO.setAvatar(userInfo.getAvatar());
schisandraShareDetailBO.setNickname(userInfo.getNickName());
schisandraShareDetailBO.setCommentCount(shareDetailBO.getCommentCount());
List<SchisandraShareDetailTag> schisandraShareDetailTags = schisandraShareDetailTagService.queryTagIdsByDetailId(shareDetailBO.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);
resultList.add(schisandraShareDetailBO);
});
return resultList;
}
}

View File

@@ -72,6 +72,6 @@ public class SchisandraShareDetailServiceImpl implements SchisandraShareDetailSe
@Override
public List<SchisandraShareDetail> queryByuserId(String userId) {
return this.schisandraShareDetailDao.selectListByCondition(SchisandraShareDetailTableDef.SCHISANDRA_SHARE_DETAIL.CIRCLE_ID.eq(userId));
return this.schisandraShareDetailDao.selectListByCondition(SchisandraShareDetailTableDef.SCHISANDRA_SHARE_DETAIL.USER_ID.eq(userId));
}
}