BaseServiceImpl.java 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package com.caimei.www.service.impl;
  2. import com.caimei.www.mapper.BaseDao;
  3. import com.caimei.www.pojo.base.*;
  4. import com.caimei.www.service.BaseService;
  5. import com.caimei.www.utils.ImageUtil;
  6. import org.springframework.beans.factory.annotation.Value;
  7. import org.springframework.cache.annotation.Cacheable;
  8. import org.springframework.stereotype.Service;
  9. import org.springframework.util.CollectionUtils;
  10. import org.springframework.util.StringUtils;
  11. import javax.annotation.Resource;
  12. import java.util.List;
  13. import java.util.stream.Collectors;
  14. /**
  15. * Description
  16. *
  17. * @author : Charles
  18. * @date : 2020/6/16
  19. */
  20. @Service
  21. public class BaseServiceImpl implements BaseService {
  22. @Resource
  23. private BaseDao baseDao;
  24. @Value("${caimei.wwwDomain}")
  25. private String domain;
  26. /**
  27. * 获取搜索热门关键字
  28. */
  29. @Override
  30. @Cacheable(value = "getSearchHotWord", key="'www'", unless="#result == null")
  31. public List<String> getSearchHotWord() {
  32. List<String> hotSearch = baseDao.getSearchKeyword();
  33. if (!CollectionUtils.isEmpty(hotSearch) && hotSearch.size() > 8) {
  34. return hotSearch.parallelStream()
  35. .filter(str -> !StringUtils.isEmpty(str)).limit(8)
  36. .collect(Collectors.toList());
  37. } else {
  38. return hotSearch;
  39. }
  40. }
  41. /**
  42. * 获取头部菜单
  43. */
  44. @Override
  45. @Cacheable(value = "getNavMenu", key="'www'", unless="#result == null")
  46. public List<TopMenu> getNavMenu() {
  47. List<TopMenu> menuList = baseDao.getTopMenus();
  48. menuList.forEach(item -> {
  49. List<SubMenu> subList = baseDao.getSubMenus(item.getId());
  50. if (subList.size() > 0) {
  51. // 设置老图片路径
  52. subList.forEach(sub -> {
  53. sub.setImage(ImageUtil.getImageURL("", sub.getImage(), 0, domain));
  54. });
  55. }
  56. item.setSubMenus(subList);
  57. });
  58. return menuList;
  59. }
  60. /**
  61. * 底部帮助页
  62. */
  63. @Override
  64. @Cacheable(value = "getHelpPages", key="'www'", unless="#result == null")
  65. public List<BaseLink> getHelpPages() {
  66. List<BaseLink> typeList = baseDao.getHelpPageTypes();
  67. typeList.forEach(item -> {
  68. List<BaseLink> pageList = baseDao.getHelpPagesByType(item.getId());
  69. item.setLinkList(pageList);
  70. });
  71. return typeList;
  72. }
  73. /**
  74. * 友情链接
  75. */
  76. @Override
  77. @Cacheable(value = "getFriendLinks", key="'www'", unless="#result == null")
  78. public List<BaseLink> getFriendLinks() {
  79. return baseDao.getFriendLinks();
  80. }
  81. }