From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 25 二月 2025 16:41:22 +0800
Subject: [PATCH] 淘宝转链接口更新

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/config/HotSearchServiceImpl.java |  471 +++++++++++++++++-----------------------------------------
 1 files changed, 138 insertions(+), 333 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/config/HotSearchServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/config/HotSearchServiceImpl.java
index d8d777a..b6bb21d 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/config/HotSearchServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/config/HotSearchServiceImpl.java
@@ -1,333 +1,138 @@
-package com.yeshi.fanli.service.impl.config;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.annotation.Resource;
-
-import org.apache.commons.beanutils.PropertyUtils;
-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.HotSearchDao;
-import com.yeshi.fanli.entity.admin.HotSearchAdmin;
-import com.yeshi.fanli.entity.bus.search.HotSearch;
-import com.yeshi.fanli.entity.bus.su.search.SuperHotSearch;
-import com.yeshi.fanli.entity.system.System;
-import com.yeshi.fanli.service.inter.config.HotSearchService;
-import com.yeshi.fanli.service.inter.config.SuperHotSearchService;
-import com.yeshi.fanli.service.inter.config.SystemService;
-import com.yeshi.fanli.util.Constant;
-import com.yeshi.fanli.util.StringUtil;
-import com.yeshi.fanli.util.Utils;
-
-@Service
-public class HotSearchServiceImpl implements HotSearchService {
-	
-	@Resource
-	private HotSearchDao hotSearchDao;
-	
-	@Resource
-	private SystemService systemService;
-	
-	@Resource
-	private SuperHotSearchService superHotSearchService;
-	
-	@SuppressWarnings("unchecked")
-	public List<HotSearchAdmin> getHotSearchs(int index, String platform,
-			String packages, String key) {
-		final int strat = index * Constant.PAGE_SIZE;
-		platform = Utils.getMap().get(platform);
-		com.yeshi.fanli.entity.system.System system = systemService.getSystem(platform, packages);
-		List<HotSearch> hotSearchList=null;
-		List<SuperHotSearch> superHotSearchList=null;
-		Map<Long,HotSearchAdmin> hotSearchAdminMap=new HashMap<Long, HotSearchAdmin>();
-		List<HotSearchAdmin> hotSearchAdmin=new ArrayList<HotSearchAdmin>();
-		if(system == null){
-			if("".equals(key.trim())){
-				hotSearchList = (List<HotSearch>) hotSearchDao.excute(new HibernateCallback<List<HotSearch>>(){
-						public List<HotSearch> doInHibernate(Session session)
-								throws HibernateException {
-							Query query = session.createQuery(" from HotSearch hs");
-							query.setFirstResult(strat);
-							query.setMaxResults(Constant.PAGE_SIZE);
-							return query.list();
-						}
-				});
-			}else{
-				final String likekey = "%"+key+"%";
-				hotSearchList= (List<HotSearch>) hotSearchDao.excute(new HibernateCallback<List<HotSearch>>(){
-							public List<HotSearch> doInHibernate(Session session)
-									throws HibernateException {
-								Query query = session.createQuery(" from HotSearch hs where hs.name like ? ");
-								query.setFirstResult(strat);
-								query.setMaxResults(Constant.PAGE_SIZE);
-								query.setParameter(0, likekey);
-								return query.list();
-							}
-				});
-			}
-			List<Long> hsIdList = new ArrayList<Long>();
-			for (HotSearch rs : hotSearchList) {
-				hsIdList.add(rs.getId());
-			}
-			superHotSearchList = superHotSearchService.getSuperHotSearchsByHotSearchs(hsIdList);
-			Map<Long,List<System>> superMap = new HashMap<Long, List<System>>();
-			Long rsId=null;
-			List<System> systemList=null;
-			for (SuperHotSearch srs : superHotSearchList) {
-				rsId = srs.getHotSearch().getId();
-				systemList = superMap.get(rsId);
-				if(systemList==null){
-					systemList=new ArrayList<System>();
-				}
-				systemList.add(srs.getSystem());
-				superMap.put(rsId,systemList);
-			}
-			HotSearchAdmin rsa=null;
-			for (HotSearch HotSearch : hotSearchList) {
-				long id = HotSearch.getId();
-				rsa = hotSearchAdminMap.get(id);
-				if(rsa==null){
-					rsa=new HotSearchAdmin();
-				}
-				List<System> list = superMap.get(id);
-				if(list != null){
-					rsa.getSystemList().addAll(superMap.get(id));
-				}
-				rsa.setHotSearch(HotSearch);
-				hotSearchAdminMap.put(id, rsa);
-			}	
-		}else if(system != null){
-			if("".equals(key.trim())){
-				superHotSearchList = superHotSearchService.getSuperHotSearchBySystemId(system.getId(),strat, Constant.PAGE_SIZE);
-			}else{
-				String likekey = "%"+key+"%";
-				superHotSearchList = superHotSearchService.getSuperHotSearchBySystemId(system.getId(),strat, Constant.PAGE_SIZE,likekey);
-			}
-			List<Long> hsIdList =new ArrayList<Long>();
-			for (SuperHotSearch superHotSearch : superHotSearchList) {
-				HotSearch HotSearch = superHotSearch.getHotSearch();
-				hsIdList.add(HotSearch.getId());
-			}
-			superHotSearchList = superHotSearchService.getSuperHotSearchsByHotSearchs(hsIdList);
-			HotSearchAdmin rsa=null;
-			for (SuperHotSearch superHotSearch : superHotSearchList) {
-				HotSearch HotSearch = superHotSearch.getHotSearch();
-				rsa = hotSearchAdminMap.get(HotSearch.getId());
-				if(rsa==null){
-					rsa=new HotSearchAdmin(HotSearch);
-				}
-				rsa.getSystemList().add(superHotSearch.getSystem());
-				hotSearchAdminMap.put(HotSearch.getId(), rsa);
-			}
-		}
-		Map map = Utils.orderBy(hotSearchAdminMap);
-		Collection<HotSearchAdmin> values = map.values();
-		hotSearchAdmin.addAll(values);
-		return hotSearchAdmin;
-		
-	}
-
-	public HotSearch getHotSearch(long id) {
-		return hotSearchDao.find(HotSearch.class, id);
-	}
-
-	public void addHotSearch(HotSearch hotSearch) {
-		hotSearch.setCreatetime(java.lang.System.currentTimeMillis());
-		hotSearchDao.create(hotSearch);
-	}
-
-	public Integer deleteHotSearch(final long[] hsids) {
-		return (Integer) hotSearchDao.excute(new HibernateCallback() {
-
-			public Object doInHibernate(Session session)
-					throws HibernateException {
-				session.getTransaction().begin();
-				try {
-					for (long hsid : hsids) {
-						session.delete(new HotSearch(hsid));
-						Query query = session.createQuery("delete from SuperHotSearch shs where shs.hotSearch.id = ?");
-						query.setParameter(0, hsid);
-						query.executeUpdate();
-					}
-					session.flush();
-					session.getTransaction().commit();
-				} catch (Exception e) {
-					e.printStackTrace();
-					session.getTransaction().rollback();
-					return 1;
-				}
-				return null;
-			}
-		});
-		
-		
-	}
-
-	public void updateHotSearch(HotSearch hotSearch) {
-		HotSearch updateSearch = new HotSearch(hotSearch.getId());
-		updateSearch.setName(hotSearch.getName());
-		updateSearch.setOrderby(hotSearch.getOrderby());
-		hotSearchDao.update(hotSearch);
-	}
-
-	public int getCount(String platform, String packages, final String key) {
-		platform = Utils.getMap().get(platform);
-		final System system = systemService.getSystem(platform, packages);
-		return (Integer) hotSearchDao.excute(new HibernateCallback<Integer>() {
-			
-			public Integer doInHibernate(Session session)
-					throws HibernateException {
-				String k = "%"+key+"%";
-				Query query;
-				if(system==null){
-//					Query query = session.createSQLQuery("select count(a.name) from (select name from yeshi_ec_hot_search where `name` like ?) a");
-					query = session.createQuery("select count(hs.id) from HotSearch hs where hs.name like ?");
-					query.setParameter(0, k);
-				}else{
-//					Query query =session.createSQLQuery("select count(a.name) from (select hs.name from yeshi_ec_super_hot_search shs left  join yeshi_ec_hot_search hs on shs.hotSearch_id=hs.id where shs.system_id=? and hs.name like ?) a");
-					query = session.createQuery("select count(shs.id) from SuperHotSearch shs where shs.system.id=? and shs.hotSearch.name like ?");
-					query.setParameter(0, system.getId());
-					query.setParameter(1, k);
-				}
-					Long result = (Long) query.uniqueResult();
-					int intValue = result.intValue();
-					return intValue;
-			}
-		});
-	}
-
-	
-	@Override
-	@SuppressWarnings("unchecked")
-	public List<HotSearch> listQuery(int start, int count, String key, Long systemId) throws Exception {
-		
-		List<HotSearch> listObj = null;
-		if (systemId == null) {
-			
-			String hql = "from HotSearch hs where 1=1 ";
-			if (!StringUtil.isNullOrEmpty(key)) {
-				hql += " hs.name like ?";
-			}
-			final String queryHQL = hql;
-			
-			listObj = (List<HotSearch>) hotSearchDao.excute(new HibernateCallback<List<HotSearch>>() {
-				public List<HotSearch> doInHibernate(Session session) throws HibernateException {
-					Query query = session.createQuery(queryHQL);
-					query.setFirstResult(start);
-					query.setMaxResults(count);
-					if (!StringUtil.isNullOrEmpty(key)) {
-						query.setParameter(0, "%" + key + "%");
-					}
-					return query.list();
-				}
-			});
-			
-		} else {
-			List<SuperHotSearch> superHotSearchList = null;
-			if(StringUtil.isNullOrEmpty(key)){
-				superHotSearchList = superHotSearchService.getSuperHotSearchBySystemId(systemId,start, count);
-			}else{
-				String likekey = "%"+key+"%";
-				superHotSearchList = superHotSearchService.getSuperHotSearchBySystemId(systemId, start, count, likekey);
-			}
-			
-			if (superHotSearchList != null && superHotSearchList.size() > 0) {
-				listObj = new ArrayList<HotSearch>();
-				for (SuperHotSearch superHotSearch: superHotSearchList) {
-					HotSearch hotSearch = superHotSearch.getHotSearch();
-					listObj.add(hotSearch);
-				}
-			}
-		}
-
-
-		if (listObj == null || listObj.size() == 0) {
-			return null;
-		}
-		List<Long> listId = new ArrayList<>();
-		for (HotSearch hotSearch : listObj) {
-			listId.add(hotSearch.getId());
-		}
-		
-		
-		List<System> systemList = systemService.getSystems();
-		
-		List<SuperHotSearch> listSuper = superHotSearchService.listSuperHotSearch(listId);
-		
-		if (listSuper == null || listSuper.size() == 0) {
-			for (HotSearch hotSearch : listObj) {
-				hotSearch.setSystemList(systemList);
-			}
-		} else {
-			for (HotSearch hotSearch : listObj) {
-				Long id = hotSearch.getId();
-				List<System> newList = new ArrayList<System>();
-			
-				// 鏄惁鏈夊叧鑱旂郴缁熼�夐」
-				for (System dsystem : systemList) {
-					System newsystem = new System();
-
-					try {
-						PropertyUtils.copyProperties(newsystem, dsystem);
-					} catch (Exception e) {
-						e.printStackTrace();
-					}
-
-					if (listSuper != null && listSuper.size() > 0) {
-
-						Long superSystemId = newsystem.getId();
-
-						for (SuperHotSearch superHotSearch : listSuper) {
-							HotSearch search = superHotSearch.getHotSearch();
-							System system = superHotSearch.getSystem();
-
-							// 褰撳墠涓撻 銆佸綋鍓嶇郴缁�
-							if (search != null && system != null && id == search.getId() && superSystemId == system.getId()) {
-								newsystem.setCheck(1);
-								break;
-							}
-						}
-					}
-
-					if (newsystem.getCheck() != 1) {
-						newsystem.setCheck(0);
-					}
-					newList.add(newsystem);
-				}
-				hotSearch.setSystemList(newList);
-			}
-		}
-		
-		
-
-		return listObj;
-	}
-	
-	@Override
-	public int countList(String key, Long systemId) {
-		return (Integer) hotSearchDao.excute(new HibernateCallback<Integer>() {
-			
-			public Integer doInHibernate(Session session)
-					throws HibernateException {
-				Query query = null;
-				if (StringUtil.isNullOrEmpty(key)) {
-					query = session.createQuery("select count(hs.id) from HotSearch hs");
-				} else {
-					query = session.createQuery("select count(hs.id) from HotSearch hs where hs.name like ?");
-					query.setParameter(0, "%"+key+"%");
-				}
-				Long result = (Long) query.uniqueResult();
-				return result.intValue();
-			}
-		});
-	}
-
-}
+package com.yeshi.fanli.service.impl.config;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import com.yeshi.fanli.entity.SystemEnum;
+import org.apache.commons.beanutils.PropertyUtils;
+import org.springframework.cache.annotation.Cacheable;
+import org.springframework.stereotype.Service;
+
+import com.yeshi.fanli.dao.mybatis.goods.HotSearchMapper;
+import com.yeshi.fanli.entity.bus.search.HotSearch;
+import com.yeshi.fanli.entity.bus.su.search.SuperHotSearch;
+import com.yeshi.fanli.entity.system.BusinessSystem;
+import com.yeshi.fanli.service.inter.config.BusinessSystemService;
+import com.yeshi.fanli.service.inter.config.HotSearchService;
+import com.yeshi.fanli.service.inter.config.SuperHotSearchService;
+
+@Service
+public class HotSearchServiceImpl implements HotSearchService {
+	
+	@Resource
+	private HotSearchMapper hotSearchMapper;
+	
+	@Resource
+	private BusinessSystemService businessSystemService;
+	
+	@Resource
+	private SuperHotSearchService superHotSearchService;
+	
+
+	public void addHotSearch(HotSearch hotSearch) {
+		hotSearch.setCreatetime(java.lang.System.currentTimeMillis());
+		hotSearchMapper.insert(hotSearch);
+	}
+
+	public void deleteHotSearch(Long[] hsids) {
+		for (Long hsid : hsids) {
+			
+			// superHotSearchService.deleteSuper(id, systemId) 
+			
+			hotSearchMapper.deleteByPrimaryKey(hsid);
+		}
+	}
+
+	public void updateHotSearch(HotSearch hotSearch) {
+		HotSearch updateSearch = new HotSearch(hotSearch.getId());
+		updateSearch.setName(hotSearch.getName());
+		updateSearch.setOrderby(hotSearch.getOrderby());
+		updateSearch.setUseType(hotSearch.getUseType());
+		hotSearchMapper.updateByPrimaryKeySelective(updateSearch);
+	}
+
+
+	
+	@Override
+	public List<HotSearch> listQuery(int start, int count, String key, Long systemId, Integer useType, SystemEnum system) throws Exception {
+		
+		List<HotSearch> listObj = hotSearchMapper.listQuery(start, count, key, systemId, useType,system);
+
+		if (listObj == null || listObj.size() == 0) {
+			return null;
+		}
+		
+		List<Long> listId = new ArrayList<>();
+		for (HotSearch hotSearch : listObj) {
+			listId.add(hotSearch.getId());
+		}
+		
+		
+		List<BusinessSystem> systemList = businessSystemService.getBusinessSystems();
+		
+		List<SuperHotSearch> listSuper = superHotSearchService.listSuperHotSearch(listId);
+		
+		if (listSuper == null || listSuper.size() == 0) {
+			for (HotSearch hotSearch : listObj) {
+				hotSearch.setSystemList(systemList);
+			}
+		} else {
+			for (HotSearch hotSearch : listObj) {
+				Long id = hotSearch.getId();
+				List<BusinessSystem> newList = new ArrayList<BusinessSystem>();
+			
+				// 鏄惁鏈夊叧鑱旂郴缁熼�夐」
+				for (BusinessSystem dsystem : systemList) {
+					BusinessSystem newsystem = new BusinessSystem();
+
+					try {
+						PropertyUtils.copyProperties(newsystem, dsystem);
+					} catch (Exception e) {
+						e.printStackTrace();
+					}
+
+					if (listSuper != null && listSuper.size() > 0) {
+
+						Long superSystemId = newsystem.getId();
+
+						for (SuperHotSearch superHotSearch : listSuper) {
+							HotSearch search = superHotSearch.getHotSearch();
+							BusinessSystem s = superHotSearch.getSystem();
+
+							// 褰撳墠涓撻 銆佸綋鍓嶇郴缁�
+							if (search != null && system != null && id == search.getId() && superSystemId == s.getId()) {
+								newsystem.setCheck(1);
+								break;
+							}
+						}
+					}
+
+					if (newsystem.getCheck() != 1) {
+						newsystem.setCheck(0);
+					}
+					newList.add(newsystem);
+				}
+				hotSearch.setSystemList(newList);
+			}
+		}
+
+		return listObj;
+	}
+	
+	@Override
+	public int countList(String key, Long systemId, Integer useType, SystemEnum system) {
+		return hotSearchMapper.countQuery(key, systemId, useType,system);
+	}
+
+	
+	@Override
+	@Cacheable(value = "crgCache", key = "'getHotSearchCache-' + #useType+'-'+#system")
+	public List<HotSearch> getHotSearchCache(Integer useType, SystemEnum system) {
+		return hotSearchMapper.getHotSearchList(useType,system);
+	}
+
+	
+	
+}

--
Gitblit v1.8.0