BannersService.java 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package com.goafanti.banners.service;
  2. import java.util.HashMap;
  3. import java.util.List;
  4. import java.util.Map;
  5. import org.apache.commons.lang3.StringUtils;
  6. import org.slf4j.Logger;
  7. import org.slf4j.LoggerFactory;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.cache.annotation.CacheEvict;
  10. import org.springframework.cache.annotation.Cacheable;
  11. import org.springframework.stereotype.Service;
  12. import com.goafanti.common.dao.BannersMapper;
  13. import com.goafanti.common.model.Banners;
  14. import com.goafanti.common.utils.LoggerUtils;
  15. import com.goafanti.core.mybatis.BaseMybatisDao;
  16. @Service
  17. public class BannersService extends BaseMybatisDao<BannersMapper> {
  18. @Autowired
  19. BannersMapper bannersMapper;
  20. private static final Logger logger = LoggerFactory.getLogger(BannersService.class);
  21. public int insertBanner(Banners banners) {
  22. return bannersMapper.insertSelective(banners);
  23. }
  24. public int updateBanner(Banners banners) {
  25. return bannersMapper.updateByPrimaryKeySelective(banners);
  26. }
  27. public int deleteBanner(Long id) {
  28. return bannersMapper.deleteByPrimaryKey(id);
  29. }
  30. public List<Banners> findBannersList(String sign, Integer pageNo, Integer pageSize) {
  31. return portalBanners(sign, pageNo, pageSize);
  32. }
  33. public int findBannersListCount(String sign) {
  34. return bannersMapper.findBannerListCount(sign);
  35. }
  36. public List<Banners> previewPortalBanners(String key) {
  37. return portalBanners(key, 0, 6);
  38. }
  39. @Cacheable(value = "BannersListCache", key = "'BannersList:Key:'+#key")
  40. public List<Banners> findPortalBanners(String key) {
  41. return portalBanners(key, 0, 6);
  42. }
  43. private List<Banners> portalBanners(String sign, Integer pageNo, Integer pageSize) {
  44. Map<String, Object> params = new HashMap<String, Object>();
  45. if (StringUtils.isNotBlank(sign)) {
  46. params.put("sign", sign);
  47. }
  48. params.put("pageSize", pageSize);
  49. params.put("pageNo", pageNo);
  50. return bannersMapper.findBannerList(params);
  51. }
  52. @CacheEvict(value = "BannersListCache", key = "'BannersList:Key:'+#key")
  53. public void cleanList(String key) {
  54. LoggerUtils.debug(logger, "清除广告图列表缓存:[%s]", key);
  55. }
  56. }