PartyNewsServiceImpl.java 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. package com.ruoyi.system.service.impl;
  2. import com.ruoyi.common.core.redis.RedisCache;
  3. import com.ruoyi.common.utils.DateUtils;
  4. import com.ruoyi.common.utils.SecurityUtils;
  5. import com.ruoyi.common.utils.StringUtils;
  6. import com.ruoyi.system.domain.partyNews.PartyNews;
  7. import com.ruoyi.system.mapper.PartyNewsMapper;
  8. import com.ruoyi.system.service.IPartyNewsService;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Service;
  11. import java.util.List;
  12. import static com.ruoyi.common.constant.Constants.STARS_PARTY_NEWS;
  13. import static com.ruoyi.common.constant.Constants.STARS_PARTY_NEWS_COUNT;
  14. /**
  15. * 党建资讯Service业务层处理
  16. *
  17. * @author boman
  18. * @date 2025-02-14
  19. */
  20. @Service
  21. public class PartyNewsServiceImpl implements IPartyNewsService
  22. {
  23. @Autowired
  24. private PartyNewsMapper partyNewsMapper;
  25. @Autowired
  26. private RedisCache redisCache;
  27. /**
  28. * 查询党建资讯
  29. *
  30. * @param partyId 党建资讯主键
  31. * @return 党建资讯
  32. */
  33. @Override
  34. public PartyNews selectPartyNewsByPartyId(Long partyId)
  35. {
  36. PartyNews partyNews = partyNewsMapper.selectPartyNewsByPartyId(partyId);
  37. //观看次数+1
  38. Long viewCount = partyNews.getViewCount();
  39. partyNews.setViewCount(viewCount+1);
  40. partyNewsMapper.updatePartyNews(partyNews);
  41. return partyNews;
  42. }
  43. /**
  44. * 查询党建资讯列表
  45. *
  46. * @param partyNews 党建资讯
  47. * @return 党建资讯
  48. */
  49. @Override
  50. public List<PartyNews> selectPartyNewsList(PartyNews partyNews)
  51. {
  52. List<PartyNews> partyNewsList = partyNewsMapper.selectPartyNewsList(partyNews);
  53. if (partyNewsList != null && partyNewsList.size() > 0){
  54. String partyKey = STARS_PARTY_NEWS+ SecurityUtils.getUserId();
  55. List<Long> partyIdList = redisCache.getCacheList(partyKey);
  56. for (PartyNews news : partyNewsList) {
  57. news.setIsStars("N");
  58. Long partyId = news.getPartyId();
  59. if (partyIdList.contains(partyId)){
  60. news.setIsStars("Y");
  61. }
  62. //插入收藏数量
  63. partyNews.setStarsCount(0);
  64. String startCount = redisCache.getCacheObject(STARS_PARTY_NEWS_COUNT + partyId);
  65. if (StringUtils.isNotBlank(startCount)){
  66. partyNews.setStarsCount(Integer.parseInt(startCount));
  67. }
  68. }
  69. }
  70. return partyNewsList;
  71. }
  72. /**
  73. * 新增党建资讯
  74. *
  75. * @param partyNews 党建资讯
  76. * @return 结果
  77. */
  78. @Override
  79. public int insertPartyNews(PartyNews partyNews)
  80. {
  81. partyNews.setCreateTime(DateUtils.getNowDate());
  82. return partyNewsMapper.insertPartyNews(partyNews);
  83. }
  84. /**
  85. * 修改党建资讯
  86. *
  87. * @param partyNews 党建资讯
  88. * @return 结果
  89. */
  90. @Override
  91. public int updatePartyNews(PartyNews partyNews)
  92. {
  93. partyNews.setUpdateTime(DateUtils.getNowDate());
  94. return partyNewsMapper.updatePartyNews(partyNews);
  95. }
  96. /**
  97. * 批量删除党建资讯
  98. *
  99. * @param partyIds 需要删除的党建资讯主键
  100. * @return 结果
  101. */
  102. @Override
  103. public int deletePartyNewsByPartyIds(Long[] partyIds)
  104. {
  105. return partyNewsMapper.deletePartyNewsByPartyIds(partyIds);
  106. }
  107. /**
  108. * 删除党建资讯信息
  109. *
  110. * @param partyId 党建资讯主键
  111. * @return 结果
  112. */
  113. @Override
  114. public int deletePartyNewsByPartyId(Long partyId)
  115. {
  116. return partyNewsMapper.deletePartyNewsByPartyId(partyId);
  117. }
  118. }