From b37275dba6b782bf3bb3817c4504f6cdef1bef7c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 18 三月 2021 18:38:51 +0800 Subject: [PATCH] APP首页顶部标签兼容 --- src/main/java/com/yeshi/buwan/service/imp/recommend/HomeRecommendSpecialServiceImpl.java | 91 +++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 87 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/service/imp/recommend/HomeRecommendSpecialServiceImpl.java b/src/main/java/com/yeshi/buwan/service/imp/recommend/HomeRecommendSpecialServiceImpl.java index fa1dc5d..d665510 100644 --- a/src/main/java/com/yeshi/buwan/service/imp/recommend/HomeRecommendSpecialServiceImpl.java +++ b/src/main/java/com/yeshi/buwan/service/imp/recommend/HomeRecommendSpecialServiceImpl.java @@ -4,7 +4,11 @@ import com.yeshi.buwan.dao.recommend.SuperHomeRecommendSpecialDao; import com.yeshi.buwan.domain.recommend.HomeRecommendSpecial; import com.yeshi.buwan.domain.recommend.SuperHomeRecommendSpecial; +import com.yeshi.buwan.domain.system.DetailSystem; +import com.yeshi.buwan.domain.web.DetailSystemSelect; +import com.yeshi.buwan.dto.recommend.HomeRecommendSpecialDTO; import com.yeshi.buwan.exception.ParamsException; +import com.yeshi.buwan.service.imp.SystemService; import com.yeshi.buwan.service.inter.recommend.HomeRecommendSpecialService; import com.yeshi.buwan.util.StringUtil; import org.springframework.stereotype.Service; @@ -23,6 +27,55 @@ @Resource private SuperHomeRecommendSpecialDao superHomeRecommendSpecialDao; + @Resource + private SystemService systemService; + + + @Override + public List<HomeRecommendSpecialDTO> list(String systemId, String detailSystemId, String key, int page, int pageSize) { + List<HomeRecommendSpecialDTO> dtoList = new ArrayList<>(); + List<DetailSystem> detailSystemList = systemService.getDetailSystemList(systemId); + List<HomeRecommendSpecial> list = null; + if (!StringUtil.isNullOrEmpty(detailSystemId)) { + list = listSpecialByDetailSystemId(detailSystemId, key, page, pageSize); + } else { + list = listSpecialBySystemId(systemId, key, page, pageSize); + } + + for (HomeRecommendSpecial special : list) { + + List<DetailSystemSelect> selects = new ArrayList<>(); + HomeRecommendSpecialDTO dto = new HomeRecommendSpecialDTO(); + //鏌ヨsuper + List<SuperHomeRecommendSpecial> superHomeRecommendSpecialList = listSuperSpecialBySpecialId(special.getId()); + for (DetailSystem detailSystem : detailSystemList) { + detailSystem.setInfo(null); + DetailSystemSelect select = new DetailSystemSelect(); + select.setDetailSystem(detailSystem); + for (SuperHomeRecommendSpecial s : superHomeRecommendSpecialList) { + if (s.getDetailSystemId().equalsIgnoreCase(detailSystem.getId())) { + select.setSelected(true); + break; + } + } + selects.add(select); + } + + dto.setDetailSystemSelectList(selects); + dto.setSpecial(special); + dtoList.add(dto); + } + return dtoList; + } + + @Override + public long count(String systemId, String detailSystemId, String key) { + if (!StringUtil.isNullOrEmpty(detailSystemId)) { + return countSpecialByDetailSystemId(detailSystemId, key); + } else { + return countSpecialBySystemId(systemId, key); + } + } @Validated @Override @@ -48,18 +101,35 @@ } @Override - public List<HomeRecommendSpecial> listSpecialBySystemId(String systemId) { + public HomeRecommendSpecial getSpecial(String id) { + return homeRecommendSpecialDao.get(id); + } + + @Override + public List<HomeRecommendSpecial> listSpecialBySystemId(String systemId, String key, int page, int pageSize) { HomeRecommendSpecialDao.DaoQuery query = new HomeRecommendSpecialDao.DaoQuery(); query.systemId = systemId; - query.count = Integer.MAX_VALUE; + query.key = key; + query.start = (page - 1) * pageSize; + query.count = pageSize; return homeRecommendSpecialDao.list(query); } @Override - public List<HomeRecommendSpecial> listSpecialByDetailSystemId(String detailSystemId) { + public long countSpecialBySystemId(String systemId, String key) { + HomeRecommendSpecialDao.DaoQuery query = new HomeRecommendSpecialDao.DaoQuery(); + query.systemId = systemId; + query.key = key; + return homeRecommendSpecialDao.count(query); + } + + @Override + public List<HomeRecommendSpecial> listSpecialByDetailSystemId(String detailSystemId, String key, int page, int pageSize) { SuperHomeRecommendSpecialDao.DaoQuery query = new SuperHomeRecommendSpecialDao.DaoQuery(); query.detailSystemId = detailSystemId; - query.count = Integer.MAX_VALUE; + query.showName = key; + query.start = (page - 1) * pageSize; + query.count = pageSize; List<SuperHomeRecommendSpecial> list = superHomeRecommendSpecialDao.list(query); List<String> specialIds = new ArrayList<>(); for (SuperHomeRecommendSpecial special : list) { @@ -92,6 +162,14 @@ } @Override + public long countSpecialByDetailSystemId(String detailSystemId, String key) { + SuperHomeRecommendSpecialDao.DaoQuery query = new SuperHomeRecommendSpecialDao.DaoQuery(); + query.detailSystemId = detailSystemId; + query.showName = key; + return superHomeRecommendSpecialDao.count(query); + } + + @Override public void deleteSpecial(String specialId) { List<SuperHomeRecommendSpecial> list = listSuperSpecialBySpecialId(specialId); @@ -116,6 +194,11 @@ if (superSpecial.getWeight() == null) { superSpecial.setWeight(special.getWeight()); } + + if (superSpecial.getShowName() == null) { + superSpecial.setShowName(special.getName()); + } + if (superSpecial.getCreateTime() == null) superSpecial.setCreateTime(new Date()); superHomeRecommendSpecialDao.save(superSpecial); -- Gitblit v1.8.0