From dd5b15229cb15459fa7c31ccea77dac28cbfafbd Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 13 四月 2020 10:04:20 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/service/impl/goods/RecommendBannerServiceImpl.java | 203 +------------------------------------------------- 1 files changed, 5 insertions(+), 198 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/RecommendBannerServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/RecommendBannerServiceImpl.java index ec84921..fde1804 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/RecommendBannerServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/RecommendBannerServiceImpl.java @@ -1,227 +1,34 @@ package com.yeshi.fanli.service.impl.goods; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.LinkedHashMap; import java.util.List; -import java.util.Map; import javax.annotation.Resource; -import javax.transaction.Transactional; -import org.hibernate.HibernateException; -import org.hibernate.Query; -import org.hibernate.Session; -import org.springframework.orm.hibernate4.HibernateCallback; import org.springframework.stereotype.Service; -import com.yeshi.fanli.dao.goods.RecommendBannerDao; -import com.yeshi.fanli.entity.admin.RecommendBannerAdmin; +import com.yeshi.fanli.dao.mybatis.homemodule.RecommendBannerMapper; import com.yeshi.fanli.entity.bus.recommend.RecommendBanner; -import com.yeshi.fanli.entity.bus.su.recommend.SuperRecommendBanner; -import com.yeshi.fanli.entity.system.BusinessSystem; import com.yeshi.fanli.service.inter.config.BusinessSystemService; import com.yeshi.fanli.service.inter.goods.RecommendBannerService; import com.yeshi.fanli.service.inter.goods.SuperRecommendBannerService; -import com.yeshi.fanli.util.Constant; -import com.yeshi.fanli.util.Utils; @Service public class RecommendBannerServiceImpl implements RecommendBannerService { @Resource - private RecommendBannerDao recommendBannerDao; + private RecommendBannerMapper recommendBannerMapper; @Resource private SuperRecommendBannerService superRecommendBannerService; @Resource private BusinessSystemService businessSystemService; - + public List<RecommendBanner> getRecommendBanners() { - - return recommendBannerDao.list("from RecommendBanner rb order by rb.orderby"); - - } - - public void addRecommendBanner(RecommendBanner banner) { - banner.setCreatetime(java.lang.System.currentTimeMillis()); - recommendBannerDao.create(banner); - } - - @SuppressWarnings("unchecked") - public List<RecommendBannerAdmin> getRecommendBanners(int pageIndex, - String platform, String packages, String key) { - final int strat = pageIndex * Constant.PAGE_SIZE; - platform = Utils.getMap().get(platform); - com.yeshi.fanli.entity.system.BusinessSystem system = businessSystemService.getBusinessSystem(platform, packages); - List<RecommendBanner> recommendBannerList=null; - List<SuperRecommendBanner> superRecommendBannerList=null; - Map<Long,RecommendBannerAdmin> recommendBannerAdminMap=new HashMap<Long, RecommendBannerAdmin>(); - List<RecommendBannerAdmin> recommendBannerAdmin=new ArrayList<RecommendBannerAdmin>(); - if(system == null){ - if("".equals(key.trim())){ - recommendBannerList = (List<RecommendBanner>) recommendBannerDao.excute(new HibernateCallback<List<RecommendBanner>>(){ - public List<RecommendBanner> doInHibernate(Session session) - throws HibernateException { - Query query = session.createQuery(" from RecommendBanner rb order by rb.orderby "); - query.setFirstResult(strat); - query.setMaxResults(Constant.PAGE_SIZE); - return query.list(); - } - }); - }else{ - final String likekey = "%"+key+"%"; - recommendBannerList= (List<RecommendBanner>) recommendBannerDao.excute(new HibernateCallback<List<RecommendBanner>>(){ - public List<RecommendBanner> doInHibernate(Session session) - throws HibernateException { - Query query = session.createQuery(" from RecommendBanner rs where rs.name like ? order by rs.orderby "); - query.setFirstResult(strat); - query.setMaxResults(Constant.PAGE_SIZE); - query.setParameter(0, likekey); - return query.list(); - } - }); - } - List<Long> rsIdList = new ArrayList<Long>(); - for (RecommendBanner rs : recommendBannerList) { - rsIdList.add(rs.getId()); - } - superRecommendBannerList = superRecommendBannerService.getSuperRecommendBannersByBanners(rsIdList); - Map<Long,List<BusinessSystem>> superMap = new HashMap<Long, List<BusinessSystem>>(); - Long rsId=null; - List<BusinessSystem> systemList=null; - for (SuperRecommendBanner srs : superRecommendBannerList) { - rsId = srs.getRecommendBanner().getId(); - systemList = superMap.get(rsId); - if(systemList==null){ - systemList=new ArrayList<BusinessSystem>(); - } - systemList.add(srs.getSystem()); - superMap.put(rsId,systemList); - } - RecommendBannerAdmin rsa=null; - for (RecommendBanner recommendBanner : recommendBannerList) { - long id = recommendBanner.getId(); - rsa = recommendBannerAdminMap.get(id); - if(rsa==null){ - rsa=new RecommendBannerAdmin(); - } - List<BusinessSystem> list = superMap.get(id); - if(list != null){ - rsa.getSystemList().addAll(superMap.get(id)); - } - rsa.setRecommendBanner(recommendBanner); - recommendBannerAdminMap.put(id, rsa); - } - }else if(system != null){ - if("".equals(key.trim())){ - superRecommendBannerList = superRecommendBannerService.getSuperRecommendBannerBySystemId(system.getId(),strat, Constant.PAGE_SIZE); - }else{ - String likekey = "%"+key+"%"; - superRecommendBannerList = superRecommendBannerService.getSuperRecommendBannerBySystemId(system.getId(),strat, Constant.PAGE_SIZE,likekey); - } - List<Long> rsIdList =new ArrayList<Long>(); - for (SuperRecommendBanner superRecommendBanner : superRecommendBannerList) { - RecommendBanner recommendBanner = superRecommendBanner.getRecommendBanner(); - rsIdList.add(recommendBanner.getId()); - } - superRecommendBannerList = superRecommendBannerService.getSuperRecommendBannersByBanners(rsIdList); - RecommendBannerAdmin rsa=null; - for (SuperRecommendBanner superRecommendBanner : superRecommendBannerList) { - RecommendBanner recommendBanner = superRecommendBanner.getRecommendBanner(); - rsa = recommendBannerAdminMap.get(recommendBanner.getId()); - if(rsa==null){ - rsa=new RecommendBannerAdmin(recommendBanner); - } - rsa.getSystemList().add(superRecommendBanner.getSystem()); - recommendBannerAdminMap.put(recommendBanner.getId(), rsa); - } - } - Map<Long, RecommendBannerAdmin> obMap = (LinkedHashMap<Long, RecommendBannerAdmin>) Utils.orderBy(recommendBannerAdminMap); - Collection<RecommendBannerAdmin> values = obMap.values(); - recommendBannerAdmin.addAll(values); - return recommendBannerAdmin; - - } - - public long getCount() { - return recommendBannerDao - .getCount("select count(*) from RecommendBanner"); - } - - @Transactional - public void deleteBanners(final long[] rbids) { - superRecommendBannerService.deleteSuperRecommendBanners(rbids); - recommendBannerDao.excute(new HibernateCallback() { - public Object doInHibernate(Session session) - throws HibernateException { - - StringBuffer sb = new -// StringBuffer("delete b,j from yeshi_ec_recommend_banner b left join yeshi_ec_action_jumpdetail j on b.jumpid=j.id "); - StringBuffer("delete b from yeshi_ec_recommend_banner b "); - for (int i = 0; i < rbids.length; i++) { - if(i==0){ - sb.append(" where b.id=? "); - }else{ - sb.append(" or b.id=?"); - } - } - Query query = session.createSQLQuery(sb.toString()); - for (int i = 0; i < rbids.length; i++) { - query.setLong(i, rbids[i]); - } - query.executeUpdate(); - return null; - } - }); - } - - public RecommendBanner getRecommendBanner(long id) { - RecommendBanner banner = recommendBannerDao.find(RecommendBanner.class, id); - return banner; + return recommendBannerMapper.listAllOrderByOrderby(); } public void updateBanner(RecommendBanner banner) { - recommendBannerDao.update(banner); - } - - public int getCount(String platform, String packages, final String key) { - platform = Utils.getMap().get(platform); - final BusinessSystem system = businessSystemService.getBusinessSystem(platform, packages); - return (Integer) recommendBannerDao.excute(new HibernateCallback<Integer>() { - - public Integer doInHibernate(Session session) - throws HibernateException { - String k = "%"+key+"%"; - Query query; - if(system==null){ -// query = session.createSQLQuery("select count(a.name) from (select name from yeshi_ec_recommend_banner where `name` like ?) a"); - query=session.createQuery("select count(rb.id) from RecommendBanner rb where rb.name like ? "); - query.setParameter(0, k); - }else{ -// query =session.createSQLQuery("select count(a.name) from (select hs.name from yeshi_ec_super_recommendbanner shs left join yeshi_ec_recommend_banner hs on shs.recommendbanner_id=hs.id where shs.system_id=? and hs.name like ?) a"); - query=session.createQuery("select count(srb.id) from SuperRecommendBanner srb where srb.system.id = ? and srb.recommendBanner.name like ?"); - query.setParameter(0, system.getId()); - query.setParameter(1, k); - } - Long result = (Long) query.uniqueResult(); - int intValue = result.intValue(); - return intValue; - } - }); - } - - public void updateBannerJumpDetail(final long id) { - recommendBannerDao.excute(new HibernateCallback() { - - public Object doInHibernate(Session session) - throws HibernateException { - Query query = session.createQuery("update RecommendBanner rb set rb.jumpDetail.id = NULL where rb.jumpDetail.id = ?"); - query.setParameter(0, id); - return query.executeUpdate(); - } - }); + recommendBannerMapper.updateByPrimaryKeySelective(banner); } } -- Gitblit v1.8.0