From eb7f3343af839a7c71f16e8ada2b25d5e2201c08 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 19 四月 2021 19:27:52 +0800 Subject: [PATCH] bug修复 --- src/main/java/com/yeshi/buwan/service/imp/HomeTypeService.java | 31 +++++++++++++++++++++++-------- 1 files changed, 23 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/service/imp/HomeTypeService.java b/src/main/java/com/yeshi/buwan/service/imp/HomeTypeService.java index c217896..5aedd79 100644 --- a/src/main/java/com/yeshi/buwan/service/imp/HomeTypeService.java +++ b/src/main/java/com/yeshi/buwan/service/imp/HomeTypeService.java @@ -66,11 +66,11 @@ resourceWhere = resourceWhere.substring(0, resourceWhere.length() - 2); List resultList = session .createSQLQuery( - "SELECT ht.`id` as htid,ht.`name` as htname,ht.`columns` as htcolumns ,ht.`hasmore`,ht.`activity` ,ht.`params` ,ht.`ioscontrol`,ht.number,hvideo.id as hvid,hvideo.`videoid` AS hvvideoid,hvideo.`picture`as hvpicture ,hvideo.`tag` as hvtag, v.`id` as vid ,v.`picture` as vpicture ,v.`name` as vname ,v.`tag` as vtag ,v.`hpicture` as vhpicture ,v.`latest_hpicture` as vlatest_hpicture ,v.`watchcount` as vwatchcount,v.commentcount,ht.icon as hicon,ht.orderby as htorder,hvideo.orderby as hvorder,need_ad,big_picture FROM (SELECT hv.* FROM `wk_resource_video` rv LEFT JOIN `wk_video_homevideo` hv ON rv.`videoid` =hv.`videoid` LEFT JOIN `wk_video_video` v ON v.`id` =hv.`videoid` LEFT JOIN `wk_video_banquan_video` bv ON bv.`videoid`=hv.`videoid` AND bv.`detailsystemid`=" + "SELECT ht.`id` as htid,ht.`name` as htname,ht.`columns` as htcolumns ,ht.`hasmore`,ht.`activity` ,ht.`params` ,ht.`ioscontrol`,ht.number,hvideo.id as hvid,hvideo.`videoid` AS hvvideoid,hvideo.`picture`as hvpicture ,hvideo.`tag` as hvtag, v.`id` as vid ,v.`picture` as vpicture ,v.`name` as vname ,v.`tag` as vtag ,v.`hpicture` as vhpicture ,v.`latest_hpicture` as vlatest_hpicture ,v.`watchcount` as vwatchcount,v.commentcount,ht.icon as hicon,ht.orderby as htorder,hvideo.orderby as hvorder,need_ad,big_picture,refresh_position,more_tag FROM (SELECT hv.* FROM `wk_resource_video` rv LEFT JOIN `wk_video_homevideo` hv ON rv.`videoid` =hv.`videoid` LEFT JOIN `wk_video_video` v ON v.`id` =hv.`videoid` LEFT JOIN `wk_video_banquan_video` bv ON bv.`videoid`=hv.`videoid` AND bv.`detailsystemid`=" + detailSystem + " AND bv.`show`=1 LEFT JOIN `wk_video_hometype` ht ON ht.id=hv.hometype WHERE (hv.`id`>0 AND v.`show` =1 AND ht.special_data_key='" + dataKey + "' AND (" + resourceWhere - + " ) AND bv.`videoid` IS NULL ) GROUP BY (hv.`id`) ORDER BY hv.big_picture desc, hv.`orderby` desc,v.createtime DESC ) hvideo LEFT JOIN `wk_video_super_hometype` sht ON sht.`hometypeid`=hvideo.hometype LEFT JOIN `wk_video_hometype` ht ON sht.`hometypeid` =ht.`id` LEFT JOIN wk_video_video v ON v.`id`=hvideo.videoid WHERE sht.`detailsystemid` =" + detailSystem + " ORDER BY hvideo.`orderby` DESC,v.orderby desc,v.updatetime desc") + + " ) AND bv.`videoid` IS NULL ) GROUP BY (hv.`id`) ORDER BY hv.`orderby` desc,v.createtime DESC ) hvideo LEFT JOIN `wk_video_super_hometype` sht ON sht.`hometypeid`=hvideo.hometype LEFT JOIN `wk_video_hometype` ht ON sht.`hometypeid` =ht.`id` LEFT JOIN wk_video_video v ON v.`id`=hvideo.videoid WHERE sht.`detailsystemid` =" + detailSystem + " ORDER BY hvideo.big_picture desc, hvideo.`orderby` DESC,v.orderby desc,v.updatetime desc") .list(); List<HomeType> homeTypeList = new ArrayList<>(); Map<String, Integer> homeTypeVideoCountMap = new HashMap<>(); @@ -85,6 +85,8 @@ ht.setParams(obj[5] + ""); ht.setIosControl(obj[6] + ""); ht.setNumber(Integer.parseInt(obj[7] + "")); + ht.setRefreshPosition(Integer.parseInt(obj[25] + "")); + ht.setMoreTag(obj[26] + ""); ht.setOrderby(obj[21] + ""); @@ -94,7 +96,7 @@ hv.setId(obj[8] + ""); hv.setPicture(obj[10] + ""); hv.setTag(obj[11] + ""); - hv.setBigPicture(Boolean.parseBoolean(obj[24] + "")); + hv.setBigPicture(Integer.parseInt(obj[24] + "") > 0); VideoInfo video = new VideoInfo(); video.setId(obj[12] + ""); @@ -140,7 +142,7 @@ //璁$畻宸叉湁澶у浘鏁伴噺 int bigCount = 0; for (HomeVideo hv1 : eHomeType.getHomeVideoList()) { - if (hv.getBigPicture()) { + if (hv1.getBigPicture()) { bigCount++; } } @@ -201,6 +203,17 @@ return homeTypeList; } + @Cacheable(value = "homeCache", key = "'getHomeTypeList'+'-'+#detailSystem+'-'+#version+'-'+#dataKey+'-'+#page+'-'+#pageSize") + public List<HomeType> getHomeTypeList(String detailSystem, int version, String dataKey, int page, int pageSize) { + return homeTypeDao.list("select sht.homeType from SuperHomeType sht where sht.detailSystem.id=? and sht.homeType.specialDataKey=? order by sht.homeType.orderby DESC,sht.homeType.createtime DESC", (page - 1) * pageSize, pageSize, new Serializable[]{detailSystem, dataKey}); + } + + @Cacheable(value = "homeCache", key = "'countHomeType'+'-'+#detailSystem+'-'+#version+'-'+#dataKey") + public long countHomeType(String detailSystem, int version, String dataKey) { + return homeTypeDao.getCount("select count(*) from SuperHomeType sht where sht.detailSystem.id=? and sht.homeType.specialDataKey=?", new Serializable[]{detailSystem, dataKey}); + } + + private void orderByType(List<HomeType> homeTypeList) { Collections.sort(homeTypeList, new Comparator<HomeType>() { public int compare(HomeType o1, HomeType o2) { @@ -208,6 +221,7 @@ } }); } + private int index(List<HomeType> list, HomeType ht) { if (list == null) @@ -351,7 +365,8 @@ } - public List<HomeVideo> getHomeVideoList(String homeId, List<Long> resourceIds, Boolean bigPicture, int page, int pageSize) { + @Cacheable(value = "homeCache", key = "'getHomeVideoList-'+#homeId+'-'+#resourceKey+'-'+#bigPicture+'-'+#page+'-'+#pageSize") + public List<HomeVideo> getHomeVideoList(String homeId, String resourceKey, List<Long> resourceIds, Boolean bigPicture, int page, int pageSize) { List<HomeVideo> homeVideos = (List<HomeVideo>) homeVideoDao.excute(new HibernateCallback<List<HomeVideo>>() { @Override public List<HomeVideo> doInHibernate(Session session) throws HibernateException { @@ -366,7 +381,7 @@ if (bigPicture != null) { sql += " and hv.big_picture=" + (bigPicture ? 1 : 0); } - sql += "GROUP BY hv.id ORDER BY hv.big_picture desc,hv.`orderby` DESC,hv.`createtime` DESC"; + sql += " GROUP BY hv.id ORDER BY hv.big_picture desc,hv.`orderby` DESC,hv.`createtime` DESC"; return session.createSQLQuery(sql).addEntity(HomeVideo.class).setFirstResult((page - 1) * pageSize).setMaxResults(pageSize).list(); } @@ -381,8 +396,8 @@ return homeVideos; } - - public long getHomeVideoListCount(String homeId, List<Long> resourceIds, Boolean bigPicture) { + @Cacheable(value = "homeCache", key = "'getHomeVideoListCount-'+#homeId+'-'+#resourceKey+'-'+#bigPicture") + public long getHomeVideoListCount(String homeId, String resourceKey, List<Long> resourceIds, Boolean bigPicture) { return (Long) homeVideoDao.excute(new HibernateCallback<Long>() { @Override public Long doInHibernate(Session session) throws HibernateException { -- Gitblit v1.8.0