From 2778cf2a16823f9b1153a0549b47f7b503176a17 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 12 九月 2020 18:04:43 +0800
Subject: [PATCH] 爱奇艺正片,搜索引擎

---
 src/main/java/com/yeshi/buwan/service/imp/SearchService.java |  971 +++++++++++++++++++++++++++++---------------------------
 1 files changed, 502 insertions(+), 469 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/service/imp/SearchService.java b/src/main/java/com/yeshi/buwan/service/imp/SearchService.java
index c146fa9..876d12e 100644
--- a/src/main/java/com/yeshi/buwan/service/imp/SearchService.java
+++ b/src/main/java/com/yeshi/buwan/service/imp/SearchService.java
@@ -2,15 +2,17 @@
 
 import java.io.Serializable;
 import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.TreeSet;
+import java.util.*;
 
 import javax.annotation.Resource;
 
+import com.yeshi.buwan.dao.video.AlbumVideoMapDao;
+import com.yeshi.buwan.domain.*;
+import com.yeshi.buwan.domain.video.AlbumVideoMap;
+import com.yeshi.buwan.service.manager.SolrAlbumDataManager;
+import com.yeshi.buwan.util.*;
+import com.yeshi.buwan.util.factory.VideoInfoFactory;
+import com.yeshi.buwan.util.video.VideoConstant;
 import org.hibernate.HibernateException;
 import org.hibernate.Session;
 import org.springframework.cache.annotation.Cacheable;
@@ -23,550 +25,581 @@
 import com.yeshi.buwan.dao.SuperHotSearchDao;
 import com.yeshi.buwan.dao.VideoBanQuanVideoDao;
 import com.yeshi.buwan.dao.VideoInfoDao;
-import com.yeshi.buwan.domain.DetailSystem;
-import com.yeshi.buwan.domain.HotSearch;
-import com.yeshi.buwan.domain.SearchHistory;
-import com.yeshi.buwan.domain.SuperHotSearch;
-import com.yeshi.buwan.domain.UserInfo;
-import com.yeshi.buwan.domain.VideoInfo;
 import com.yeshi.buwan.domain.web.DetailSystemSelect;
 import com.yeshi.buwan.domain.web.HotSearchAdmin;
-import com.yeshi.buwan.util.BaiduVideoUtil;
-import com.yeshi.buwan.util.BanQuanUtil;
-import com.yeshi.buwan.util.Constant;
-import com.yeshi.buwan.util.SolrUtil;
-import com.yeshi.buwan.util.StringUtil;
 
 @Service
 public class SearchService {
-	@Resource
-	private SearchDao searchDao;
-	@Resource
-	private ClassService classService;
-	@Resource
-	private VideoInfoDao videoInfoDao;
-	@Resource
-	private HotSearchDao hotSearchDao;
-	@Resource
-	private SuperHotSearchDao superHotSearchDao;
-	@Resource
-	private ConfigService configService;
-	@Resource
-	private VideoBanQuanVideoDao videoBanQuanVideoDao;
-	@Resource
-	private DetailSystemDao detailSystemDao;
+    @Resource
+    private SearchDao searchDao;
+    @Resource
+    private ClassService classService;
+    @Resource
+    private VideoInfoDao videoInfoDao;
+    @Resource
+    private HotSearchDao hotSearchDao;
+    @Resource
+    private SuperHotSearchDao superHotSearchDao;
+    @Resource
+    private ConfigService configService;
+    @Resource
+    private VideoBanQuanVideoDao videoBanQuanVideoDao;
+    @Resource
+    private DetailSystemDao detailSystemDao;
+    @Resource
+    private AlbumVideoMapDao albumVideoMapDao;
 
-	public VideoBanQuanVideoDao getVideoBanQuanVideoDao() {
-		return videoBanQuanVideoDao;
-	}
+    @Resource
+    private SolrAlbumDataManager solrAlbumDataManager;
 
-	public void setVideoBanQuanVideoDao(VideoBanQuanVideoDao videoBanQuanVideoDao) {
-		this.videoBanQuanVideoDao = videoBanQuanVideoDao;
-	}
+    @SuppressWarnings("rawtypes")
+    @Cacheable(value = "userCache", key = "'suggestSearch'+'-'+#key+'-'+#system")
+    public List<String> suggestSearch(String key, String system) {
+        if (StringUtil.isNullOrEmpty(key) || key.startsWith("%"))
+            return new ArrayList<String>();
 
-	public ConfigService getConfigService() {
-		return configService;
-	}
+        List<String> list;
+        Session session = null;
+        if (key != null && key.length() > 10)
+            key = key.substring(0, 10);
+        String sql = "";
+        if (system.equalsIgnoreCase("1")) {
+            sql = "select name as result from wk_video_video where name like ?";
+        }
 
-	public void setConfigService(ConfigService configService) {
-		this.configService = configService;
-	}
+        list = new ArrayList<String>();
 
-	public SuperHotSearchDao getSuperHotSearchDao() {
-		return superHotSearchDao;
-	}
+        List li = null;
+        try {
+            li = videoInfoDao.sqlList(sql,
+                    new String[]{(new StringBuilder(String.valueOf(key))).append("%").toString()});
+        } catch (Exception e) {
 
-	public void setSuperHotSearchDao(SuperHotSearchDao superHotSearchDao) {
-		this.superHotSearchDao = superHotSearchDao;
-	}
+        }
+        if (li != null) {
+            for (int i = 0; i < li.size(); i++) {
+                Object objs = (Object) li.get(i);
+                list.add(objs.toString());
+            }
 
-	public HotSearchDao getHotSearchDao() {
-		return hotSearchDao;
-	}
+        }
 
-	public void setHotSearchDao(HotSearchDao hotSearchDao) {
-		this.hotSearchDao = hotSearchDao;
-	}
+        Set<String> set = new TreeSet<String>();
+        if (list != null) {
+            String st;
+            for (Iterator<String> iterator = list.iterator(); iterator.hasNext(); set.add(st))
+                st = (String) iterator.next();
 
-	public VideoInfoDao getVideoInfoDao() {
-		return videoInfoDao;
-	}
+        }
 
-	public void setVideoInfoDao(VideoInfoDao videoInfoDao) {
-		this.videoInfoDao = videoInfoDao;
-	}
+        Iterator<String> it = set.iterator();
+        list = new ArrayList<String>();
+        while (it.hasNext()) {
+            list.add(it.next());
+            if (list.size() > 10)
+                break;
+        }
 
-	public ClassService getClassService() {
-		return classService;
-	}
+        return list;
+    }
 
-	public void setClassService(ClassService classService) {
-		this.classService = classService;
-	}
+    @SuppressWarnings("unchecked")
+    public List<Serializable> search(String ip, String uid, String key, int page, int type, int videoType,
+                                     String system) {
 
-	public SearchDao getSearchDao() {
-		return searchDao;
-	}
+        SearchHistory sh = new SearchHistory();
+        sh.setCreatetime((new StringBuilder(String.valueOf(System.currentTimeMillis()))).toString());
+        sh.setIp(ip);
+        sh.setKey(key);
+        UserInfo user = new UserInfo();
+        user.setId(uid);
+        sh.setUser(user);
+        searchDao.create(sh);
+        // 鏌ヨ鏁版嵁搴�
+        String videoTypeList[] = classService.getChildrenType(videoType);
+        String typewhere = "";
+        if (system.equalsIgnoreCase("2")) {
+            typewhere = " v.videoType.id=105 or v.videoType.id=106 or v.videoType.id=107 or v.videoType.id=108 ";
+        } else if (videoType > 0) {
+            for (int i = 0; i < videoTypeList.length; i++)
+                typewhere = (new StringBuilder(String.valueOf(typewhere))).append(" or v.videoType.id=")
+                        .append(videoTypeList[i]).toString();
 
-	public void setSearchDao(SearchDao searchDao) {
-		this.searchDao = searchDao;
-	}
+            if (typewhere.startsWith(" or"))
+                typewhere = typewhere.substring(3, typewhere.length());
+        }
 
-	@SuppressWarnings("rawtypes")
-	@Cacheable(value = "userCache", key = "'suggestSearch'+'-'+#key+'-'+#system")
-	public List<String> suggestSearch(String key, String system) {
-		if (StringUtil.isNullOrEmpty(key) || key.startsWith("%"))
-			return new ArrayList<String>();
+        String sql;
+        if (!StringUtil.isNullOrEmpty(typewhere))// 鏀逛负sql
+            sql = (new StringBuilder("from VideoInfo v where v.show='1' and (v.name like ?) and (")).append(typewhere)
+                    .append(") order by REPLACE(v.name,?,'') ,v.watchCount desc").toString();
+        else
+            sql = "from VideoInfo v where v.show='1' and (v.name like ?) order by REPLACE(v.name,?,''),v.watchCount desc";// 鏀逛负sql
+        List<Serializable> list = new ArrayList<Serializable>();
+        BaiduVideoUtil util = new BaiduVideoUtil();
+        List<VideoInfo> localList = videoInfoDao.list(sql, (page - 1) * Constant.pageCount, Constant.pageCount,
+                new String[]{(new StringBuilder("")).append(key).append("%").toString(), key});
+        if (localList != null && localList.size() > 0) {
+            for (VideoInfo info : localList) {
+                list.add(info);
+            }
+        }
 
-		List<String> list;
-		Session session = null;
-		if (key != null && key.length() > 10)
-			key = key.substring(0, 10);
-		String sql = "";
-		if (system.equalsIgnoreCase("1")) {
-			sql = "select name as result from wk_video_video where name like ?";
-		}
+        // 鏌ヨ鏁版嵁搴撶粨鏉�
 
-		list = new ArrayList<String>();
+        if (system.equalsIgnoreCase("1"))
+            if (page == 1)
+                try {
+                    List<VideoInfo> fromNet = util.searchVideo(key);
+                    if (fromNet != null && fromNet.size() > 0) {
+                        for (int i = 0; i < fromNet.size(); i++)
+                            if (videoType == 0)
+                                list.add((VideoInfo) fromNet.get(i));
+                            else if (((VideoInfo) fromNet.get(i)).getVideoType().getId() == (long) videoType)
+                                list.add((VideoInfo) fromNet.get(i));
 
-		List li = null;
-		try {
-			li = videoInfoDao.sqlList(sql,
-					new String[] { (new StringBuilder(String.valueOf(key))).append("%").toString() });
-		} catch (Exception e) {
+                    }
+                } catch (UnsupportedEncodingException e) {
+                    e.printStackTrace();
+                }
 
-		}
-		if (li != null) {
-			for (int i = 0; i < li.size(); i++) {
-				Object objs = (Object) li.get(i);
-				list.add(objs.toString());
-			}
+        final List<Serializable> newList = list;
+        list = (List<Serializable>) searchDao.excute(new HibernateCallback<List<Serializable>>() {
+            public List<Serializable> doInHibernate(Session session) throws HibernateException {
+                return BanQuanUtil.filterShowVideo(newList, session);
+            }
+        });
+        return list;
+    }
 
-		}
+    @Cacheable(value = "userCache", key = "'search'+'-'+#detailSystem+'-'+#key+'-'+#page+'-'+#contentType+'-'+#system+'-'+#cacheMD5")
+    public List<VideoInfo> search(String detailSystem, String ip, String uid, String key, int page, int contentType,
+                                  String system, List<Long> resourceList, String cacheMD5) {
+        String resourceWhere = "";
+        for (Long re : resourceList) {
+            resourceWhere += " rv.resourceid=" + re + " or";
+        }
 
-		Set<String> set = new TreeSet<String>();
-		if (list != null) {
-			String st;
-			for (Iterator<String> iterator = list.iterator(); iterator.hasNext(); set.add(st))
-				st = (String) iterator.next();
+        if (resourceWhere.endsWith("or"))
+            resourceWhere = resourceWhere.substring(0, resourceWhere.length() - 2);
 
-		}
+        SearchHistory sh = new SearchHistory();
+        sh.setCreatetime((new StringBuilder(String.valueOf(System.currentTimeMillis()))).toString());
+        sh.setIp(ip);
+        if (!StringUtil.isNullOrEmpty(key) && key.length() > 30)
+            key = key.substring(0, 30);
+        sh.setKey(key);
+        UserInfo user = new UserInfo();
+        user.setId(uid);
+        sh.setUser(user);
 
-		Iterator<String> it = set.iterator();
-		list = new ArrayList<String>();
-		while (it.hasNext()) {
-			list.add(it.next());
-			if (list.size() > 10)
-				break;
-		}
+        searchDao.create(sh);
+        // 鏌ヨ鏁版嵁搴�
 
-		return list;
-	}
+        List<VideoInfo> list = new ArrayList<VideoInfo>();
+        List<VideoInfo> localList = null;
+        try {
+            long startt = System.currentTimeMillis();
+            localList = null;
+            if (contentType == 0)
+                localList = SolrUtil.search(key, page);
+            else if (contentType == 1)
+                localList = SolrUtil.searchZhengPian(key, page);
+            else
+                localList = SolrUtil.searchZhuanJi(key, page);
+            System.out.println("鎼滅储鑰楁椂:" + (System.currentTimeMillis() - startt));
 
-	@SuppressWarnings("unchecked")
-	public List<Serializable> search(String ip, String uid, String key, int page, int type, int videoType,
-			String system) {
+            String sql = "";
+            startt = System.currentTimeMillis();
+            for (int i = 0; i < localList.size(); i++) {
+                sql += " select count(*) from wk_resource_video rv left join wk_video_video v on rv.videoid=v.id where v.id is not null and v.show=1 and rv.videoid="
+                        + localList.get(i).getId() + " and (" + resourceWhere + ") union all";
+            }
 
-		SearchHistory sh = new SearchHistory();
-		sh.setCreatetime((new StringBuilder(String.valueOf(System.currentTimeMillis()))).toString());
-		sh.setIp(ip);
-		sh.setKey(key);
-		UserInfo user = new UserInfo();
-		user.setId(uid);
-		sh.setUser(user);
-		searchDao.create(sh);
-		// 鏌ヨ鏁版嵁搴�
-		String videoTypeList[] = classService.getChildrenType(videoType);
-		String typewhere = "";
-		if (system.equalsIgnoreCase("2")) {
-			typewhere = " v.videoType.id=105 or v.videoType.id=106 or v.videoType.id=107 or v.videoType.id=108 ";
-		} else if (videoType > 0) {
-			for (int i = 0; i < videoTypeList.length; i++)
-				typewhere = (new StringBuilder(String.valueOf(typewhere))).append(" or v.videoType.id=")
-						.append(videoTypeList[i]).toString();
+            if (sql.endsWith("union all"))
+                sql = sql.substring(0, sql.length() - 9);
 
-			if (typewhere.startsWith(" or"))
-				typewhere = typewhere.substring(3, typewhere.length());
-		}
+            List rlist = videoInfoDao.sqlList(sql);
+            List<Integer> pList = new ArrayList<Integer>();
+            for (int i = 0; i < localList.size(); i++) {
+                if (Integer.parseInt(rlist.get(i) + "") < 1) {
+                    pList.add(i);
+                    // localList.remove(i);
+                    // i--;
+                }
+            }
 
-		String sql;
-		if (!StringUtil.isNullOrEmpty(typewhere))// 鏀逛负sql
-			sql = (new StringBuilder("from VideoInfo v where v.show='1' and (v.name like ?) and (")).append(typewhere)
-					.append(") order by REPLACE(v.name,?,'') ,v.watchCount desc").toString();
-		else
-			sql = "from VideoInfo v where v.show='1' and (v.name like ?) order by REPLACE(v.name,?,''),v.watchCount desc";// 鏀逛负sql
-		List<Serializable> list = new ArrayList<Serializable>();
-		BaiduVideoUtil util = new BaiduVideoUtil();
-		List<VideoInfo> localList = videoInfoDao.list(sql, (page - 1) * Constant.pageCount, Constant.pageCount,
-				new String[] { (new StringBuilder("")).append(key).append("%").toString(), key });
-		if (localList != null && localList.size() > 0) {
-			for (VideoInfo info : localList) {
-				list.add(info);
-			}
-		}
+            Collections.sort(pList);
+            for (int i = pList.size() - 1; i >= 0; i--) {
+                localList.remove((int) pList.get(i));
+            }
 
-		// 鏌ヨ鏁版嵁搴撶粨鏉�
+            System.out.println("鎺掗櫎鑰楁椂:" + (System.currentTimeMillis() - startt));
 
-		if (system.equalsIgnoreCase("1"))
-			if (page == 1)
-				try {
-					List<VideoInfo> fromNet = util.searchVideo(key);
-					if (fromNet != null && fromNet.size() > 0) {
-						for (int i = 0; i < fromNet.size(); i++)
-							if (videoType == 0)
-								list.add((VideoInfo) fromNet.get(i));
-							else if (((VideoInfo) fromNet.get(i)).getVideoType().getId() == (long) videoType)
-								list.add((VideoInfo) fromNet.get(i));
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+        }
+        if (localList != null && localList.size() > 0) {
+            for (VideoInfo info : localList) {
+                list.add(info);
+            }
+        }
+        return list;
+    }
 
-					}
-				} catch (UnsupportedEncodingException e) {
-					e.printStackTrace();
-				}
 
-		final List<Serializable> newList = list;
-		list = (List<Serializable>) searchDao.excute(new HibernateCallback<List<Serializable>>() {
-			public List<Serializable> doInHibernate(Session session) throws HibernateException {
-				return BanQuanUtil.filterShowVideo(newList, session);
-			}
-		});
-		return list;
-	}
+    @Cacheable(value = "userCache", key = "'searchNew'+'-'+#detailSystem+'-'+#key+'-'+#page+'-'+#videoType+'-'+#system+'-'+#cacheMD5")
+    public List<VideoInfo> searchNew(String detailSystem, String ip, String uid, String key, int page, int videoType,
+                                     String system, List<Long> resourceList, String cacheMD5) {
+        String resourceWhere = "";
+        for (Long re : resourceList) {
+            resourceWhere += " rv.resourceid=" + re + " or";
+        }
 
-	@Cacheable(value = "userCache", key = "'search'+'-'+#detailSystem+'-'+#key+'-'+#page+'-'+#contentType+'-'+#system+'-'+#cacheMD5")
-	public List<VideoInfo> search(String detailSystem, String ip, String uid, String key, int page, int contentType,
-			String system, List<Long> resourceList, String cacheMD5) {
-		String resourceWhere = "";
-		for (Long re : resourceList) {
-			resourceWhere += " rv.resourceid=" + re + " or";
-		}
+        if (resourceWhere.endsWith("or"))
+            resourceWhere = resourceWhere.substring(0, resourceWhere.length() - 2);
 
-		if (resourceWhere.endsWith("or"))
-			resourceWhere = resourceWhere.substring(0, resourceWhere.length() - 2);
+        SearchHistory sh = new SearchHistory();
+        sh.setCreatetime((new StringBuilder(String.valueOf(System.currentTimeMillis()))).toString());
+        sh.setIp(ip);
+        if (!StringUtil.isNullOrEmpty(key) && key.length() > 30)
+            key = key.substring(0, 30);
+        sh.setKey(key);
+        UserInfo user = new UserInfo();
+        user.setId(uid);
+        sh.setUser(user);
 
-		SearchHistory sh = new SearchHistory();
-		sh.setCreatetime((new StringBuilder(String.valueOf(System.currentTimeMillis()))).toString());
-		sh.setIp(ip);
-		if (!StringUtil.isNullOrEmpty(key) && key.length() > 30)
-			key = key.substring(0, 30);
-		sh.setKey(key);
-		UserInfo user = new UserInfo();
-		user.setId(uid);
-		sh.setUser(user);
+        searchDao.create(sh);
+        // 鏌ヨ鏁版嵁搴�
 
-		searchDao.create(sh);
-		// 鏌ヨ鏁版嵁搴�
+        List<VideoInfo> list = new ArrayList<VideoInfo>();
+        List<VideoInfo> localList = null;
+        try {
+            long startt = System.currentTimeMillis();
+            localList = null;
 
-		List<VideoInfo> list = new ArrayList<VideoInfo>();
-		List<VideoInfo> localList = null;
-		try {
-			// localList = session0
-			// .createQuery(sql)
-			// .setParameter(
-			// 0,
-			// (new StringBuilder("")).append(key).append("%")
-			// .toString()).setParameter(1, key)
-			// .setFirstResult((page - 1) * Constant.pageCount)
-			// .setMaxResults(Constant.pageCount).list();
-			long startt = System.currentTimeMillis();
-			localList = null;
+            localList = new ArrayList<>();
+            //鍏堟悳绱笓杈�
+            List<SolrVideo> solrVideoList = solrAlbumDataManager.findByKey(key, 1, videoType == 0 ? null : videoType, page);
+            Set<String> solrAlbumVids = new HashSet<>();
+            for (SolrVideo sv : solrVideoList) {
+                VideoInfo video = VideoInfoFactory.create(sv);
+                video.setShowType(1);
+                if (!StringUtil.isNullOrEmpty(video.getMainActor())) {
+                    video.setMainActor("涓绘紨锛�" + video.getMainActor());
+                }
 
-			if (contentType == 0)
-				localList = SolrUtil.search(key, page);
-			else if (contentType == 1)
-				localList = SolrUtil.searchZhengPian(key, page);
-			else
-				localList = SolrUtil.searchZhuanJi(key, page);
-			System.out.println("鎼滅储鑰楁椂:" + (System.currentTimeMillis() - startt));
+                //璁剧疆tag
+                String tag = "";
+                if (!StringUtil.isNullOrEmpty(sv.getYear())) {
+                    tag += sv.getYear() + "/";
+                }
 
-			String sql = "";
-			startt = System.currentTimeMillis();
-			for (int i = 0; i < localList.size(); i++) {
-				sql += " select count(*) from wk_resource_video rv left join wk_video_video v on rv.videoid=v.id where v.id is not null and v.show=1 and rv.videoid="
-						+ localList.get(i).getId() + " and (" + resourceWhere + ") union all";
-			}
+                if (video.getVideoType() != null) {
+                    String vt = VideoConstant.getMainCategoryName(sv.getRootVideoType());
+                    if (!StringUtil.isNullOrEmpty(vt)) {
+                        tag += vt + "/";
+                    }
+                }
 
-			if (sql.endsWith("union all"))
-				sql = sql.substring(0, sql.length() - 9);
+                if (!StringUtil.isNullOrEmpty(video.getArea())) {
+                    tag += video.getArea() + "/";
+                }
 
-			List rlist = videoInfoDao.sqlList(sql);
-			List<Integer> pList = new ArrayList<Integer>();
-			for (int i = 0; i < localList.size(); i++) {
-				if (Integer.parseInt(rlist.get(i) + "") < 1) {
-					pList.add(i);
-					// localList.remove(i);
-					// i--;
-				}
-			}
+                if (tag.endsWith("/"))
+                    tag = tag.substring(0, tag.length() - 1);
+                video.setTag(tag);
+
+                localList.add(video);
+                solrAlbumVids.add(video.getId());
+            }
+
+            if (videoType == 0) {
+                //鎼滅储鍘熷鐨�
+                List<VideoInfo> solrList = SolrUtil.search(key, page);
+                for (VideoInfo vi : solrList) {
+                    if (!solrAlbumVids.contains(vi.getId())) {
+                        localList.add(vi);
+                    }
+                }
+            }
+            System.out.println("鎼滅储鑰楁椂:" + (System.currentTimeMillis() - startt));
+
+            String sql = "";
+            startt = System.currentTimeMillis();
+            for (int i = 0; i < localList.size(); i++) {
+                sql += " select count(*) from wk_resource_video rv left join wk_video_video v on rv.videoid=v.id where v.id is not null and v.show=1 and rv.videoid="
+                        + localList.get(i).getId() + " and (" + resourceWhere + ") union all";
+            }
+
+            if (sql.endsWith("union all"))
+                sql = sql.substring(0, sql.length() - 9);
+
+            List rlist = videoInfoDao.sqlList(sql);
+            List<Integer> pList = new ArrayList<Integer>();
+            for (int i = 0; i < localList.size(); i++) {
+                if (Integer.parseInt(rlist.get(i) + "") < 1) {
+                    pList.add(i);
+                    // localList.remove(i);
+                    // i--;
+                }
+            }
 
-			Collections.sort(pList);
-			for (int i = pList.size() - 1; i >= 0; i--) {
-				localList.remove((int) pList.get(i));
-			}
+            Collections.sort(pList);
+            for (int i = pList.size() - 1; i >= 0; i--) {
+                localList.remove((int) pList.get(i));
+            }
 
-			System.out.println("鎺掗櫎鑰楁椂:" + (System.currentTimeMillis() - startt));
+            System.out.println("鎺掗櫎鑰楁椂:" + (System.currentTimeMillis() - startt));
 
-		} catch (Exception e) {
-			e.printStackTrace();
-		} finally {
-		}
-		if (localList != null && localList.size() > 0) {
-			for (VideoInfo info : localList) {
-				list.add(info);
-			}
-		}
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+        }
+        if (localList != null && localList.size() > 0) {
+            for (VideoInfo info : localList) {
+                list.add(info);
+            }
+        }
 
-		// 鏌ヨ鏁版嵁搴撶粨鏉�
-		// //Session session = HibernateSessionFactory.getSession();
-		// try {
-		//
-		// // 鏆傛椂涓嶇敤鐗堟潈鏁版嵁搴�
-		// // list = BanQuanUtil.filterShowVideo(detailSystem, list, session);
-		//
-		//
-		//
-		//
-		// } catch (Exception e) {
-		// e.printStackTrace();
-		// } finally {
-		// // session.close();
-		// }
-		return list;
-	}
+        return list;
+    }
 
-	public long searchCount(String key, String system) {
-		String sql = "";
-		if (system.equalsIgnoreCase("2")) {
-			sql = "select count(*)  from VideoInfo v where v.show='1' and (v.name like ?) and (v.videoType.id=105 or v.videoType.id=106 or v.videoType.id=107 or v.videoType.id=108))";
-		} else {
-			sql = "select count(*)  from VideoInfo v where v.show='1' and (v.name like ?)";
-		}
+    public long searchCount(String key, String system) {
+        String sql = "";
+        if (system.equalsIgnoreCase("2")) {
+            sql = "select count(*)  from VideoInfo v where v.show='1' and (v.name like ?) and (v.videoType.id=105 or v.videoType.id=106 or v.videoType.id=107 or v.videoType.id=108))";
+        } else {
+            sql = "select count(*)  from VideoInfo v where v.show='1' and (v.name like ?)";
+        }
 
-		long count = videoInfoDao.getCount(sql,
-				new String[] { (new StringBuilder("")).append(key).append("%").toString() });
-		return count;
-	}
+        long count = videoInfoDao.getCount(sql,
+                new String[]{(new StringBuilder("")).append(key).append("%").toString()});
+        return count;
+    }
 
-	@SuppressWarnings({ "rawtypes" })
-	@Cacheable(value = "userCache", key = "'getHotSearchList'+'-'+#system")
-	public List<String> getHotSearchList(String system) {
-		List<String> list = new ArrayList<String>();
-		try {
-			List li = searchDao.sqlList(
-					"SELECT h.`name` FROM wk_video_super_hotsearch sh LEFT JOIN wk_video_hotsearch h ON sh.`hotsearchid`=h.`id`  WHERE sh.`detailsystem`=? ORDER BY h.`orderby` DESC",
-					0, Constant.HOT_SEARCH_COUNT, new Serializable[] { system });
-			for (int i = 0; i < li.size(); i++) {
-				list.add(li.get(i) + "");
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		} finally {
+    @SuppressWarnings({"rawtypes"})
+    @Cacheable(value = "userCache", key = "'getHotSearchList'+'-'+#system")
+    public List<String> getHotSearchList(String system) {
+        List<String> list = new ArrayList<String>();
+        try {
+            List li = searchDao.sqlList(
+                    "SELECT h.`name` FROM wk_video_super_hotsearch sh LEFT JOIN wk_video_hotsearch h ON sh.`hotsearchid`=h.`id`  WHERE sh.`detailsystem`=? ORDER BY h.`orderby` DESC",
+                    0, Constant.HOT_SEARCH_COUNT, new Serializable[]{system});
+            for (int i = 0; i < li.size(); i++) {
+                list.add(li.get(i) + "");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
 
-		}
-		return list;
-	}
+        }
+        return list;
+    }
 
-	public List<HotSearch> getHotSearchListByDS(String dsid) {
-		return hotSearchDao.list("from HotSearch hs where hs.system.id=" + dsid + " order by hs.orderby desc");
-	}
+    public List<HotSearch> getHotSearchListByDS(String dsid) {
+        return hotSearchDao.list("from HotSearch hs where hs.system.id=" + dsid + " order by hs.orderby desc");
+    }
 
-	public List<HotSearch> getHotSearchList() {
-		return hotSearchDao.list("from HotSearch");
-	}
+    public List<HotSearch> getHotSearchList() {
+        return hotSearchDao.list("from HotSearch");
+    }
 
-	/**
-	 * 鐑棬鎼滅储
-	 */
+    /**
+     * 鐑棬鎼滅储
+     */
 
-	public void addSuperHotSearch(SuperHotSearch sv) {
-		List<SuperHotSearch> list = superHotSearchDao.list("from SuperHotSearch sv where sv.hotSearch.id="
-				+ sv.getHotSearch().getId() + " and sv.detailSystem.id=" + sv.getDetailSystem().getId());
-		if (list != null && list.size() > 0)
-			return;
-		superHotSearchDao.create(sv);
-	}
+    public void addSuperHotSearch(SuperHotSearch sv) {
+        List<SuperHotSearch> list = superHotSearchDao.list("from SuperHotSearch sv where sv.hotSearch.id="
+                + sv.getHotSearch().getId() + " and sv.detailSystem.id=" + sv.getDetailSystem().getId());
+        if (list != null && list.size() > 0)
+            return;
+        superHotSearchDao.create(sv);
+    }
 
-	public void updateSuperHotSearch(SuperHotSearch hotSearch) {
-		superHotSearchDao.update(hotSearch);
-	}
+    public void updateSuperHotSearch(SuperHotSearch hotSearch) {
+        superHotSearchDao.update(hotSearch);
+    }
 
-	public void deleteSuperHotSearch(SuperHotSearch hotSearch) {
-		superHotSearchDao.delete(hotSearch);
-	}
+    public void deleteSuperHotSearch(SuperHotSearch hotSearch) {
+        superHotSearchDao.delete(hotSearch);
+    }
 
-	@SuppressWarnings("unchecked")
-	public void updateSuperHotSearchList(final String detailSystemId, final List<SuperHotSearch> typeList) {
-		searchDao.excute(new HibernateCallback() {
-			public Object doInHibernate(Session session) throws HibernateException {
-				try {
-					List<SuperHotSearch> list = session
-							.createQuery("from SuperHotSearch sh where sh.detailSystem.id=" + detailSystemId).list();
-					session.getTransaction().begin();
-					for (SuperHotSearch ad : list) {
-						session.delete(ad);
-					}
+    @SuppressWarnings("unchecked")
+    public void updateSuperHotSearchList(final String detailSystemId, final List<SuperHotSearch> typeList) {
+        searchDao.excute(new HibernateCallback() {
+            public Object doInHibernate(Session session) throws HibernateException {
+                try {
+                    List<SuperHotSearch> list = session
+                            .createQuery("from SuperHotSearch sh where sh.detailSystem.id=" + detailSystemId).list();
+                    session.getTransaction().begin();
+                    for (SuperHotSearch ad : list) {
+                        session.delete(ad);
+                    }
 
-					for (SuperHotSearch videoType : typeList) {
-						session.persist(videoType);
-					}
-					session.flush();
-					session.getTransaction().commit();
-				} catch (Exception e) {
-					e.printStackTrace();
-					session.getTransaction().rollback();
-				}
+                    for (SuperHotSearch videoType : typeList) {
+                        session.persist(videoType);
+                    }
+                    session.flush();
+                    session.getTransaction().commit();
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    session.getTransaction().rollback();
+                }
 
-				return null;
-			}
-		});
+                return null;
+            }
+        });
 
-	}
+    }
 
-	@SuppressWarnings("unchecked")
-	public List<HotSearchAdmin> getHotSearchAdmin(String key, int detailSystem, int page) {
-		List<HotSearchAdmin> zhiBoClassList = new ArrayList<HotSearchAdmin>();
-		try {
-			List<DetailSystem> detailSystemList = detailSystemDao.list("from DetailSystem");
-			String sql = "";
-			if (detailSystem > 0)
-				sql = "select sh.hotSearch from SuperHotSearch sh where sh.hotSearch.name like ? and sh.detailSystem.id="
-						+ detailSystem + " order by  sh.createtime desc";
-			else
-				sql = "from HotSearch zb where zb.name like ? order by zb.createtime desc";
+    @SuppressWarnings("unchecked")
+    public List<HotSearchAdmin> getHotSearchAdmin(String key, int detailSystem, int page) {
+        List<HotSearchAdmin> zhiBoClassList = new ArrayList<HotSearchAdmin>();
+        try {
+            List<DetailSystem> detailSystemList = detailSystemDao.list("from DetailSystem");
+            String sql = "";
+            if (detailSystem > 0)
+                sql = "select sh.hotSearch from SuperHotSearch sh where sh.hotSearch.name like ? and sh.detailSystem.id="
+                        + detailSystem + " order by  sh.createtime desc";
+            else
+                sql = "from HotSearch zb where zb.name like ? order by zb.createtime desc";
 
-			List<HotSearch> list = hotSearchDao.list(sql, (page - 1) * Constant.pageCount, Constant.pageCount,
-					new Serializable[] { "%" + key + "%" });
-			for (HotSearch vb : list) {
-				List<DetailSystem> detailSystemS = detailSystemDao
-						.list("select vb.detailSystem from SuperHotSearch vb where vb.hotSearch.id=" + vb.getId());
+            List<HotSearch> list = hotSearchDao.list(sql, (page - 1) * Constant.pageCount, Constant.pageCount,
+                    new Serializable[]{"%" + key + "%"});
+            for (HotSearch vb : list) {
+                List<DetailSystem> detailSystemS = detailSystemDao
+                        .list("select vb.detailSystem from SuperHotSearch vb where vb.hotSearch.id=" + vb.getId());
 
-				List<DetailSystemSelect> dssList = new ArrayList<DetailSystemSelect>();
+                List<DetailSystemSelect> dssList = new ArrayList<DetailSystemSelect>();
 
-				for (DetailSystem ds : detailSystemList) {
-					DetailSystemSelect dss = new DetailSystemSelect();
-					dss.setDetailSystem(ds);
-					dss.setSelected(false);
-					dssList.add(dss);
-				}
+                for (DetailSystem ds : detailSystemList) {
+                    DetailSystemSelect dss = new DetailSystemSelect();
+                    dss.setDetailSystem(ds);
+                    dss.setSelected(false);
+                    dssList.add(dss);
+                }
 
-				// 璁剧疆宸茬粡瀛樺湪鐨�
-				for (DetailSystem ds : detailSystemS) {
-					for (DetailSystemSelect dss : dssList) {
-						if (dss.getDetailSystem().getId().equalsIgnoreCase(ds.getId())) {
-							dss.setSelected(true);
-							break;
-						}
-					}
-				}
-				SuperHotSearch sz = new SuperHotSearch();
-				sz.setDetailSystem(null);
-				sz.setHotSearch(vb);
-				zhiBoClassList.add(new HotSearchAdmin(sz, dssList));
-			}
+                // 璁剧疆宸茬粡瀛樺湪鐨�
+                for (DetailSystem ds : detailSystemS) {
+                    for (DetailSystemSelect dss : dssList) {
+                        if (dss.getDetailSystem().getId().equalsIgnoreCase(ds.getId())) {
+                            dss.setSelected(true);
+                            break;
+                        }
+                    }
+                }
+                SuperHotSearch sz = new SuperHotSearch();
+                sz.setDetailSystem(null);
+                sz.setHotSearch(vb);
+                zhiBoClassList.add(new HotSearchAdmin(sz, dssList));
+            }
 
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return zhiBoClassList;
-	}
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return zhiBoClassList;
+    }
 
-	public long getHotSearchAdminCount(String key, int detailSystem) {
-		String sql = "";
-		if (detailSystem > 0)
-			sql = "select count(*) from  (select count(*) from wk_video_super_hotsearch zb left join wk_video_hotsearch c on c.id=zb.hotsearchid where zb.detailsystem="
-					+ detailSystem + " and c.name like '%" + key + "%' group by zb.hotsearchid) s";
-		else
-			sql = "select count(*) from wk_video_hotsearch h where h.name like '%"+key+"%'";
+    public long getHotSearchAdminCount(String key, int detailSystem) {
+        String sql = "";
+        if (detailSystem > 0)
+            sql = "select count(*) from  (select count(*) from wk_video_super_hotsearch zb left join wk_video_hotsearch c on c.id=zb.hotsearchid where zb.detailsystem="
+                    + detailSystem + " and c.name like '%" + key + "%' group by zb.hotsearchid) s";
+        else
+            sql = "select count(*) from wk_video_hotsearch h where h.name like '%" + key + "%'";
 
-		return videoBanQuanVideoDao.getCountSQL(sql);
-	}
+        return videoBanQuanVideoDao.getCountSQL(sql);
+    }
 
-	/**
-	 * 娣诲姞鐑棬鎼滅储
-	 * 
-	 * @param search
-	 */
-	public void addHotSearch(HotSearch search) {
-		hotSearchDao.create(search);
-	}
+    /**
+     * 娣诲姞鐑棬鎼滅储
+     *
+     * @param search
+     */
+    public void addHotSearch(HotSearch search) {
+        hotSearchDao.create(search);
+    }
 
-	/**
-	 * 淇敼鐑棬鎼滅储
-	 * 
-	 * @param search
-	 */
-	public void updateHotSearch(HotSearch search) {
+    /**
+     * 淇敼鐑棬鎼滅储
+     *
+     * @param search
+     */
+    public void updateHotSearch(HotSearch search) {
 
-		hotSearchDao.update(search);
-	}
+        hotSearchDao.update(search);
+    }
 
-	/**
-	 * 鍒犻櫎鐑棬鎼滅储
-	 * 
-	 * @param search
-	 */
-	@SuppressWarnings({ "unchecked", "rawtypes" })
-	public void deleteHotSearch(final HotSearch search) {
-		searchDao.excute(new HibernateCallback() {
-			public Object doInHibernate(Session session) throws HibernateException {
-				try {
-					session.getTransaction().begin();
-					List<SuperHotSearch> list = session.createQuery("from SuperHotSearch sv where sv.hotSearch.id=?")
-							.setParameter(0, search.getId()).list();
-					for (SuperHotSearch sv : list)
-						session.delete(sv);
-					session.createSQLQuery("delete from wk_video_hotsearch  where id=" + search.getId())
-							.executeUpdate();
-					session.flush();
-					session.getTransaction().commit();
-				} catch (Exception e) {
-					e.printStackTrace();
-					session.getTransaction().rollback();
-				}
-				return null;
-			}
-		});
+    /**
+     * 鍒犻櫎鐑棬鎼滅储
+     *
+     * @param search
+     */
+    @SuppressWarnings({"unchecked", "rawtypes"})
+    public void deleteHotSearch(final HotSearch search) {
+        searchDao.excute(new HibernateCallback() {
+            public Object doInHibernate(Session session) throws HibernateException {
+                try {
+                    session.getTransaction().begin();
+                    List<SuperHotSearch> list = session.createQuery("from SuperHotSearch sv where sv.hotSearch.id=?")
+                            .setParameter(0, search.getId()).list();
+                    for (SuperHotSearch sv : list)
+                        session.delete(sv);
+                    session.createSQLQuery("delete from wk_video_hotsearch  where id=" + search.getId())
+                            .executeUpdate();
+                    session.flush();
+                    session.getTransaction().commit();
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    session.getTransaction().rollback();
+                }
+                return null;
+            }
+        });
 
-	}
+    }
 
-	/**
-	 * 鑾峰彇鐑棬鎼滅储
-	 * 
-	 * @param id
-	 * @return
-	 */
-	public HotSearch getHotSearch(String id) {
-		List<HotSearch> list = hotSearchDao.getSession().createQuery("from HotSearch where id=?").setParameter(0, id)
-				.list();
-		if (list != null && list.size() > 0) {
-			return list.get(0);
-		}
-		return null;
-	}
+    /**
+     * 鑾峰彇鐑棬鎼滅储
+     *
+     * @param id
+     * @return
+     */
+    public HotSearch getHotSearch(String id) {
+        List<HotSearch> list = hotSearchDao.getSession().createQuery("from HotSearch where id=?").setParameter(0, id)
+                .list();
+        if (list != null && list.size() > 0) {
+            return list.get(0);
+        }
+        return null;
+    }
 
-	@SuppressWarnings("unchecked")
-	public void deleteHotSearchAdmin(final String classId, final String detailSystemId) {
-		searchDao.excute(new HibernateCallback() {
-			public Object doInHibernate(Session session) throws HibernateException {
-				try {
+    @SuppressWarnings("unchecked")
+    public void deleteHotSearchAdmin(final String classId, final String detailSystemId) {
+        searchDao.excute(new HibernateCallback() {
+            public Object doInHibernate(Session session) throws HibernateException {
+                try {
 
-					List<SuperHotSearch> list = session
-							.createQuery("from SuperHotSearch vb where vb.hotSearch.id=? and vb.detailSystem.id=?")
-							.setParameter(0, classId).setParameter(1, detailSystemId).list();
-					if (list != null && list.size() > 0) {
-						session.getTransaction().begin();
-						for (SuperHotSearch vb : list)
-							session.delete(vb);
-						session.flush();
-						session.getTransaction().commit();
-					}
+                    List<SuperHotSearch> list = session
+                            .createQuery("from SuperHotSearch vb where vb.hotSearch.id=? and vb.detailSystem.id=?")
+                            .setParameter(0, classId).setParameter(1, detailSystemId).list();
+                    if (list != null && list.size() > 0) {
+                        session.getTransaction().begin();
+                        for (SuperHotSearch vb : list)
+                            session.delete(vb);
+                        session.flush();
+                        session.getTransaction().commit();
+                    }
 
-				} catch (Exception e) {
-					e.printStackTrace();
-				}
-				return null;
-			}
-		});
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return null;
+            }
+        });
 
-	}
+    }
 
 }

--
Gitblit v1.8.0