ArticleServiceImpl.java 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package com.caimei.www.service.impl;
  2. import com.caimei.www.mapper.AccountDao;
  3. import com.caimei.www.mapper.ArticleDao;
  4. import com.caimei.www.pojo.JsonModel;
  5. import com.caimei.www.pojo.page.BaseLink;
  6. import com.caimei.www.service.ArticleService;
  7. import com.caimei.www.utils.PriceUtil;
  8. import io.netty.util.internal.MathUtil;
  9. import org.springframework.stereotype.Service;
  10. import javax.annotation.Resource;
  11. import java.math.BigDecimal;
  12. import java.util.List;
  13. /**
  14. * Description
  15. *
  16. * @date : 2020/8/10
  17. * @author : Charles
  18. */
  19. @Service
  20. public class ArticleServiceImpl implements ArticleService {
  21. @Resource
  22. private ArticleDao articleDao;
  23. /**
  24. * 获取文章热门标签
  25. */
  26. @Override
  27. public JsonModel<List<BaseLink>> getArticleLabels() {
  28. // 获取最高点击量
  29. Integer topClickRate = articleDao.getTopClickRate();
  30. // 获取热门标签
  31. List<BaseLink> labels = articleDao.getArticleLabels();
  32. double opacityParam = 0.5f;
  33. labels.forEach(label -> {
  34. double opacity = PriceUtil.mul(PriceUtil.div(label.getSort(), topClickRate), (1-opacityParam)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue() + opacityParam;
  35. label.setSort(opacity);
  36. });
  37. return JsonModel.success(labels);
  38. }
  39. }