From 0a18a8cb0a7a57bf1f82df425251334c57f8c39a Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 23 一月 2021 15:40:37 +0800
Subject: [PATCH] 新增手机号/qq/微信绑定

---
 src/main/java/com/yeshi/buwan/service/imp/StatisticsService.java | 1134 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 569 insertions(+), 565 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/service/imp/StatisticsService.java b/src/main/java/com/yeshi/buwan/service/imp/StatisticsService.java
index 7492739..9078cbf 100644
--- a/src/main/java/com/yeshi/buwan/service/imp/StatisticsService.java
+++ b/src/main/java/com/yeshi/buwan/service/imp/StatisticsService.java
@@ -10,7 +10,6 @@
 
 import javax.annotation.Resource;
 
-import org.apache.log4j.pattern.LogEvent;
 import org.hibernate.HibernateException;
 import org.hibernate.Session;
 import org.springframework.cache.annotation.CacheEvict;
@@ -18,7 +17,7 @@
 import org.springframework.orm.hibernate4.HibernateCallback;
 import org.springframework.stereotype.Service;
 
-import com.yeshi.buwan.dao.LoginUserDao;
+import com.yeshi.buwan.dao.user.LoginUserDao;
 import com.yeshi.buwan.dao.VideoPlayStatisticsDao;
 import com.yeshi.buwan.dao.VideoTypeDao;
 import com.yeshi.buwan.domain.CategoryContry;
@@ -41,617 +40,622 @@
 
 /**
  * 缁熻
- * 
+ *
  * @author Administrator
- * 
  */
 @Service
 public class StatisticsService {
-	@Resource
-	private VideoPlayStatisticsDao videoPlayStatisticsDao;
-	@Resource
-	private VideoDetailUtil videoDetailUtil;
-	@Resource
-	private VideoResourceService videoResourceService;
-	@Resource
-	private LoginUserDao loginUserDao;
-	@Resource
-	private VideoTypeDao videoTypeDao;
-	@Resource
-	private CategoryRecommendCacheVideoService categoryRecommendCacheVideoService;
+    @Resource
+    private VideoPlayStatisticsDao videoPlayStatisticsDao;
+    @Resource
+    private VideoDetailUtil videoDetailUtil;
+    @Resource
+    private VideoResourceService videoResourceService;
+    @Resource
+    private LoginUserDao loginUserDao;
+    @Resource
+    private VideoTypeDao videoTypeDao;
+    @Resource
+    private CategoryRecommendCacheVideoService categoryRecommendCacheVideoService;
 
-	@SuppressWarnings("unchecked")
-	public void addStatistics(final String detailSystemId, final String videoid) {
-		videoPlayStatisticsDao.excute(new HibernateCallback() {
-			public Object doInHibernate(Session session) throws HibernateException {
-				try {
-					List list = session
-							.createSQLQuery(
-									"select id from wk_video_play_statistics s  where s.detailsystemid=? and s.videoid=? and s.day=?")
-							.setParameter(0, detailSystemId).setParameter(1, videoid)
-							.setParameter(2, TimeUtil.getyyyyMMddHHTime(System.currentTimeMillis())).list();
-					session.getTransaction().begin();
-					if (list != null && list.size() > 0) {
-						String id = list.get(0) + "";
-						session.createSQLQuery(
-								"update wk_video_play_statistics s set s.playcount=s.playcount+1 where s.id=" + id)
-								.executeUpdate();
-					} else {
-						VideoPlayStatistics vp = new VideoPlayStatistics();
-						vp.setDay(TimeUtil.getyyyyMMddHHTime(System.currentTimeMillis()));
-						vp.setDetailSystem(new DetailSystem(detailSystemId));
-						vp.setPlayCount(1);
-						vp.setVideoInfo(new VideoInfo(videoid));
-						session.save(vp);
-					}
-					// 灏唚atchcount+1
-					session.createSQLQuery(
-							"update wk_video_video v set v.watchcount=v.watchcount+1 where v.id=" + videoid)
-							.executeUpdate();
-					session.flush();
-					session.getTransaction().commit();
-				} catch (Exception e) {
-					e.printStackTrace();
-					session.getTransaction().rollback();
-				}
-				return null;
-			}
-		});
+    @SuppressWarnings("unchecked")
+    public void addStatistics(final String detailSystemId, final String videoid) {
+        videoPlayStatisticsDao.excute(new HibernateCallback() {
+            public Object doInHibernate(Session session) throws HibernateException {
+                try {
+                    List list = session
+                            .createSQLQuery(
+                                    "select id from wk_video_play_statistics s  where s.detailsystemid=? and s.videoid=? and s.day=?")
+                            .setParameter(0, detailSystemId).setParameter(1, videoid)
+                            .setParameter(2, TimeUtil.getyyyyMMddHHTime(System.currentTimeMillis())).list();
+                    session.getTransaction().begin();
+                    if (list != null && list.size() > 0) {
+                        String id = list.get(0) + "";
+                        session.createSQLQuery(
+                                "update wk_video_play_statistics s set s.playcount=s.playcount+1 where s.id=" + id)
+                                .executeUpdate();
+                    } else {
+                        VideoPlayStatistics vp = new VideoPlayStatistics();
+                        vp.setDay(TimeUtil.getyyyyMMddHHTime(System.currentTimeMillis()));
+                        vp.setDetailSystem(new DetailSystem(detailSystemId));
+                        vp.setPlayCount(1);
+                        vp.setVideoInfo(new VideoInfo(videoid));
+                        session.save(vp);
+                    }
+                    // 灏唚atchcount+1
+                    session.createSQLQuery(
+                            "update wk_video_video v set v.watchcount=v.watchcount+1 where v.id=" + videoid)
+                            .executeUpdate();
+                    session.flush();
+                    session.getTransaction().commit();
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    session.getTransaction().rollback();
+                }
+                return null;
+            }
+        });
 
-	}
+    }
 
-	/**
-	 * 缁熻瑙嗛鎾斁鏁伴噺
-	 * 
-	 * @param from
-	 * @param to
-	 * @param detailSystem
-	 * @return
-	 */
-	@Cacheable(value = "statisticCache", key = "'getDetailSystemWatchCount'+'-'+#from+'-'+#to+'-'+#detailSystem")
-	@SuppressWarnings("rawtypes")
-	public List<StatisticXY> getDetailSystemWatchCount(String from, String to, String detailSystem) {
-		List<StatisticXY> xylist = new ArrayList<StatisticXY>();
-		long fromS = TimeUtil.convertDateToTemp(from);
-		long toS = TimeUtil.convertDateToTemp(
-				TimeUtil.getGernalTime((TimeUtil.convertDateToTemp(to) + 1000 * 60 * 60 * 24L), "yyyy-MM-dd"));
+    /**
+     * 缁熻瑙嗛鎾斁鏁伴噺
+     *
+     * @param from
+     * @param to
+     * @param detailSystem
+     * @return
+     */
+    @Cacheable(value = "statisticCache", key = "'getDetailSystemWatchCount'+'-'+#from+'-'+#to+'-'+#detailSystem")
+    @SuppressWarnings("rawtypes")
+    public List<StatisticXY> getDetailSystemWatchCount(String from, String to, String detailSystem) {
+        List<StatisticXY> xylist = new ArrayList<StatisticXY>();
+        long fromS = TimeUtil.convertDateToTemp(from);
+        long toS = TimeUtil.convertDateToTemp(
+                TimeUtil.getGernalTime((TimeUtil.convertDateToTemp(to) + 1000 * 60 * 60 * 24L), "yyyy-MM-dd"));
 
-		try {
-			List list;
-			if ("0".equalsIgnoreCase(detailSystem))
-				list = videoPlayStatisticsDao.sqlList(
-						"SELECT SUM(s.`playcount`),FROM_UNIXTIME(UNIX_TIMESTAMP(s.`day`),'%Y-%m-%d') FROM wk_video_play_statistics s WHERE UNIX_TIMESTAMP(s.`day`)*1000>=? AND UNIX_TIMESTAMP(s.`day`)*1000<=? GROUP BY FROM_UNIXTIME(UNIX_TIMESTAMP(s.`day`),'%Y-%m-%d') ORDER BY UNIX_TIMESTAMP(s.`day`)",
-						new Serializable[] { fromS, toS });
-			else
-				list = videoPlayStatisticsDao.sqlList(
-						"SELECT SUM(s.`playcount`),FROM_UNIXTIME(UNIX_TIMESTAMP(s.`day`),'%Y-%m-%d') FROM wk_video_play_statistics s WHERE UNIX_TIMESTAMP(s.`day`)*1000>=? AND UNIX_TIMESTAMP(s.`day`)*1000<=? and s.detailsystemid=? GROUP BY FROM_UNIXTIME(UNIX_TIMESTAMP(s.`day`),'%Y-%m-%d') ORDER BY UNIX_TIMESTAMP(s.`day`)",
-						new Serializable[] { fromS, toS, detailSystem });
-			for (int i = 0; i < list.size(); i++) {
-				StatisticXY xy = new StatisticXY();
-				Object[] objs = (Object[]) list.get(i);
-				long count = Long.parseLong((objs[0] + "").toString());
-				xy.setTime(objs[1].toString());
-				xy.setY(count);
-				xylist.add(xy);
-			}
+        try {
+            List list;
+            if ("0".equalsIgnoreCase(detailSystem))
+                list = videoPlayStatisticsDao.sqlList(
+                        "SELECT SUM(s.`playcount`),FROM_UNIXTIME(UNIX_TIMESTAMP(s.`day`),'%Y-%m-%d') FROM wk_video_play_statistics s WHERE UNIX_TIMESTAMP(s.`day`)*1000>=? AND UNIX_TIMESTAMP(s.`day`)*1000<=? GROUP BY FROM_UNIXTIME(UNIX_TIMESTAMP(s.`day`),'%Y-%m-%d') ORDER BY UNIX_TIMESTAMP(s.`day`)",
+                        new Serializable[]{fromS, toS});
+            else
+                list = videoPlayStatisticsDao.sqlList(
+                        "SELECT SUM(s.`playcount`),FROM_UNIXTIME(UNIX_TIMESTAMP(s.`day`),'%Y-%m-%d') FROM wk_video_play_statistics s WHERE UNIX_TIMESTAMP(s.`day`)*1000>=? AND UNIX_TIMESTAMP(s.`day`)*1000<=? and s.detailsystemid=? GROUP BY FROM_UNIXTIME(UNIX_TIMESTAMP(s.`day`),'%Y-%m-%d') ORDER BY UNIX_TIMESTAMP(s.`day`)",
+                        new Serializable[]{fromS, toS, detailSystem});
+            for (int i = 0; i < list.size(); i++) {
+                StatisticXY xy = new StatisticXY();
+                Object[] objs = (Object[]) list.get(i);
+                long count = Long.parseLong((objs[0] + "").toString());
+                xy.setTime(objs[1].toString());
+                xy.setY(count);
+                xylist.add(xy);
+            }
 
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return xylist;
-	}
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return xylist;
+    }
 
-	@Cacheable(value = "statisticCache", key = "'getWatchDetail'+'-'+#from+'-'+#to+'-'+#detailsystem")
-	public List<StatisticXY> getWatchDetail(String from, String to, String detailsystem) {
-		long fromS = TimeUtil.convertDateToTemp(from);
-		long toS = TimeUtil.convertDateToTemp(
-				TimeUtil.getGernalTime((TimeUtil.convertDateToTemp(to) + 1000 * 60 * 60 * 24L), "yyyy-MM-dd"));
-		List<StatisticXY> xylist = new ArrayList<StatisticXY>();
-		try {
-			List list;
-			if ("0".equalsIgnoreCase(detailsystem))
-				list = videoPlayStatisticsDao.sqlList(
-						"SELECT v.`name`,SUM(s.`playcount`) t FROM wk_video_play_statistics s LEFT JOIN wk_video_video v ON v.`id`=s.`videoid` WHERE UNIX_TIMESTAMP(s.`day`)*1000>=? AND UNIX_TIMESTAMP(s.`day`)*1000<=? GROUP BY s.`videoid`  ORDER BY t DESC limit 0,100",
-						new Serializable[] { fromS, toS });
+    @Cacheable(value = "statisticCache", key = "'getWatchDetail'+'-'+#from+'-'+#to+'-'+#detailsystem")
+    public List<StatisticXY> getWatchDetail(String from, String to, String detailsystem) {
+        long fromS = TimeUtil.convertDateToTemp(from);
+        long toS = TimeUtil.convertDateToTemp(
+                TimeUtil.getGernalTime((TimeUtil.convertDateToTemp(to) + 1000 * 60 * 60 * 24L), "yyyy-MM-dd"));
+        List<StatisticXY> xylist = new ArrayList<StatisticXY>();
+        try {
+            List list;
+            if ("0".equalsIgnoreCase(detailsystem))
+                list = videoPlayStatisticsDao.sqlList(
+                        "SELECT v.`name`,SUM(s.`playcount`) t FROM wk_video_play_statistics s LEFT JOIN wk_video_video v ON v.`id`=s.`videoid` WHERE UNIX_TIMESTAMP(s.`day`)*1000>=? AND UNIX_TIMESTAMP(s.`day`)*1000<=? GROUP BY s.`videoid`  ORDER BY t DESC limit 0,100",
+                        new Serializable[]{fromS, toS});
 
-			else
-				list = videoPlayStatisticsDao.sqlList(
-						"SELECT v.`name`,SUM(s.`playcount`) t FROM wk_video_play_statistics s LEFT JOIN wk_video_video v ON v.`id`=s.`videoid` WHERE UNIX_TIMESTAMP(s.`day`)*1000>=? AND UNIX_TIMESTAMP(s.`day`)*1000<=? and s.detailsystemid=? GROUP BY s.`videoid`  ORDER BY t DESC limit 0,100",
-						new Serializable[] { fromS, toS, detailsystem });
-			for (int i = 0; i < list.size(); i++) {
-				StatisticXY xy = new StatisticXY();
-				Object[] objs = (Object[]) list.get(i);
-				long count = Long.parseLong((objs[1] + "").toString());
-				xy.setTime(objs[0] + "");
-				xy.setY(count);
-				xylist.add(xy);
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return xylist;
-	}
+            else
+                list = videoPlayStatisticsDao.sqlList(
+                        "SELECT v.`name`,SUM(s.`playcount`) t FROM wk_video_play_statistics s LEFT JOIN wk_video_video v ON v.`id`=s.`videoid` WHERE UNIX_TIMESTAMP(s.`day`)*1000>=? AND UNIX_TIMESTAMP(s.`day`)*1000<=? and s.detailsystemid=? GROUP BY s.`videoid`  ORDER BY t DESC limit 0,100",
+                        new Serializable[]{fromS, toS, detailsystem});
+            for (int i = 0; i < list.size(); i++) {
+                StatisticXY xy = new StatisticXY();
+                Object[] objs = (Object[]) list.get(i);
+                long count = Long.parseLong((objs[1] + "").toString());
+                xy.setTime(objs[0] + "");
+                xy.setY(count);
+                xylist.add(xy);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return xylist;
+    }
 
-	public long getRegisterCount(String from, String to, String detailsystem) {
-		long fromS = TimeUtil.convertDateToTemp(from);
-		long toS = TimeUtil.convertDateToTemp(
-				TimeUtil.getGernalTime((TimeUtil.convertDateToTemp(to) + 1000 * 60 * 60 * 24L), "yyyy-MM-dd"));
-		try {
-			if ("0".equalsIgnoreCase(detailsystem))
-				return loginUserDao.getCount(
-						"select count(*) from LoginUser lu where cast(lu.createtime as long)>=? and cast(lu.createtime as long)<=?",
-						new Serializable[] { fromS, toS });
+    public long getRegisterCount(String from, String to, String detailsystem) {
+        long fromS = TimeUtil.convertDateToTemp(from);
+        long toS = TimeUtil.convertDateToTemp(
+                TimeUtil.getGernalTime((TimeUtil.convertDateToTemp(to) + 1000 * 60 * 60 * 24L), "yyyy-MM-dd"));
+        try {
+            if ("0".equalsIgnoreCase(detailsystem))
+                return loginUserDao.getCount(
+                        "select count(*) from LoginUser lu where cast(lu.createtime as long)>=? and cast(lu.createtime as long)<=?",
+                        new Serializable[]{fromS, toS});
 
-			else
-				return loginUserDao.getCount(
-						"select count(*) from LoginUser lu where and lu.detailsystem=? and cast(lu.createtime as long)>=? and cast(lu.createtime as long)<=?",
-						new Serializable[] { detailsystem, fromS, toS });
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return 0;
-	}
+            else
+                return loginUserDao.getCount(
+                        "select count(*) from LoginUser lu where and lu.detailsystem=? and cast(lu.createtime as long)>=? and cast(lu.createtime as long)<=?",
+                        new Serializable[]{detailsystem, fromS, toS});
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return 0;
+    }
 
-	public long getTotalRegisterCount(String detailsystem) {
-		try {
-			if ("0".equalsIgnoreCase(detailsystem))
-				return loginUserDao.getCount("select count(*) from LoginUser");
+    public long getTotalRegisterCount(String detailsystem) {
+        try {
+            if ("0".equalsIgnoreCase(detailsystem))
+                return loginUserDao.getCount("select count(*) from LoginUser");
 
-			else
-				return loginUserDao.getCount("select count(*) from LoginUser lu where and lu.detailsystem=?",
-						new Serializable[] { detailsystem });
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return 0;
-	}
+            else
+                return loginUserDao.getCount("select count(*) from LoginUser lu where and lu.detailsystem=?",
+                        new Serializable[]{detailsystem});
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return 0;
+    }
 
-	public long getTime(String st) {
-		Date date = new Date();
-		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-		try {
-			date = sdf.parse(st.trim());
-			LogUtil.i(date.getTime() + "");
-			return date.getTime();
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return 0;
-	}
+    public long getTime(String st) {
+        Date date = new Date();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        try {
+            date = sdf.parse(st.trim());
+            LogUtil.i(date.getTime() + "");
+            return date.getTime();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return 0;
+    }
 
-	@SuppressWarnings("rawtypes")
-	public Map<String, List<StatisticXY>> getCategoryPlayStatistics(String from, String to, String detailsystem) {
-		long fromS = TimeUtil.convertDateToTemp(from) / 1000;
-		long toS = TimeUtil.convertDateToTemp(
-				TimeUtil.getGernalTime((TimeUtil.convertDateToTemp(to) + 1000 * 60 * 60 * 24L), "yyyy-MM-dd")) / 1000;
-		// 鏌ユ壘绫诲瀷
-		List<VideoType> list = videoTypeDao.list("from VideoType vt where vt.parent is null and vt.show=1");
-		String sql = "";
-		for (VideoType vt : list) {
-			if (StringUtil.isNullOrEmpty(detailsystem) || "0".equalsIgnoreCase(detailsystem))
-				sql += String.format(
-						" (SELECT SUM(s.c) AS `count`,FROM_UNIXTIME(UNIX_TIMESTAMP(s.t) ,%s) AS `day`,s.tt AS `type` FROM  (SELECT ps.`playcount` AS c,ps.`day` AS t ,%s AS tt FROM wk_video_play_statistics ps LEFT JOIN wk_category_video cv ON ps.`videoid`=cv.`videoid` LEFT JOIN wk_video_type ty ON (ty.`id`=cv.`videotypeid`) WHERE (ty.`id`=%s OR ty.`pid`=%s) AND UNIX_TIMESTAMP(ps.`day`)>=%s and UNIX_TIMESTAMP(ps.`day`)<%s  GROUP BY ps.`id` ) s GROUP BY FROM_UNIXTIME(UNIX_TIMESTAMP(s.t),%s))",
-						"'%Y-%m-%d'", "'" + vt.getName() + "'", vt.getId() + "", vt.getId() + "", fromS + "", toS + "",
-						"'%Y-%m-%d'");
-			else
-				sql += String.format(
-						" (SELECT SUM(s.c) AS `count`,FROM_UNIXTIME(UNIX_TIMESTAMP(s.t) ,%s) AS `day`,s.tt AS `type` FROM  (SELECT ps.`playcount` AS c,ps.`day` AS t ,%s AS tt FROM wk_video_play_statistics ps LEFT JOIN wk_category_video cv ON ps.`videoid`=cv.`videoid` LEFT JOIN wk_video_type ty ON (ty.`id`=cv.`videotypeid`) WHERE (ty.`id`=%s OR ty.`pid`=%s) AND and ps.detailsystemid=%s and UNIX_TIMESTAMP(ps.`day`)>=%s and UNIX_TIMESTAMP(ps.`day`)<%s  GROUP BY ps.`id` ) s GROUP BY FROM_UNIXTIME(UNIX_TIMESTAMP(s.t),%s))",
-						"'%Y-%m-%d'", "'" + vt.getName() + "'", vt.getId() + "", vt.getId() + "", detailsystem,
-						fromS + "", toS + "", "'%Y-%m-%d'");
+    @SuppressWarnings("rawtypes")
+    public Map<String, List<StatisticXY>> getCategoryPlayStatistics(String from, String to, String detailsystem) {
+        long fromS = TimeUtil.convertDateToTemp(from) / 1000;
+        long toS = TimeUtil.convertDateToTemp(
+                TimeUtil.getGernalTime((TimeUtil.convertDateToTemp(to) + 1000 * 60 * 60 * 24L), "yyyy-MM-dd")) / 1000;
+        // 鏌ユ壘绫诲瀷
+        List<VideoType> list = videoTypeDao.list("from VideoType vt where vt.parent is null and vt.show=1");
+        String sql = "";
+        for (VideoType vt : list) {
+            if (StringUtil.isNullOrEmpty(detailsystem) || "0".equalsIgnoreCase(detailsystem))
+                sql += String.format(
+                        " (SELECT SUM(s.c) AS `count`,FROM_UNIXTIME(UNIX_TIMESTAMP(s.t) ,%s) AS `day`,s.tt AS `type` FROM  (SELECT ps.`playcount` AS c,ps.`day` AS t ,%s AS tt FROM wk_video_play_statistics ps LEFT JOIN wk_category_video cv ON ps.`videoid`=cv.`videoid` LEFT JOIN wk_video_type ty ON (ty.`id`=cv.`videotypeid`) WHERE (ty.`id`=%s OR ty.`pid`=%s) AND UNIX_TIMESTAMP(ps.`day`)>=%s and UNIX_TIMESTAMP(ps.`day`)<%s  GROUP BY ps.`id` ) s GROUP BY FROM_UNIXTIME(UNIX_TIMESTAMP(s.t),%s))",
+                        "'%Y-%m-%d'", "'" + vt.getName() + "'", vt.getId() + "", vt.getId() + "", fromS + "", toS + "",
+                        "'%Y-%m-%d'");
+            else
+                sql += String.format(
+                        " (SELECT SUM(s.c) AS `count`,FROM_UNIXTIME(UNIX_TIMESTAMP(s.t) ,%s) AS `day`,s.tt AS `type` FROM  (SELECT ps.`playcount` AS c,ps.`day` AS t ,%s AS tt FROM wk_video_play_statistics ps LEFT JOIN wk_category_video cv ON ps.`videoid`=cv.`videoid` LEFT JOIN wk_video_type ty ON (ty.`id`=cv.`videotypeid`) WHERE (ty.`id`=%s OR ty.`pid`=%s) AND and ps.detailsystemid=%s and UNIX_TIMESTAMP(ps.`day`)>=%s and UNIX_TIMESTAMP(ps.`day`)<%s  GROUP BY ps.`id` ) s GROUP BY FROM_UNIXTIME(UNIX_TIMESTAMP(s.t),%s))",
+                        "'%Y-%m-%d'", "'" + vt.getName() + "'", vt.getId() + "", vt.getId() + "", detailsystem,
+                        fromS + "", toS + "", "'%Y-%m-%d'");
 
-			sql += " UNION ALL";
-		}
+            sql += " UNION ALL";
+        }
 
-		if (sql.endsWith("UNION ALL"))
-			sql = sql.substring(0, sql.length() - 9);
-		System.out.println(sql);
-		final String fsql = sql;
-		final Map<String, List<StatisticXY>> map = new HashMap<String, List<StatisticXY>>();
-		videoTypeDao.excute(new HibernateCallback() {
-			public Object doInHibernate(Session session) throws HibernateException {
-				List list = session.createSQLQuery(fsql).list();
-				for (int i = 0; i < list.size(); i++) {
-					Object[] objs = (Object[]) list.get(i);
-					if (map.get(objs[2] + "") == null)
-						map.put(objs[2] + "", new ArrayList<StatisticXY>());
-					StatisticXY xy = new StatisticXY();
-					xy.setTime(objs[1] + "");
-					xy.setY(Long.parseLong(objs[0] + ""));
-					map.get(objs[2] + "").add(xy);
-				}
-				return null;
-			}
-		});
-		return map;
-	}
+        if (sql.endsWith("UNION ALL"))
+            sql = sql.substring(0, sql.length() - 9);
+        System.out.println(sql);
+        final String fsql = sql;
+        final Map<String, List<StatisticXY>> map = new HashMap<String, List<StatisticXY>>();
+        videoTypeDao.excute(new HibernateCallback() {
+            public Object doInHibernate(Session session) throws HibernateException {
+                List list = session.createSQLQuery(fsql).list();
+                for (int i = 0; i < list.size(); i++) {
+                    Object[] objs = (Object[]) list.get(i);
+                    if (map.get(objs[2] + "") == null)
+                        map.put(objs[2] + "", new ArrayList<StatisticXY>());
+                    StatisticXY xy = new StatisticXY();
+                    xy.setTime(objs[1] + "");
+                    xy.setY(Long.parseLong(objs[0] + ""));
+                    map.get(objs[2] + "").add(xy);
+                }
+                return null;
+            }
+        });
+        return map;
+    }
 
-	// 澶у尯鍒嗙被鎾斁缁熻-鎸夊綋澶�
-	@SuppressWarnings({ "unchecked", "rawtypes" })
-	@CacheEvict(value = "topCache", allEntries = true)
-	public void categoryPlayStatistic() {
-		videoPlayStatisticsDao.excute(new HibernateCallback() {
-			public Object doInHibernate(Session session) throws HibernateException {
-				try {
-					String startTime = TimeUtil.getGernalTime(System.currentTimeMillis() - 604800000L);
-					String endTime = TimeUtil.getGernalTime(System.currentTimeMillis() + 86400000L);
-					List<VideoType> typeList = (List<VideoType>) session
-							.createQuery("from VideoType vt where vt.parent is null").list();
-					for (VideoType vt : typeList) {
-						// 鍙粺璁$數褰憋紝鐢佃鍓э紝缁艰壓锛屽姩婕殑姒滈
-						if (vt.getId() == 150 || vt.getId() == 151 || vt.getId() == 152 || vt.getId() == 153) {
-							// if(1>0)
-							// continue;
-							String sql = String.format(
-									"SELECT mm.vid, mm.c,mm.rank FROM (SELECT m.vid AS vid,SUM(m.c) AS c,m.rank AS rank FROM (SELECT p.`videoid` AS vid, p.`playcount` AS c, p.`day`, cc.rank AS rank   FROM  wk_video_play_statistics p LEFT JOIN wk_category_video cv   ON cv.`videoid` = p.`videoid`  LEFT JOIN wk_video_type ty   ON cv.`videotypeid` = ty.`id` LEFT JOIN wk_recommend_category_cache cc ON cc.videoid = p.videoid  WHERE (ty.`id` = %s OR ty.`pid` = %s) AND ( UNIX_TIMESTAMP(P.`day`) < UNIX_TIMESTAMP(%s) AND UNIX_TIMESTAMP(P.`day`) >= UNIX_TIMESTAMP(%s)) GROUP BY p.`id`) m GROUP BY m.vid) mm ORDER BY mm.c DESC limit 0,100",
-									vt.getId() + "", vt.getId() + "", "'" + endTime + "'", "'" + startTime + "'");
-							List list = session.createSQLQuery(sql).list();
-							session.getTransaction().begin();
-							// 鍒犻櫎rank绛変簬0鐨�
-							int update = session
-									.createQuery(
-											"delete from CategoryRecommendCacheVideo cr where cr.videoType.id=? and cr.rank = 0 ")
-									.setParameter(0, vt.getId()).executeUpdate();
-							LogHelper.print("delete from CategoryRecommendCacheVideo cr where cr.videoType.id="
-									+ vt.getId() + " and cr.rank = 0 ");
-							LogHelper.print("鍒犻櫎锛�" + update + "鏉�");
-							for (int i = 0; i < list.size(); i++) {
-								Object[] objs = (Object[]) list.get(i);
-								String rank = String.valueOf(objs[2] + "");
-								if ("null".equalsIgnoreCase(rank)) {
-									rank = "0";
-								}
-								if (Integer.parseInt(rank + "") != 0) {
-									CategoryRecommendCacheVideo ccv = categoryRecommendCacheVideoService
-											.getByVid(objs[0] + "");
-									if (ccv != null) {
-										ccv.setOrderby(Integer.parseInt(objs[1] + ""));
-										session.update(ccv);
-									}
-									continue;
-								}
-								CategoryRecommendCacheVideo crcv = new CategoryRecommendCacheVideo();
-								crcv.setCreatetime("" + System.currentTimeMillis());
-								crcv.setOrderby(Integer.parseInt(objs[1] + ""));
-								crcv.setVideoInfo(new VideoInfo(objs[0] + ""));
-								crcv.setVideoType(vt);
-								session.persist(crcv);
-							}
-							session.flush();
-							session.getTransaction().commit();
-						} else {// 鍏朵粬灏忓垎绫荤殑姒滈鏌ヨ鏈�杩戞洿鏂扮殑
-							String sql = String.format(
-									"SELECT v.id  FROM   (SELECT DISTINCT(v.`id`) FROM wk_video_video v LEFT JOIN wk_category_video cv ON cv.`videoid`=v.`id`  LEFT JOIN `wk_video_type` t ON t.id=cv.`videotypeid`  WHERE v.`show`=1 AND t.`id`=%s OR t.pid=%s ORDER BY v.id DESC  LIMIT 200)  vv LEFT JOIN wk_video_video v ON v.`id`=vv.id  LIMIT 32",
-									vt.getId() + "", vt.getId() + "");
-							// 鍏堝垹闄ゅ師鏉ョ殑瑙嗛
-							session.getTransaction().begin();
+    // 澶у尯鍒嗙被鎾斁缁熻-鎸夊綋澶�
+    @SuppressWarnings({"unchecked", "rawtypes"})
+    @CacheEvict(value = "topCache", allEntries = true)
+    public void categoryPlayStatistic() {
+        videoPlayStatisticsDao.excute(new HibernateCallback() {
+            public Object doInHibernate(Session session) throws HibernateException {
+                try {
+                    String startTime = TimeUtil.getGernalTime(System.currentTimeMillis() - 604800000L);
+                    String endTime = TimeUtil.getGernalTime(System.currentTimeMillis() + 86400000L);
+                    List<VideoType> typeList = (List<VideoType>) session
+                            .createQuery("from VideoType vt where vt.parent is null").list();
+                    for (VideoType vt : typeList) {
+                        // 鍙粺璁$數褰憋紝鐢佃鍓э紝缁艰壓锛屽姩婕殑姒滈
+                        if (vt.getId() == 150 || vt.getId() == 151 || vt.getId() == 152 || vt.getId() == 153) {
+                            //鐢靛奖鐢佃鍓т笉鏇存柊姒滈
+                            if(vt.getId() == 150 || vt.getId() == 151)
+                                continue;
+                            // if(1>0)
+                            // continue;
+                            String sql = String.format(
+                                    "SELECT mm.vid, mm.c,mm.rank FROM (SELECT m.vid AS vid,SUM(m.c) AS c,m.rank AS rank FROM (SELECT p.`videoid` AS vid, p.`playcount` AS c, p.`day`, cc.rank AS rank   FROM  wk_video_play_statistics p LEFT JOIN wk_category_video cv   ON cv.`videoid` = p.`videoid`  LEFT JOIN wk_video_type ty   ON cv.`videotypeid` = ty.`id` LEFT JOIN wk_recommend_category_cache cc ON cc.videoid = p.videoid  WHERE (ty.`id` = %s OR ty.`pid` = %s) AND ( UNIX_TIMESTAMP(P.`day`) < UNIX_TIMESTAMP(%s) AND UNIX_TIMESTAMP(P.`day`) >= UNIX_TIMESTAMP(%s)) GROUP BY p.`id`) m GROUP BY m.vid) mm ORDER BY mm.c DESC limit 0,100",
+                                    vt.getId() + "", vt.getId() + "", "'" + endTime + "'", "'" + startTime + "'");
+                            List list = session.createSQLQuery(sql).list();
+                            session.getTransaction().begin();
+                            // 鍒犻櫎rank绛変簬0鐨�
+                            int update = session
+                                    .createQuery(
+                                            "delete from CategoryRecommendCacheVideo cr where cr.videoType.id=? and cr.rank = 0 ")
+                                    .setParameter(0, vt.getId()).executeUpdate();
+                            LogHelper.print("delete from CategoryRecommendCacheVideo cr where cr.videoType.id="
+                                    + vt.getId() + " and cr.rank = 0 ");
+                            LogHelper.print("鍒犻櫎锛�" + update + "鏉�");
+                            for (int i = 0; i < list.size(); i++) {
+                                Object[] objs = (Object[]) list.get(i);
+                                String rank = String.valueOf(objs[2] + "");
+                                if ("null".equalsIgnoreCase(rank)) {
+                                    rank = "0";
+                                }
+                                if (Integer.parseInt(rank + "") != 0) {
+                                    CategoryRecommendCacheVideo ccv = categoryRecommendCacheVideoService
+                                            .getByVid(objs[0] + "");
+                                    if (ccv != null) {
+                                        ccv.setOrderby(Integer.parseInt(objs[1] + ""));
+                                        session.update(ccv);
+                                    }
+                                    continue;
+                                }
+                                CategoryRecommendCacheVideo crcv = new CategoryRecommendCacheVideo();
+                                crcv.setCreatetime("" + System.currentTimeMillis());
+                                crcv.setOrderby(Integer.parseInt(objs[1] + ""));
+                                crcv.setVideoInfo(new VideoInfo(objs[0] + ""));
+                                crcv.setVideoType(vt);
+                                session.persist(crcv);
+                            }
+                            session.flush();
+                            session.getTransaction().commit();
+                        } else {// 鍏朵粬灏忓垎绫荤殑姒滈鏌ヨ鏈�杩戞洿鏂扮殑
+                            String sql = String.format(
+                                    "SELECT v.id  FROM   (SELECT DISTINCT(v.`id`) FROM wk_video_video v LEFT JOIN wk_category_video cv ON cv.`videoid`=v.`id`  LEFT JOIN `wk_video_type` t ON t.id=cv.`videotypeid`  WHERE v.`show`=1 AND t.`id`=%s OR t.pid=%s ORDER BY v.id DESC  LIMIT 200)  vv LEFT JOIN wk_video_video v ON v.`id`=vv.id  LIMIT 32",
+                                    vt.getId() + "", vt.getId() + "");
+                            // 鍏堝垹闄ゅ師鏉ョ殑瑙嗛
+                            session.getTransaction().begin();
 
-							// 鍒犻櫎Rank=0鐨勬儏鍐�
-							session.createQuery(
-									"delete from CategoryRecommendCacheVideo cr where cr.videoType.id=? and cr.rank = 0 ")
-									.setParameter(0, vt.getId()).executeUpdate();
+                            // 鍒犻櫎Rank=0鐨勬儏鍐�
+                            session.createQuery(
+                                    "delete from CategoryRecommendCacheVideo cr where cr.videoType.id=? and cr.rank = 0 ")
+                                    .setParameter(0, vt.getId()).executeUpdate();
 
-							List list = session.createSQLQuery(sql).list();
-							for (int i = 0; i < list.size(); i++) {
-								list.get(i);
-								CategoryRecommendCacheVideo crcv = new CategoryRecommendCacheVideo();
-								crcv.setCreatetime("" + System.currentTimeMillis());
-								crcv.setOrderby(100 - i);
-								crcv.setVideoInfo(new VideoInfo(list.get(i) + ""));
-								crcv.setVideoType(vt);
-								session.persist(crcv);
-							}
-							session.flush();
-							session.getTransaction().commit();
-						}
-					}
-				} catch (Exception e) {
-					e.printStackTrace();
-					LogHelper.error(e.getMessage());
-					if (session.getTransaction().isActive())
-						session.getTransaction().rollback();
-				}
-				LogHelper.print("缁熻瀹屾垚...");
-				return null;
-			}
-		});
+                            List list = session.createSQLQuery(sql).list();
+                            for (int i = 0; i < list.size(); i++) {
+                                list.get(i);
+                                CategoryRecommendCacheVideo crcv = new CategoryRecommendCacheVideo();
+                                crcv.setCreatetime("" + System.currentTimeMillis());
+                                crcv.setOrderby(100 - i);
+                                crcv.setVideoInfo(new VideoInfo(list.get(i) + ""));
+                                crcv.setVideoType(vt);
+                                session.persist(crcv);
+                            }
+                            session.flush();
+                            session.getTransaction().commit();
+                        }
+                    }
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    LogHelper.error(e.getMessage());
+                    if (session.getTransaction().isActive())
+                        session.getTransaction().rollback();
+                }
+                LogHelper.print("缁熻瀹屾垚...");
+                return null;
+            }
+        });
 
-	}
+    }
 
-	/**
-	 * 鑾峰彇鍗曚釜瑙嗛瑙傜湅璇︽儏
-	 * 
-	 * @param videoid
-	 * @param from
-	 * @param to
-	 * @param detailsystem
-	 * @return
-	 */
-	@SuppressWarnings("rawtypes")
-	public List<StatisticXY> getVideoWatchDetail(String videoid, String from, String to, String detailsystem) {
-		long fromS = TimeUtil.convertDateToTemp(from) / 1000;
-		long toS = TimeUtil.convertDateToTemp(
-				TimeUtil.getGernalTime((TimeUtil.convertDateToTemp(to) + 1000 * 60 * 60 * 24L), "yyyy-MM-dd")) / 1000;
+    /**
+     * 鑾峰彇鍗曚釜瑙嗛瑙傜湅璇︽儏
+     *
+     * @param videoid
+     * @param from
+     * @param to
+     * @param detailsystem
+     * @return
+     */
+    @SuppressWarnings("rawtypes")
+    public List<StatisticXY> getVideoWatchDetail(String videoid, String from, String to, String detailsystem) {
+        long fromS = TimeUtil.convertDateToTemp(from) / 1000;
+        long toS = TimeUtil.convertDateToTemp(
+                TimeUtil.getGernalTime((TimeUtil.convertDateToTemp(to) + 1000 * 60 * 60 * 24L), "yyyy-MM-dd")) / 1000;
 
-		String sql = "";
+        String sql = "";
 
-		if (StringUtil.isNullOrEmpty(detailsystem) || "0".equalsIgnoreCase(detailsystem))
-			sql = String.format(
-					"SELECT sts.`videoid` AS videoid,SUM(sts.`playcount`) AS `count`,(FROM_UNIXTIME(UNIX_TIMESTAMP(sts.`day`),%s)) AS `day` FROM wk_video_play_statistics sts WHERE sts.`videoid`=%s AND (UNIX_TIMESTAMP(sts.`day`)>=%s AND UNIX_TIMESTAMP(sts.`day`)<%s) GROUP BY (FROM_UNIXTIME(UNIX_TIMESTAMP(sts.`day`),%s))",
-					"'%Y-%m-%d'", videoid, fromS + "", toS + "", "'%Y-%m-%d'");
-		else
-			sql = String.format(
-					"SELECT sts.`videoid` AS videoid,SUM(sts.`playcount`) AS `count`,(FROM_UNIXTIME(UNIX_TIMESTAMP(sts.`day`),%s)) AS `day` FROM wk_video_play_statistics sts WHERE sts.`videoid`=%s AND sts.`detailsystemid`=%s AND (UNIX_TIMESTAMP(sts.`day`)>=%s AND UNIX_TIMESTAMP(sts.`day`)<%s) GROUP BY (FROM_UNIXTIME(UNIX_TIMESTAMP(sts.`day`),%s))",
-					"'%Y-%m-%d'", videoid, detailsystem, fromS + "", toS + "", "'%Y-%m-%d'");
+        if (StringUtil.isNullOrEmpty(detailsystem) || "0".equalsIgnoreCase(detailsystem))
+            sql = String.format(
+                    "SELECT sts.`videoid` AS videoid,SUM(sts.`playcount`) AS `count`,(FROM_UNIXTIME(UNIX_TIMESTAMP(sts.`day`),%s)) AS `day` FROM wk_video_play_statistics sts WHERE sts.`videoid`=%s AND (UNIX_TIMESTAMP(sts.`day`)>=%s AND UNIX_TIMESTAMP(sts.`day`)<%s) GROUP BY (FROM_UNIXTIME(UNIX_TIMESTAMP(sts.`day`),%s))",
+                    "'%Y-%m-%d'", videoid, fromS + "", toS + "", "'%Y-%m-%d'");
+        else
+            sql = String.format(
+                    "SELECT sts.`videoid` AS videoid,SUM(sts.`playcount`) AS `count`,(FROM_UNIXTIME(UNIX_TIMESTAMP(sts.`day`),%s)) AS `day` FROM wk_video_play_statistics sts WHERE sts.`videoid`=%s AND sts.`detailsystemid`=%s AND (UNIX_TIMESTAMP(sts.`day`)>=%s AND UNIX_TIMESTAMP(sts.`day`)<%s) GROUP BY (FROM_UNIXTIME(UNIX_TIMESTAMP(sts.`day`),%s))",
+                    "'%Y-%m-%d'", videoid, detailsystem, fromS + "", toS + "", "'%Y-%m-%d'");
 
-		System.out.println(sql);
-		final String fsql = sql;
-		final List<StatisticXY> rlist = new ArrayList<StatisticXY>();
-		videoTypeDao.excute(new HibernateCallback() {
-			public Object doInHibernate(Session session) throws HibernateException {
-				List list = session.createSQLQuery(fsql).list();
-				for (int i = 0; i < list.size(); i++) {
-					Object[] objs = (Object[]) list.get(i);
-					StatisticXY xy = new StatisticXY();
-					xy.setTime(objs[2] + "");
-					xy.setY(Long.parseLong(objs[1] + ""));
-					rlist.add(xy);
-				}
-				return null;
-			}
-		});
-		return rlist;
-	}
+        System.out.println(sql);
+        final String fsql = sql;
+        final List<StatisticXY> rlist = new ArrayList<StatisticXY>();
+        videoTypeDao.excute(new HibernateCallback() {
+            public Object doInHibernate(Session session) throws HibernateException {
+                List list = session.createSQLQuery(fsql).list();
+                for (int i = 0; i < list.size(); i++) {
+                    Object[] objs = (Object[]) list.get(i);
+                    StatisticXY xy = new StatisticXY();
+                    xy.setTime(objs[2] + "");
+                    xy.setY(Long.parseLong(objs[1] + ""));
+                    rlist.add(xy);
+                }
+                return null;
+            }
+        });
+        return rlist;
+    }
 
-	// 鐑棬鎼滅储缁熻
-	@SuppressWarnings("unchecked")
-	public void hotSearchStatistics() {
-		videoPlayStatisticsDao.excute(new HibernateCallback() {
-			public Object doInHibernate(Session session) throws HibernateException {
-				try {
-					List<HotSearch> hotList = session.createQuery("from HotSearch").list();
-					List list = session.createSQLQuery(
-							"SELECT h.`keyword`,COUNT(*) c FROM wk_video_search_history h WHERE h.`createtime`>"
-									+ (System.currentTimeMillis() - 1000 * 24 * 60 * 60L)
-									+ " GROUP BY  h.`keyword` ORDER BY c DESC limit 0,300")
-							.list();
-					for (int i = list.size() - 1; i >= 0; i--) {
-						for (HotSearch hs : hotList) {
-							if (hs.getName().equalsIgnoreCase("" + ((Object[]) list.get(i))[0])) {
-								hs.setOrderby(Integer.parseInt(((Object[]) list.get(i))[1] + ""));
-								session.getTransaction().begin();
-								session.update(hs);
-								session.flush();
-								session.getTransaction().commit();
-								break;
-							}
-						}
-					}
+    // 鐑棬鎼滅储缁熻
+    @SuppressWarnings("unchecked")
+    public void hotSearchStatistics() {
+        videoPlayStatisticsDao.excute(new HibernateCallback() {
+            public Object doInHibernate(Session session) throws HibernateException {
+                try {
+                    List<HotSearch> hotList = session.createQuery("from HotSearch").list();
+                    List list = session.createSQLQuery(
+                            "SELECT h.`keyword`,COUNT(*) c FROM wk_video_search_history h WHERE h.`createtime`>"
+                                    + (System.currentTimeMillis() - 1000 * 24 * 60 * 60L)
+                                    + " GROUP BY  h.`keyword` ORDER BY c DESC limit 0,300")
+                            .list();
+                    for (int i = list.size() - 1; i >= 0; i--) {
+                        for (HotSearch hs : hotList) {
+                            if (hs.getName().equalsIgnoreCase("" + ((Object[]) list.get(i))[0])) {
+                                hs.setOrderby(Integer.parseInt(((Object[]) list.get(i))[1] + ""));
+                                session.getTransaction().begin();
+                                session.update(hs);
+                                session.flush();
+                                session.getTransaction().commit();
+                                break;
+                            }
+                        }
+                    }
 
-					JSONArray array = new JSONArray();
-					for (int i = 0; i < 20; i++) {
-						array.add(((Object[]) list.get(i))[0] + "");
-					}
+                    JSONArray array = new JSONArray();
+                    for (int i = 0; i < 20; i++) {
+                        array.add(((Object[]) list.get(i))[0] + "");
+                    }
 
-					session.getTransaction().begin();
-					session.createSQLQuery("update wk_video_config cf set cf.value=? where cf.key=?")
-							.setParameter(0, array.toString()).setParameter(1, "topsearch").executeUpdate();
-					session.flush();
-					session.getTransaction().commit();
+                    session.getTransaction().begin();
+                    session.createSQLQuery("update wk_video_config cf set cf.value=? where cf.key=?")
+                            .setParameter(0, array.toString()).setParameter(1, "topsearch").executeUpdate();
+                    session.flush();
+                    session.getTransaction().commit();
 
-				} catch (Exception e) {
-					e.printStackTrace();
-					if (session.getTransaction().isActive())
-						session.getTransaction().rollback();
-				}
-				return null;
-			}
-		});
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    if (session.getTransaction().isActive())
+                        session.getTransaction().rollback();
+                }
+                return null;
+            }
+        });
 
-	}
+    }
 
-	@SuppressWarnings("unchecked")
-	public void secondCategoryPlayStatistic() {
-		videoPlayStatisticsDao.excute(new HibernateCallback() {
-			public Object doInHibernate(Session session) throws HibernateException {
-				try {
-					String startTime = TimeUtil.getGernalTime(System.currentTimeMillis());
-					String endTime = TimeUtil.getGernalTime(System.currentTimeMillis() + 24 * 60 * 60 * 1000L);
-					// 鎺掗櫎鍥涘ぇ涓诲垎绫�
-					List<VideoType> typeList = (List<VideoType>) session
-							.createQuery(
-									"from VideoType vt where vt.parent is not null and ( vt.parent.id!=150 and vt.parent.id!=151 and vt.parent.id!=152 and vt.parent.id!=153)")
-							.list();
-					for (VideoType vt : typeList) {
-						String sql = String.format(
-								"SELECT mm.vid, mm.c FROM (SELECT m.vid AS vid,SUM(m.c) AS c FROM (SELECT p.`videoid` AS vid, p.`playcount` AS c, p.`day`  FROM  wk_video_play_statistics p LEFT JOIN wk_category_video cv   ON cv.`videoid` = p.`videoid`  LEFT JOIN wk_video_type ty   ON cv.`videotypeid` = ty.`id`  WHERE (ty.`id` = %s) AND ( UNIX_TIMESTAMP(P.`day`) < UNIX_TIMESTAMP(%s) AND UNIX_TIMESTAMP(P.`day`) >= UNIX_TIMESTAMP(%s)) GROUP BY p.`id`) m GROUP BY m.vid) mm ORDER BY mm.c DESC limit 0,100",
-								vt.getId() + "", "'" + endTime + "'", "'" + startTime + "'");
-						List list = session.createSQLQuery(sql).list();
-						session.getTransaction().begin();
-						// 鍒犻櫎鎵�鏈�
-						session.createQuery(
-								"delete from CategoryRecommendCacheVideo cr where cr.videoType.id=? and cr.rank = 0 ")
-								.setParameter(0, vt.getId()).executeUpdate();
+    @SuppressWarnings("unchecked")
+    public void secondCategoryPlayStatistic() {
+        videoPlayStatisticsDao.excute(new HibernateCallback() {
+            public Object doInHibernate(Session session) throws HibernateException {
+                try {
+                    String startTime = TimeUtil.getGernalTime(System.currentTimeMillis());
+                    String endTime = TimeUtil.getGernalTime(System.currentTimeMillis() + 24 * 60 * 60 * 1000L);
+                    // 鎺掗櫎鍥涘ぇ涓诲垎绫�
+                    List<VideoType> typeList = (List<VideoType>) session
+                            .createQuery(
+                                    "from VideoType vt where vt.parent is not null and ( vt.parent.id!=150 and vt.parent.id!=151 and vt.parent.id!=152 and vt.parent.id!=153)")
+                            .list();
+                    for (VideoType vt : typeList) {
+                        String sql = String.format(
+                                "SELECT mm.vid, mm.c FROM (SELECT m.vid AS vid,SUM(m.c) AS c FROM (SELECT p.`videoid` AS vid, p.`playcount` AS c, p.`day`  FROM  wk_video_play_statistics p LEFT JOIN wk_category_video cv   ON cv.`videoid` = p.`videoid`  LEFT JOIN wk_video_type ty   ON cv.`videotypeid` = ty.`id`  WHERE (ty.`id` = %s) AND ( UNIX_TIMESTAMP(P.`day`) < UNIX_TIMESTAMP(%s) AND UNIX_TIMESTAMP(P.`day`) >= UNIX_TIMESTAMP(%s)) GROUP BY p.`id`) m GROUP BY m.vid) mm ORDER BY mm.c DESC limit 0,100",
+                                vt.getId() + "", "'" + endTime + "'", "'" + startTime + "'");
+                        List list = session.createSQLQuery(sql).list();
+                        session.getTransaction().begin();
+                        // 鍒犻櫎鎵�鏈�
+                        session.createQuery(
+                                "delete from CategoryRecommendCacheVideo cr where cr.videoType.id=? and cr.rank = 0 ")
+                                .setParameter(0, vt.getId()).executeUpdate();
 
-						for (int i = 0; i < list.size(); i++) {
-							Object[] objs = (Object[]) list.get(i);
-							CategoryRecommendCacheVideo crcv = new CategoryRecommendCacheVideo();
-							crcv.setCreatetime("" + System.currentTimeMillis());
-							crcv.setOrderby(Integer.parseInt(objs[1] + ""));
-							crcv.setVideoInfo(new VideoInfo(objs[0] + ""));
-							crcv.setVideoType(vt);
-							session.persist(crcv);
-						}
-						session.flush();
-						session.getTransaction().commit();
-					}
-				} catch (Exception e) {
-					e.printStackTrace();
-					if (session.getTransaction().isActive())
-						session.getTransaction().rollback();
-				}
-				return null;
-			}
-		});
+                        for (int i = 0; i < list.size(); i++) {
+                            Object[] objs = (Object[]) list.get(i);
+                            CategoryRecommendCacheVideo crcv = new CategoryRecommendCacheVideo();
+                            crcv.setCreatetime("" + System.currentTimeMillis());
+                            crcv.setOrderby(Integer.parseInt(objs[1] + ""));
+                            crcv.setVideoInfo(new VideoInfo(objs[0] + ""));
+                            crcv.setVideoType(vt);
+                            session.persist(crcv);
+                        }
+                        session.flush();
+                        session.getTransaction().commit();
+                    }
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    if (session.getTransaction().isActive())
+                        session.getTransaction().rollback();
+                }
+                return null;
+            }
+        });
 
-	}
+    }
 
-	// 鍥涘ぇ涓诲垎绫荤殑鎸夊湴鍖烘挱鏀剧粺璁�
-	@Cacheable(value = "statisticCache", key = "'areaPlayStatistic'")
-	public void areaPlayStatistic() {
-		videoPlayStatisticsDao.excute(new HibernateCallback() {
-			@SuppressWarnings("unchecked")
-			public Object doInHibernate(Session session) throws HibernateException {
-				try {
-					String endTime = TimeUtil.getAllTime(System.currentTimeMillis());
-					String startTime = TimeUtil.getAllTime(System.currentTimeMillis() - 24 * 60 * 60 * 1000L);
-					// 鎺掗櫎鍥涘ぇ涓诲垎绫�
-					List<CategoryContry> rootList = (List<CategoryContry>) session
-							.createQuery("from CategoryContry cc where cc.parent is null").list();
-					for (CategoryContry cc : rootList) {
-						List<CategoryContry> secondAreaList = (List<CategoryContry>) session
-								.createQuery("from CategoryContry cc where cc.parent.id=" + cc.getId()).list();
-						for (CategoryContry se : secondAreaList) {
-							List<CategoryContry> thirdList = (List<CategoryContry>) session
-									.createQuery("from CategoryContry cc where cc.parent.id=" + se.getId()).list();
-							String areaWhere = "";
-							for (CategoryContry tcc : thirdList) {
-								areaWhere += String.format(" v.area like %s or", "'%" + tcc.getName() + "%'");
-							}
-							if (areaWhere.endsWith("or"))
-								areaWhere = areaWhere.substring(0, areaWhere.length() - 2);
+    // 鍥涘ぇ涓诲垎绫荤殑鎸夊湴鍖烘挱鏀剧粺璁�
+    @Cacheable(value = "statisticCache", key = "'areaPlayStatistic'")
+    public void areaPlayStatistic() {
+        videoPlayStatisticsDao.excute(new HibernateCallback() {
+            @SuppressWarnings("unchecked")
+            public Object doInHibernate(Session session) throws HibernateException {
+                try {
+                    String endTime = TimeUtil.getAllTime(System.currentTimeMillis());
+                    String startTime = TimeUtil.getAllTime(System.currentTimeMillis() - 24 * 60 * 60 * 1000L);
+                    // 鎺掗櫎鍥涘ぇ涓诲垎绫�
+                    List<CategoryContry> rootList = (List<CategoryContry>) session
+                            .createQuery("from CategoryContry cc where cc.parent is null").list();
+                    for (CategoryContry cc : rootList) {
+                        //鎺掗櫎鐢靛奖/鐢佃鍓�
+                        if (cc.getCid() == 150L || cc.getCid() == 151L)
+                            continue;
+                        List<CategoryContry> secondAreaList = (List<CategoryContry>) session
+                                .createQuery("from CategoryContry cc where cc.parent.id=" + cc.getId()).list();
+                        for (CategoryContry se : secondAreaList) {
+                            List<CategoryContry> thirdList = (List<CategoryContry>) session
+                                    .createQuery("from CategoryContry cc where cc.parent.id=" + se.getId()).list();
+                            String areaWhere = "";
+                            for (CategoryContry tcc : thirdList) {
+                                areaWhere += String.format(" v.area like %s or", "'%" + tcc.getName() + "%'");
+                            }
+                            if (areaWhere.endsWith("or"))
+                                areaWhere = areaWhere.substring(0, areaWhere.length() - 2);
 
-							String sql = String.format(
-									"SELECT videoid,SUM(playcount) sc FROM (SELECT s.`videoid`,s.`playcount` FROM wk_video_play_statistics s LEFT JOIN wk_category_video cv ON cv.`videoid`=s.`videoid` LEFT JOIN wk_video_type ty ON  ty.`id`=cv.`videotypeid` LEFT JOIN wk_video_video v ON v.`id`=s.`videoid` WHERE (ty.`id`=%s OR ty.`pid`=%s) AND (%s) AND  (UNIX_TIMESTAMP(s.`day`)>=UNIX_TIMESTAMP('%s') AND UNIX_TIMESTAMP(s.`day`)<=UNIX_TIMESTAMP('%s')) GROUP BY s.`videoid`,s.`detailsystemid`,s.`day` ORDER BY s.`playcount` DESC) sm GROUP  BY sm.videoid ORDER BY sc DESC limit 0,100",
-									cc.getCid() + "", cc.getCid() + "", areaWhere, startTime, endTime);
-							List list = session.createSQLQuery(sql).list();
-							session.getTransaction().begin();
+                            String sql = String.format(
+                                    "SELECT videoid,SUM(playcount) sc FROM (SELECT s.`videoid`,s.`playcount` FROM wk_video_play_statistics s LEFT JOIN wk_category_video cv ON cv.`videoid`=s.`videoid` LEFT JOIN wk_video_type ty ON  ty.`id`=cv.`videotypeid` LEFT JOIN wk_video_video v ON v.`id`=s.`videoid` WHERE (ty.`id`=%s OR ty.`pid`=%s) AND (%s) AND  (UNIX_TIMESTAMP(s.`day`)>=UNIX_TIMESTAMP('%s') AND UNIX_TIMESTAMP(s.`day`)<=UNIX_TIMESTAMP('%s')) GROUP BY s.`videoid`,s.`detailsystemid`,s.`day` ORDER BY s.`playcount` DESC) sm GROUP  BY sm.videoid ORDER BY sc DESC limit 0,100",
+                                    cc.getCid() + "", cc.getCid() + "", areaWhere, startTime, endTime);
+                            List list = session.createSQLQuery(sql).list();
+                            session.getTransaction().begin();
 
-							session.createQuery("delete from AreaVideoCache a where a.categoryContry.id=" + se.getId())
-									.executeUpdate();
-							for (int i = 0; i < list.size(); i++) {
-								Object[] object = (Object[]) list.get(i);
-								String videoid = object[0] + "";
-								int count = Integer.parseInt(object[1] + "");
-								AreaVideoCache avc = new AreaVideoCache();
-								avc.setCategoryContry(se);
-								avc.setCreatetime(System.currentTimeMillis() + "");
-								avc.setOrderby(count);
-								avc.setVideoInfo(new VideoInfo(videoid));
-								session.persist(avc);
-							}
-							session.flush();
-							session.getTransaction().commit();
-						}
-					}
-				} catch (Exception e) {
-					e.printStackTrace();
-					if (session.getTransaction().isActive())
-						session.getTransaction().rollback();
-				}
-				return null;
-			}
-		});
+                            session.createQuery("delete from AreaVideoCache a where a.categoryContry.id=" + se.getId())
+                                    .executeUpdate();
+                            for (int i = 0; i < list.size(); i++) {
+                                Object[] object = (Object[]) list.get(i);
+                                String videoid = object[0] + "";
+                                int count = Integer.parseInt(object[1] + "");
+                                AreaVideoCache avc = new AreaVideoCache();
+                                avc.setCategoryContry(se);
+                                avc.setCreatetime(System.currentTimeMillis() + "");
+                                avc.setOrderby(count);
+                                avc.setVideoInfo(new VideoInfo(videoid));
+                                session.persist(avc);
+                            }
+                            session.flush();
+                            session.getTransaction().commit();
+                        }
+                    }
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    if (session.getTransaction().isActive())
+                        session.getTransaction().rollback();
+                }
+                return null;
+            }
+        });
 
-	}
+    }
 
-	// 缁熻鏌愪釜瑙嗛鏌愭鏃堕棿鐨勬挱鏀炬暟)
-	public void videoPlayStatisticDuration(final String videoid, final long time) {
-		videoPlayStatisticsDao.excute(new HibernateCallback() {
-			public Object doInHibernate(Session session) throws HibernateException {
-				try {
-					String endTime = TimeUtil.getAllTime(System.currentTimeMillis());
-					String startTime = TimeUtil.getAllTime(System.currentTimeMillis() - time);
+    // 缁熻鏌愪釜瑙嗛鏌愭鏃堕棿鐨勬挱鏀炬暟)
+    public void videoPlayStatisticDuration(final String videoid, final long time) {
+        videoPlayStatisticsDao.excute(new HibernateCallback() {
+            public Object doInHibernate(Session session) throws HibernateException {
+                try {
+                    String endTime = TimeUtil.getAllTime(System.currentTimeMillis());
+                    String startTime = TimeUtil.getAllTime(System.currentTimeMillis() - time);
 
-					String sql = String.format(
-							"SELECT SUM(s.`playcount`) FROM wk_video_play_statistics s WHERE s.`videoid`=%s AND (UNIX_TIMESTAMP(s.`day`)>=UNIX_TIMESTAMP(%s) AND UNIX_TIMESTAMP(s.`day`)<=UNIX_TIMESTAMP(%s))",
-							videoid + "", "'" + startTime + "'", "'" + endTime + "'");
-					Object count = session.createSQLQuery(sql).uniqueResult();
-					if (StringUtil.isNullOrEmpty(count + ""))
-						count = 0 + "";
-					session.getTransaction().begin();
-					session.createSQLQuery("update wk_video_video v set v.latestwatchcount="
-							+ Integer.parseInt(count + "") + " where id=" + videoid).executeUpdate();
-					session.flush();
-					session.getTransaction().commit();
-				} catch (Exception e) {
-					e.printStackTrace();
-					if (session.getTransaction().isActive())
-						session.getTransaction().rollback();
-				}
-				return null;
-			}
-		});
+                    String sql = String.format(
+                            "SELECT SUM(s.`playcount`) FROM wk_video_play_statistics s WHERE s.`videoid`=%s AND (UNIX_TIMESTAMP(s.`day`)>=UNIX_TIMESTAMP(%s) AND UNIX_TIMESTAMP(s.`day`)<=UNIX_TIMESTAMP(%s))",
+                            videoid + "", "'" + startTime + "'", "'" + endTime + "'");
+                    Object count = session.createSQLQuery(sql).uniqueResult();
+                    if (StringUtil.isNullOrEmpty(count + ""))
+                        count = 0 + "";
+                    session.getTransaction().begin();
+                    session.createSQLQuery("update wk_video_video v set v.latestwatchcount="
+                            + Integer.parseInt(count + "") + " where id=" + videoid).executeUpdate();
+                    session.flush();
+                    session.getTransaction().commit();
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    if (session.getTransaction().isActive())
+                        session.getTransaction().rollback();
+                }
+                return null;
+            }
+        });
 
-	}
+    }
 
-	// 鍚屾瑙傜湅娆℃暟
-	public void refreshWatchCount(final String videoid) {
-		videoPlayStatisticsDao.excute(new HibernateCallback() {
-			public Object doInHibernate(Session session) throws HibernateException {
-				try {
-					session.getTransaction().begin();
-					session.createSQLQuery(
-							"UPDATE wk_video_video v SET v.`watchcount`=(  SELECT SUM(s.`playcount`) FROM wk_video_play_statistics s WHERE s.`videoid`=?) WHERE v.`id`=?")
-							.setParameter(0, videoid).setParameter(1, videoid).executeUpdate();
-					session.flush();
-					session.getTransaction().commit();
-				} catch (Exception e) {
-					e.printStackTrace();
-				}
-				return null;
-			}
-		});
+    // 鍚屾瑙傜湅娆℃暟
+    public void refreshWatchCount(final String videoid) {
+        videoPlayStatisticsDao.excute(new HibernateCallback() {
+            public Object doInHibernate(Session session) throws HibernateException {
+                try {
+                    session.getTransaction().begin();
+                    session.createSQLQuery(
+                            "UPDATE wk_video_video v SET v.`watchcount`=(  SELECT SUM(s.`playcount`) FROM wk_video_play_statistics s WHERE s.`videoid`=?) WHERE v.`id`=?")
+                            .setParameter(0, videoid).setParameter(1, videoid).executeUpdate();
+                    session.flush();
+                    session.getTransaction().commit();
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return null;
+            }
+        });
 
-	}
+    }
 
-	// 鍚屾璇勮鏁�
-	public void refreshVideoCommentCount(final String videoid) {
-		videoPlayStatisticsDao.excute(new HibernateCallback() {
-			public Object doInHibernate(Session session) throws HibernateException {
-				try {
-					session.getTransaction().begin();
-					session.createSQLQuery(
-							"UPDATE wk_video_video v SET v.`commentcount`=( SELECT COUNT(c.`id`) FROM wk_video_comment2 c WHERE c.`videoid`=?) WHERE v.`id`=?")
-							.setParameter(0, videoid).setParameter(1, videoid).executeUpdate();
-					session.flush();
-					session.getTransaction().commit();
-				} catch (Exception e) {
-					e.printStackTrace();
-				}
-				return null;
-			}
-		});
+    // 鍚屾璇勮鏁�
+    public void refreshVideoCommentCount(final String videoid) {
+        videoPlayStatisticsDao.excute(new HibernateCallback() {
+            public Object doInHibernate(Session session) throws HibernateException {
+                try {
+                    session.getTransaction().begin();
+                    session.createSQLQuery(
+                            "UPDATE wk_video_video v SET v.`commentcount`=( SELECT COUNT(c.`id`) FROM wk_video_comment2 c WHERE c.`videoid`=?) WHERE v.`id`=?")
+                            .setParameter(0, videoid).setParameter(1, videoid).executeUpdate();
+                    session.flush();
+                    session.getTransaction().commit();
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return null;
+            }
+        });
 
-	}
+    }
 
-	// 鍒锋柊瑙嗛璇︽儏鏁伴噺
-	public void refreshVideoDetailCount(final String videoid) {
-		List<VideoResource> list = videoResourceService.getResourceList();
-		List<Long> resourceList = new ArrayList<Long>();
-		for (VideoResource vr : list)
-			resourceList.add(Long.parseLong(vr.getId()));
-		VideoInfo info = videoDetailUtil.getVideoInfo(videoid, null, resourceList,
-				StringUtil.Md5(System.currentTimeMillis() + ""));
-		int count = 0;
-		if (info != null && info.getVideoDetailList() != null)
-			count = info.getVideoDetailList().size();
+    // 鍒锋柊瑙嗛璇︽儏鏁伴噺
+    public void refreshVideoDetailCount(final String videoid) {
+        List<VideoResource> list = videoResourceService.getResourceList();
+        List<Long> resourceList = new ArrayList<Long>();
+        for (VideoResource vr : list)
+            resourceList.add(Long.parseLong(vr.getId()));
+        VideoInfo info = videoDetailUtil.getVideoInfo(null, videoid, null, resourceList,
+                StringUtil.Md5(System.currentTimeMillis() + ""));
+        int count = 0;
+        if (info != null && info.getVideoDetailList() != null)
+            count = info.getVideoDetailList().size();
 
-		final int newCount = count;
-		videoPlayStatisticsDao.excute(new HibernateCallback() {
-			public Object doInHibernate(Session session) throws HibernateException {
-				try {
-					session.getTransaction().begin();
-					session.createSQLQuery("UPDATE wk_video_video v SET v.`videocount`=? WHERE v.`id`=?")
-							.setParameter(0, newCount).setParameter(1, videoid).executeUpdate();
-					session.flush();
-					session.getTransaction().commit();
-				} catch (Exception e) {
-					e.printStackTrace();
-				}
-				return null;
-			}
-		});
+        final int newCount = count;
+        videoPlayStatisticsDao.excute(new HibernateCallback() {
+            public Object doInHibernate(Session session) throws HibernateException {
+                try {
+                    session.getTransaction().begin();
+                    session.createSQLQuery("UPDATE wk_video_video v SET v.`videocount`=? WHERE v.`id`=?")
+                            .setParameter(0, newCount).setParameter(1, videoid).executeUpdate();
+                    session.flush();
+                    session.getTransaction().commit();
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return null;
+            }
+        });
 
-	}
+    }
 
 }

--
Gitblit v1.8.0