|
@@ -1,98 +1,115 @@
|
|
package com.ruoyi.news.service.impl;
|
|
package com.ruoyi.news.service.impl;
|
|
|
|
|
|
-
|
|
|
|
|
|
+import com.ruoyi.common.constant.Constants;
|
|
|
|
+import com.ruoyi.common.core.redis.RedisCache;
|
|
import com.ruoyi.common.utils.DateUtils;
|
|
import com.ruoyi.common.utils.DateUtils;
|
|
|
|
+import com.ruoyi.common.utils.StringUtils;
|
|
import com.ruoyi.news.domain.BomanNews;
|
|
import com.ruoyi.news.domain.BomanNews;
|
|
import com.ruoyi.news.mapper.BomanNewsMapper;
|
|
import com.ruoyi.news.mapper.BomanNewsMapper;
|
|
import com.ruoyi.news.service.IBomanNewsService;
|
|
import com.ruoyi.news.service.IBomanNewsService;
|
|
|
|
+import org.apache.commons.lang3.ObjectUtils;
|
|
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 javax.annotation.Resource;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* boman_newsService业务层处理
|
|
* boman_newsService业务层处理
|
|
- *
|
|
|
|
|
|
+ *
|
|
* @author boman
|
|
* @author boman
|
|
* @date 2024-01-18
|
|
* @date 2024-01-18
|
|
*/
|
|
*/
|
|
@Service
|
|
@Service
|
|
-public class BomanNewsServiceImpl implements IBomanNewsService
|
|
|
|
-{
|
|
|
|
|
|
+public class BomanNewsServiceImpl implements IBomanNewsService {
|
|
@Autowired
|
|
@Autowired
|
|
private BomanNewsMapper bomanNewsMapper;
|
|
private BomanNewsMapper bomanNewsMapper;
|
|
|
|
+ @Resource
|
|
|
|
+ private RedisCache redisCache;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 查询boman_news
|
|
* 查询boman_news
|
|
- *
|
|
|
|
|
|
+ *
|
|
* @param newsId boman_news主键
|
|
* @param newsId boman_news主键
|
|
* @return boman_news
|
|
* @return boman_news
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public BomanNews selectBomanNewsByNewsId(Long newsId)
|
|
|
|
- {
|
|
|
|
- return bomanNewsMapper.selectBomanNewsByNewsId(newsId);
|
|
|
|
|
|
+ public BomanNews selectBomanNewsByNewsId(Long newsId) {
|
|
|
|
+ String key = Constants.NEW_RED_NUM + newsId;
|
|
|
|
+ //从redis中获取该文章的阅读数量,如果没有则新增,如果能被100整除,记录到数据库
|
|
|
|
+ String redNum = redisCache.getCacheObject(key);
|
|
|
|
+ BomanNews bomanNews = bomanNewsMapper.selectBomanNewsByNewsId(newsId);
|
|
|
|
+ if (StringUtils.isEmpty(redNum)) {
|
|
|
|
+ redisCache.setCacheObject(key, 1);
|
|
|
|
+ bomanNews.setReadnumber(1);
|
|
|
|
+ } else {
|
|
|
|
+ int num = Integer.parseInt(redNum) + 1;
|
|
|
|
+ if (num % 100 == 0){
|
|
|
|
+ bomanNews.setReadnumber(num);
|
|
|
|
+ //更新到数据库
|
|
|
|
+ bomanNewsMapper.updateBomanNews(bomanNews);
|
|
|
|
+ }
|
|
|
|
+ redisCache.setCacheObject(key, num);
|
|
|
|
+ }
|
|
|
|
+ return bomanNews;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
* 查询boman_news列表
|
|
* 查询boman_news列表
|
|
- *
|
|
|
|
|
|
+ *
|
|
* @param bomanNews boman_news
|
|
* @param bomanNews boman_news
|
|
* @return boman_news
|
|
* @return boman_news
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public List<BomanNews> selectBomanNewsList(BomanNews bomanNews)
|
|
|
|
- {
|
|
|
|
|
|
+ public List<BomanNews> selectBomanNewsList(BomanNews bomanNews) {
|
|
return bomanNewsMapper.selectBomanNewsList(bomanNews);
|
|
return bomanNewsMapper.selectBomanNewsList(bomanNews);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
* 新增boman_news
|
|
* 新增boman_news
|
|
- *
|
|
|
|
|
|
+ *
|
|
* @param bomanNews boman_news
|
|
* @param bomanNews boman_news
|
|
* @return 结果
|
|
* @return 结果
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public int insertBomanNews(BomanNews bomanNews)
|
|
|
|
- {
|
|
|
|
|
|
+ public int insertBomanNews(BomanNews bomanNews) {
|
|
|
|
+ bomanNews.setReadnumber(0);
|
|
bomanNews.setCreateTime(DateUtils.getNowDate());
|
|
bomanNews.setCreateTime(DateUtils.getNowDate());
|
|
return bomanNewsMapper.insertBomanNews(bomanNews);
|
|
return bomanNewsMapper.insertBomanNews(bomanNews);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
* 修改boman_news
|
|
* 修改boman_news
|
|
- *
|
|
|
|
|
|
+ *
|
|
* @param bomanNews boman_news
|
|
* @param bomanNews boman_news
|
|
* @return 结果
|
|
* @return 结果
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public int updateBomanNews(BomanNews bomanNews)
|
|
|
|
- {
|
|
|
|
|
|
+ public int updateBomanNews(BomanNews bomanNews) {
|
|
bomanNews.setUpdateTime(DateUtils.getNowDate());
|
|
bomanNews.setUpdateTime(DateUtils.getNowDate());
|
|
return bomanNewsMapper.updateBomanNews(bomanNews);
|
|
return bomanNewsMapper.updateBomanNews(bomanNews);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
* 批量删除boman_news
|
|
* 批量删除boman_news
|
|
- *
|
|
|
|
|
|
+ *
|
|
* @param newsIds 需要删除的boman_news主键
|
|
* @param newsIds 需要删除的boman_news主键
|
|
* @return 结果
|
|
* @return 结果
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public int deleteBomanNewsByNewsIds(Long[] newsIds)
|
|
|
|
- {
|
|
|
|
|
|
+ public int deleteBomanNewsByNewsIds(Long[] newsIds) {
|
|
return bomanNewsMapper.deleteBomanNewsByNewsIds(newsIds);
|
|
return bomanNewsMapper.deleteBomanNewsByNewsIds(newsIds);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
* 删除boman_news信息
|
|
* 删除boman_news信息
|
|
- *
|
|
|
|
|
|
+ *
|
|
* @param newsId boman_news主键
|
|
* @param newsId boman_news主键
|
|
* @return 结果
|
|
* @return 结果
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public int deleteBomanNewsByNewsId(Long newsId)
|
|
|
|
- {
|
|
|
|
|
|
+ public int deleteBomanNewsByNewsId(Long newsId) {
|
|
return bomanNewsMapper.deleteBomanNewsByNewsId(newsId);
|
|
return bomanNewsMapper.deleteBomanNewsByNewsId(newsId);
|
|
}
|
|
}
|
|
}
|
|
}
|