From f788607ff771a47bc60d6a86e00b3433c40f3d2c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 24 九月 2021 15:22:03 +0800 Subject: [PATCH] 接入视频直播 --- src/main/java/com/yeshi/buwan/service/imp/HomeTypeService.java | 978 ++++++++++++++++++++++++++++----------------------------- 1 files changed, 482 insertions(+), 496 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 146fceb..7d9bae7 100644 --- a/src/main/java/com/yeshi/buwan/service/imp/HomeTypeService.java +++ b/src/main/java/com/yeshi/buwan/service/imp/HomeTypeService.java @@ -1,30 +1,22 @@ package com.yeshi.buwan.service.imp; import java.io.Serializable; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.Iterator; -import java.util.List; +import java.util.*; import javax.annotation.Resource; +import com.yeshi.buwan.dao.*; +import com.yeshi.buwan.dao.system.DetailSystemDao; +import com.yeshi.buwan.domain.*; +import com.yeshi.buwan.domain.system.DetailSystem; +import com.yeshi.buwan.service.inter.video.VideoInfoExtraService; +import com.yeshi.buwan.util.VersionUtil; import org.hibernate.HibernateException; import org.hibernate.Session; import org.springframework.cache.annotation.Cacheable; import org.springframework.orm.hibernate4.HibernateCallback; import org.springframework.stereotype.Service; -import com.yeshi.buwan.dao.DetailSystemDao; -import com.yeshi.buwan.dao.HomeTypeDao; -import com.yeshi.buwan.dao.HomeVideoDao; -import com.yeshi.buwan.dao.SuperHomeTypeDao; -import com.yeshi.buwan.dao.VideoInfoDao; -import com.yeshi.buwan.domain.DetailSystem; -import com.yeshi.buwan.domain.HomeType; -import com.yeshi.buwan.domain.HomeVideo; -import com.yeshi.buwan.domain.SuperHomeType; -import com.yeshi.buwan.domain.VideoInfo; import com.yeshi.buwan.domain.web.DetailSystemSelect; import com.yeshi.buwan.domain.web.HomeTypeAdmin; import com.yeshi.buwan.util.Constant; @@ -32,567 +24,561 @@ @Service public class HomeTypeService { - @Resource - private HomeTypeDao homeTypeDao; - @Resource - private HomeVideoDao homeVideoDao; - @Resource - private VideoInfoDao videoInfoDao; - @Resource - private SuperHomeTypeDao superHomeTypeDao; - @Resource - private DetailSystemDao detailSystemDao; + @Resource + private HomeTypeDao homeTypeDao; + @Resource + private HomeVideoDao homeVideoDao; + @Resource + private VideoInfoDao videoInfoDao; + @Resource + private SuperHomeTypeDao superHomeTypeDao; + @Resource + private DetailSystemDao detailSystemDao; - public List<HomeType> getHomeType() { - List<HomeType> list = homeTypeDao.list("from HomeType h order by h.orderby desc"); + @Resource + private VideoInfoExtraService videoInfoExtraService; - return getHomeType(list); - } + public List<HomeType> getHomeTypeDetailList() { + List<HomeType> list = homeTypeDao.list("from HomeType h order by h.orderby desc"); - @SuppressWarnings("unchecked") - @Cacheable(value = "homeCache", key = "'getHomeType'+'-'+#detailSystem+'-'+#cacheMd5+'-'+#maxNumber+'-'+#vtid") - public List<HomeType> getHomeType(final String detailSystem, final List<Long> resourceIds, String cacheMd5, - final int maxNumber, final long vtid) { - return (List<HomeType>) homeTypeDao.excute(new HibernateCallback<List<HomeType>>() { - public List<HomeType> doInHibernate(Session session) throws HibernateException { + return getHomeType(list); + } - return (List<HomeType>) homeTypeDao.excute(new HibernateCallback<List<HomeType>>() { - public List<HomeType> doInHibernate(Session session) throws HibernateException { - try { - String resourceWhere = ""; - for (Long rid : resourceIds) - resourceWhere += String.format(" rv.`resourceid`=%d or", rid); - if (resourceWhere.endsWith("or")) - resourceWhere = resourceWhere.substring(0, resourceWhere.length() - 2); + public List<HomeType> getHomeTypeList(String systemId) { + List<HomeType> list = homeTypeDao.list("from HomeType h where h.system.id=? order by h.orderby desc", systemId); + return list; + } - // 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 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 WHERE - // (hv.`id`>0 AND v.`show` =1 AND (" - // + resourceWhere - // + " AND bv.`videoid` IS NULL) ) GROUP BY - // (hv.`id`) ORDER BY v.`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` - // =? ORDER BY hvideo.`orderby` DESC,v.orderby - // desc,v.updatetime desc") - // .setParameter(0, - // Long.parseLong(detailSystem)).list(); - 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 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.vtid='" - + vtid + "' AND (" + resourceWhere - + " 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` =? ORDER BY hvideo.`orderby` DESC,v.orderby desc,v.updatetime desc") - .setParameter(0, Long.parseLong(detailSystem)).list(); - List<HomeType> homeTypeList = new ArrayList<HomeType>(); - for (int i = 0; i < resultList.size(); i++) { - Object[] obj = (Object[]) resultList.get(i); - HomeType ht = new HomeType(); - ht.setId(obj[0] + ""); - ht.setName(obj[1] + ""); - ht.setColumns(Integer.parseInt(obj[2] + "")); - ht.setHasMore(Boolean.parseBoolean(obj[3] + "")); - ht.setActivity(obj[4] + ""); - ht.setParams(obj[5] + ""); - ht.setIosControl(obj[6] + ""); - ht.setNumber(Integer.parseInt(obj[7] + "")); + @SuppressWarnings("unchecked") + @Cacheable(value = "homeCache", key = "'getHomeType'+'-'+#detailSystem+'-'+#version+'-'+#cacheMd5+'-'+#maxNumber+'-'+#dataKey") + public List<HomeType> getHomeType(final String detailSystem, final String platform, final int version, final List<Long> resourceIds, String cacheMd5, + final int maxNumber, final String dataKey) { + List<HomeType> homeTypeList = (List<HomeType>) homeTypeDao.excute(new HibernateCallback<List<HomeType>>() { + public List<HomeType> doInHibernate(Session session) throws HibernateException { - ht.setOrderby(obj[21] + ""); + return (List<HomeType>) homeTypeDao.excute(new HibernateCallback<List<HomeType>>() { + public List<HomeType> doInHibernate(Session session) throws HibernateException { + try { + String resourceWhere = ""; + for (Long rid : resourceIds) + resourceWhere += String.format(" rv.`resourceid`=%d or", rid); + if (resourceWhere.endsWith("or")) + 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,hvideo.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.`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<>(); + for (int i = 0; i < resultList.size(); i++) { + Object[] obj = (Object[]) resultList.get(i); + HomeType ht = new HomeType(); + ht.setId(obj[0] + ""); + ht.setName(obj[1] + ""); + ht.setColumns(Integer.parseInt(obj[2] + "")); + ht.setHasMore(Boolean.parseBoolean(obj[3] + "")); + ht.setActivity(obj[4] + ""); + ht.setParams(obj[5] + ""); + ht.setIosControl(obj[6] + ""); + ht.setNumber(Integer.parseInt(obj[7] + "")); + ht.setRefreshPosition(Integer.parseInt(obj[25] + "")); + ht.setMoreTag(obj[26] + ""); - HomeVideo hv = new HomeVideo(); - hv.setId(obj[8] + ""); - hv.setPicture(obj[10] + ""); - hv.setTag(obj[11] + ""); - VideoInfo video = new VideoInfo(); - video.setId(obj[12] + ""); - video.setPicture(obj[13] + ""); - video.setName(obj[14] + ""); - video.setTag(obj[15] + ""); - video.setHpicture(obj[16] + ""); - video.setLatestHpicture(obj[17] + ""); - video.setWatchCount(obj[18] + ""); - video.setCommentCount(Integer.parseInt(obj[19] + "")); + ht.setOrderby(obj[21] + ""); + ht.setNeedAd(Boolean.parseBoolean(obj[23] + "")); - ht.setIcon(obj[20] + ""); - hv.setVideo(video); - hv.setOrderby(Integer.parseInt(obj[22] + "")); - // System.out.println(ht.getName() + "--" + - // hv.getVideo().getName()); + HomeVideo hv = new HomeVideo(); + hv.setId(obj[8] + ""); + hv.setPicture(obj[10] + ""); + hv.setTag(obj[11] + ""); +// hv.setBigPicture(Integer.parseInt(obj[24] + "") > 0); - // 鏇存敼鍥剧墖鏄剧ず - if (!StringUtil.isNullOrEmpty(hv.getVideo().getLatestHpicture())) - hv.getVideo().setPicture(hv.getVideo().getLatestHpicture()); - else - hv.getVideo().setPicture(hv.getVideo().getHpicture()); + VideoInfo video = new VideoInfo(); + video.setId(obj[12] + ""); + video.setPicture(obj[13] + ""); + video.setName(obj[14] + ""); + video.setTag(obj[15] + ""); + video.setHpicture(obj[16] + ""); + video.setLatestHpicture(obj[17] + ""); + video.setWatchCount(obj[18] + ""); + video.setCommentCount(obj[19] != null ? Integer.parseInt(obj[19] + "") : 0); - if (StringUtil.isNullOrEmpty(hv.getPicture())) - hv.setPicture(hv.getVideo().getPicture()); + ht.setIcon(obj[20] + ""); + hv.setVideo(video); + hv.setOrderby(Integer.parseInt(obj[22] + "")); + // System.out.println(ht.getName() + "--" + + // hv.getVideo().getName()); - if (StringUtil.isNullOrEmpty(hv.getTag())) - hv.setTag(hv.getVideo().getTag()); + // 鏇存敼鍥剧墖鏄剧ず + //濡傛灉涓虹珫鐗� + if (ht.getColumns() == 2) { + if (!StringUtil.isNullOrEmpty(hv.getVideo().getLatestHpicture())) + hv.getVideo().setPicture(hv.getVideo().getLatestHpicture()); + else + hv.getVideo().setPicture(hv.getVideo().getHpicture()); + } else { +// hv.getVideo().setPicture(hv.getVideo().getVpicture()); + } - int index = index(homeTypeList, ht); - if (index > -1) { - HomeType eHomeType = homeTypeList.get(index); - int mn = eHomeType.getNumber(); - if (maxNumber > -1)// 鏍规嵁maxNumber鐨勬暟閲忔潵,閫傜敤浜庣綉椤� - mn = maxNumber; + if (StringUtil.isNullOrEmpty(hv.getPicture())) + hv.setPicture(hv.getVideo().getPicture()); - if (eHomeType.getHomeVideoList().size() < mn)// 鍔犲叆鎸囧畾鐨勬暟閲忕殑鏁版嵁 - { - eHomeType.getHomeVideoList().add(hv); - } + if (StringUtil.isNullOrEmpty(hv.getTag())) + hv.setTag(hv.getVideo().getTag()); - } else { - List<HomeVideo> videolist = new ArrayList<HomeVideo>(); - videolist.add(hv); - ht.setHomeVideoList(videolist); - homeTypeList.add(ht); - } - } + int index = index(homeTypeList, ht); + if (index > -1) { + HomeType eHomeType = homeTypeList.get(index); + int mn = eHomeType.getNumber(); + if (maxNumber > -1)// 鏍规嵁maxNumber鐨勬暟閲忔潵,閫傜敤浜庣綉椤� + mn = maxNumber; - // for (HomeType homeType : homeTypeList) { - // List<HomeVideo> list = - // homeType.getHomeVideoList(); - // orderByVideo(list); - // } - orderByType(homeTypeList); + if (VersionUtil.isGraterThan390(platform, version)) { + //璁$畻宸叉湁澶у浘鏁伴噺 + int bigCount = 0; + for (HomeVideo hv1 : eHomeType.getHomeVideoList()) { + if (hv1.getBigPicture()) { + bigCount++; + } + } + mn += bigCount; + } - return homeTypeList; - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } + if (homeTypeVideoCountMap.get(eHomeType.getId()) == null) { + homeTypeVideoCountMap.put(eHomeType.getId(), 0); + } + homeTypeVideoCountMap.put(eHomeType.getId(), homeTypeVideoCountMap.get(eHomeType.getId()) + 1); + if (eHomeType.getHomeVideoList().size() < mn)// 鍔犲叆鎸囧畾鐨勬暟閲忕殑鏁版嵁 + { + eHomeType.getHomeVideoList().add(hv); + } - }); - } - }); - } + } else { + List<HomeVideo> videolist = new ArrayList<>(); + videolist.add(hv); + ht.setHomeVideoList(videolist); + homeTypeList.add(ht); + } + } - private void orderByType(List<HomeType> homeTypeList) { - Collections.sort(homeTypeList, new Comparator<HomeType>() { - public int compare(HomeType o1, HomeType o2) { - return Integer.parseInt(o2.getOrderby()) - Integer.parseInt(o1.getOrderby()); - } - }); - } + // for (HomeType homeType : homeTypeList) { + // List<HomeVideo> list = + // homeType.getHomeVideoList(); + // orderByVideo(list); + // } + orderByType(homeTypeList); - private int index(List<HomeType> list, HomeType ht) { - if (list == null) - return -1; - for (int i = 0; i < list.size(); i++) { - if (list.get(i).getId().equalsIgnoreCase(ht.getId())) - return i; - } - return -1; - } + for (HomeType ht : homeTypeList) { + //璁剧疆鏁伴噺 + if (homeTypeVideoCountMap.containsKey(ht.getId())) + ht.setCount(homeTypeVideoCountMap.get(ht.getId())); + } + return homeTypeList; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } - public List<HomeType> getHomeType(String detailSystem) { - List<HomeType> list = homeTypeDao.list("select h.homeType from SuperHomeType h where h.detailSystem.id=" - + detailSystem + " order by h.homeType.orderby desc"); - return getHomeType(list, detailSystem); - } + }); - public HomeVideo getHomeVideoById(String homeVideoId) { - return homeVideoDao.find(HomeVideo.class, homeVideoId); - } + } + }); + List<VideoInfo> videoInfoList = new ArrayList<>(); + for (HomeType ht : homeTypeList) { + if (ht.getHomeVideoList() != null) + for (HomeVideo hv : ht.getHomeVideoList()) { + if (hv.getVideo() != null) + videoInfoList.add(hv.getVideo()); + } + } - public HomeType getHomeTypeById(String id) { + videoInfoExtraService.batchExtra(videoInfoList, resourceIds); + return homeTypeList; + } - return homeTypeDao.find(HomeType.class, id); - } + @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}); + } - public void deleteSuperHomeTypeByType(String homeType) { - List<SuperHomeType> list = superHomeTypeDao.list("from SuperHomeType sh where sh.homeType.id=" + homeType); - for (SuperHomeType sht : list) { - superHomeTypeDao.delete(sht); - } - } + @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}); + } - @SuppressWarnings({ "unchecked", "rawtypes" }) - public void deleteHomeType(final String id) { - homeTypeDao.excute(new HibernateCallback() { - public Object doInHibernate(Session session) throws HibernateException { - try { - session.getTransaction().begin(); - List<SuperHomeType> spList = session.createQuery("from SuperHomeType sht where sht.homeType.id=?") - .setParameter(0, id).list(); - for (SuperHomeType sp : spList) - session.delete(sp); - List<HomeVideo> homeVideoList = session.createQuery("from HomeVideo hv where hv.type.id=?") - .setParameter(0, id).list(); - for (HomeVideo sp : homeVideoList) - session.delete(sp); + private void orderByType(List<HomeType> homeTypeList) { + Collections.sort(homeTypeList, new Comparator<HomeType>() { + public int compare(HomeType o1, HomeType o2) { + return Integer.parseInt(o2.getOrderby()) - Integer.parseInt(o1.getOrderby()); + } + }); + } - session.delete(new HomeType(id)); - session.flush(); - session.getTransaction().commit(); - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } - }); + private int index(List<HomeType> list, HomeType ht) { + if (list == null) + return -1; + for (int i = 0; i < list.size(); i++) { + if (list.get(i).getId().equalsIgnoreCase(ht.getId())) + return i; + } + return -1; + } - } + public List<HomeType> getHomeType(String detailSystem) { + List<HomeType> list = homeTypeDao.list("select h.homeType from SuperHomeType h where h.detailSystem.id=" + + detailSystem + " order by h.homeType.orderby desc"); + return getHomeType(list, detailSystem); + } - public void updateHomeType(HomeType type) { + public HomeVideo getHomeVideoById(String homeVideoId) { + return homeVideoDao.find(HomeVideo.class, homeVideoId); + } - homeTypeDao.update(type); - } + public HomeType getHomeTypeById(String id) { - public void updateHomeVideo(HomeVideo type) { + return homeTypeDao.find(HomeType.class, id); + } - homeVideoDao.update(type); - } + public void deleteSuperHomeTypeByType(String homeType) { + List<SuperHomeType> list = superHomeTypeDao.list("from SuperHomeType sh where sh.homeType.id=" + homeType); + for (SuperHomeType sht : list) { + superHomeTypeDao.delete(sht); + } + } - public List<DetailSystemSelect> getDetailSystemSelectByType(String homeType) { - List<DetailSystemSelect> li = new ArrayList<DetailSystemSelect>(); - List<DetailSystem> list = detailSystemDao - .list("select sht.detailSystem from SuperHomeType sht where sht.homeType.id=" + homeType); - List<DetailSystem> sdList = detailSystemDao.list("from DetailSystem"); - for (DetailSystem ds : sdList) { - boolean contains = false; - for (DetailSystem dsm : list) { - if (dsm.getId().equalsIgnoreCase(ds.getId())) { - contains = true; - break; - } - } - DetailSystemSelect dss = new DetailSystemSelect(); - dss.setSelected(contains ? true : false); - dss.setDetailSystem(ds); - li.add(dss); - } - return li; - } + @SuppressWarnings({"unchecked", "rawtypes"}) + public void deleteHomeType(final String id) { + homeTypeDao.excute(new HibernateCallback() { + public Object doInHibernate(Session session) throws HibernateException { + try { + session.getTransaction().begin(); + List<SuperHomeType> spList = session.createQuery("from SuperHomeType sht where sht.homeType.id=?") + .setParameter(0, id).list(); + for (SuperHomeType sp : spList) + session.delete(sp); - public void addHomeTypeVideo(HomeVideo video) { + List<HomeVideo> homeVideoList = session.createQuery("from HomeVideo hv where hv.type.id=?") + .setParameter(0, id).list(); + for (HomeVideo sp : homeVideoList) + session.delete(sp); - long count = homeVideoDao.getCount("select count(*) from HomeVideo h where h.type.id=? and h.video.id=?", - new String[] { video.getType().getId(), video.getVideo().getId() }); - if (count <= 0L) - homeVideoDao.create(video); - } + session.delete(session.get(HomeType.class, id)); + session.flush(); + session.getTransaction().commit(); + } catch (Exception e) { + e.printStackTrace(); + } - public void addHomeTypeVideo(List<HomeVideo> list) { - HomeVideo info; - for (Iterator<HomeVideo> iterator = list.iterator(); iterator.hasNext(); addHomeTypeVideo(info)) - info = (HomeVideo) iterator.next(); - } + return null; + } + }); - public void deleteHomeVideo(HomeVideo video) { + } - homeVideoDao.delete(video); - } + public void updateHomeType(HomeType type) { - public void deleteHomeTypeVideo(List<HomeVideo> list) { - HomeVideo video; - for (Iterator<HomeVideo> iterator = list.iterator(); iterator.hasNext(); deleteHomeVideo(video)) - video = (HomeVideo) iterator.next(); - } + homeTypeDao.update(type); + } - public long getHomeVideoCount(String homeId) { + public List<DetailSystemSelect> getDetailSystemSelectByType(String homeType) { + List<DetailSystemSelect> li = new ArrayList<>(); + List<DetailSystem> list = detailSystemDao + .list("select sht.detailSystem from SuperHomeType sht where sht.homeType.id=" + homeType); + List<DetailSystem> sdList = detailSystemDao.list("from DetailSystem"); + for (DetailSystem ds : sdList) { + boolean contains = false; + for (DetailSystem dsm : list) { + if (dsm.getId().equalsIgnoreCase(ds.getId())) { + contains = true; + break; + } + } + DetailSystemSelect dss = new DetailSystemSelect(); + dss.setSelected(contains ? true : false); + dss.setDetailSystem(ds); + li.add(dss); + } + return li; + } - return homeVideoDao.getCount("from HomeVideo h where h.type.id=?", new String[] { homeId }); - } - public long getHomeTypeVideoPage(String homeId) { - long count = getHomeVideoCount(homeId); - return count % (long) Constant.pageCount != 0L ? count / (long) Constant.pageCount + 1L - : count / (long) Constant.pageCount; - } + public Serializable addHomeType(HomeType type) { + return homeTypeDao.save(type); + } - public List<HomeVideo> getHomeVideoList(String homeId, int page) { + @SuppressWarnings("unchecked") + private List<HomeType> getHomeType(final List<HomeType> list) { + homeTypeDao.excute(new HibernateCallback<List<HomeType>>() { + public List<HomeType> doInHibernate(Session session) throws HibernateException { + try { + for (int i = 0; i < list.size(); i++) { + List<HomeVideo> videoList = session + .createQuery( + "select h from HomeVideo h where h.video.show='1' and hometype=:hometype order by h.video.orderby desc,h.video.watchCount desc,h.video.createtime desc") + .setParameter("hometype", ((HomeType) list.get(i)).getId()).setFirstResult(0) + .setMaxResults(list.get(i).getNumber()).list(); + ((HomeType) list.get(i)).setHomeVideoList(videoList); + } + } catch (Exception e) { + e.printStackTrace(); + } + return list; - return homeVideoDao.list( - "from HomeVideo h where h.type.id=? order by h.video.orderby desc,h.video.watchCount desc,h.createtime desc", - (page - 1) * Constant.pageCount, Constant.pageCount, new String[] { homeId }); - } + } + }); + return list; - public List<HomeVideo> getHomeVideoList(String homeId, String key, int page) { - return homeVideoDao.list( - "from HomeVideo h where h.type.id=? and h.video.name like ? order by h.video.orderby desc,h.video.watchCount desc,h.createtime desc", - (page - 1) * Constant.pageCount, Constant.pageCount, new String[] { homeId, "%" + key + "%" }); - } + } - public long getHomeVideoListCount(String homeId, String key) { - return homeVideoDao.getCount("select count(*) from HomeVideo h where h.type.id=? and h.video.name like ? ", - new String[] { homeId, "%" + key + "%" }); - } + @SuppressWarnings("unchecked") + private List<HomeType> getHomeType(final List<HomeType> list, final String detailSystem) { + return (List<HomeType>) homeTypeDao.excute(new HibernateCallback<List<HomeType>>() { + public List<HomeType> doInHibernate(Session session) throws HibernateException { + try { + for (int i = 0; i < list.size(); i++) { + List<HomeVideo> videoList = session + .createSQLQuery( + "SELECT h.* FROM wk_video_homevideo h LEFT JOIN wk_video_video v ON v.`id`=h.`videoid` LEFT JOIN wk_resource_video rv on rv.videoid= WHERE v.id=h.videoid AND v.show=1 AND h.`hometype`=? ORDER BY v.orderby DESC,v.`watchcount` DESC,h.createtime DESC") + .addEntity(HomeVideo.class).setParameter(0, detailSystem) + .setParameter(1, ((HomeType) list.get(i)).getId()).setFirstResult(0) + .setMaxResults(list.get(i).getNumber()).list(); + for (HomeVideo hv : videoList) { + if (!StringUtil.isNullOrEmpty(hv.getVideo().getLatestHpicture())) + hv.getVideo().setPicture(hv.getVideo().getLatestHpicture()); + else + hv.getVideo().setPicture(hv.getVideo().getHpicture()); + } - public Serializable addHomeType(HomeType type) { - return homeTypeDao.save(type); - } + ((HomeType) list.get(i)).setHomeVideoList(videoList); + } + } catch (Exception e) { + e.printStackTrace(); + } + return list; + } + }); - @SuppressWarnings("unchecked") - private List<HomeType> getHomeType(final List<HomeType> list) { - homeTypeDao.excute(new HibernateCallback<List<HomeType>>() { - public List<HomeType> doInHibernate(Session session) throws HibernateException { - try { - for (int i = 0; i < list.size(); i++) { - List<HomeVideo> videoList = session - .createQuery( - "select h from HomeVideo h LEFT JOIN h.video as v where v.id=h.video.id and h.video.show='1' and hometype=:hometype order by v.orderby desc,v.watchCount desc,h.createtime desc") - .setParameter("hometype", ((HomeType) list.get(i)).getId()).setFirstResult(0) - .setMaxResults(list.get(i).getNumber()).list(); - ((HomeType) list.get(i)).setHomeVideoList(videoList); - } - } catch (Exception e) { - e.printStackTrace(); - } - return list; + } - } - }); - return list; + @SuppressWarnings("unchecked") + public HomeType getHomeType(final HomeType ht, final String detailSystem) { - } + return (HomeType) homeTypeDao.excute(new HibernateCallback<HomeType>() { + public HomeType doInHibernate(Session session) throws HibernateException { + try { + List<HomeVideo> videoList = session + .createSQLQuery( + "SELECT h.* FROM wk_video_homevideo h LEFT JOIN wk_video_video v ON v.`id`=h.`videoid` LEFT JOIN wk_video_banquan_video bv ON bv.`videoid`=v.`id` and bv.detailsystemid=? and bv.show=1 WHERE v.id=h.videoid AND v.show=1 AND h.`hometype`=? and (bv.videoid is null) ORDER BY v.orderby DESC,v.`watchcount` DESC,h.createtime DESC") + .addEntity(HomeVideo.class).setParameter(0, detailSystem) + .setParameter(1, ((HomeType) ht).getId()).setFirstResult(0).setMaxResults(ht.getNumber()) + .list(); + ((HomeType) ht).setHomeVideoList(videoList); - @SuppressWarnings("unchecked") - private List<HomeType> getHomeType(final List<HomeType> list, final String detailSystem) { - return (List<HomeType>) homeTypeDao.excute(new HibernateCallback<List<HomeType>>() { - public List<HomeType> doInHibernate(Session session) throws HibernateException { - try { - for (int i = 0; i < list.size(); i++) { - List<HomeVideo> videoList = session - .createSQLQuery( - "SELECT h.* FROM wk_video_homevideo h LEFT JOIN wk_video_video v ON v.`id`=h.`videoid` LEFT JOIN wk_resource_video rv on rv.videoid= WHERE v.id=h.videoid AND v.show=1 AND h.`hometype`=? ORDER BY v.orderby DESC,v.`watchcount` DESC,h.createtime DESC") - .addEntity(HomeVideo.class).setParameter(0, detailSystem) - .setParameter(1, ((HomeType) list.get(i)).getId()).setFirstResult(0) - .setMaxResults(list.get(i).getNumber()).list(); - for (HomeVideo hv : videoList) { - if (!StringUtil.isNullOrEmpty(hv.getVideo().getLatestHpicture())) - hv.getVideo().setPicture(hv.getVideo().getLatestHpicture()); - else - hv.getVideo().setPicture(hv.getVideo().getHpicture()); - } + } catch (Exception e) { + e.printStackTrace(); + } + return ht; + } + }); - ((HomeType) list.get(i)).setHomeVideoList(videoList); - } - } catch (Exception e) { - e.printStackTrace(); - } - return list; - } - }); + } - } + @Cacheable(value = "homeCache", key = "'getVideoByTypes'+'-'+#homeType+'-'+#page+'-'+#ds.id") + public List<HomeVideo> getVideoByTypes(String homeType, int page, DetailSystem ds) { + List<HomeVideo> list = null; + String sql = "select h from HomeVideo h LEFT JOIN h.juhe as v where v.id=h.video.id and h.video.show='1' and h.type.id=? order by h.video.orderby desc,h.video.watchCount desc,h.createtime desc"; + if (ds.getPackageName().contains("doudou")) + sql = "select h from HomeVideo h LEFT JOIN h.juhe as v where v.id=h.video.id and h.video.show='1' and h.type.id=? order by h.video.year desc, h.video.month desc,h.video.day desc,h.createtime desc"; + list = homeVideoDao.list(sql, (page - 1) * Constant.pageCount, Constant.pageCount, new String[]{homeType}); + return list; + } - @SuppressWarnings("unchecked") - public HomeType getHomeType(final HomeType ht, final String detailSystem) { + public List<VideoInfo> getIOSTestTypeVideo(String type, int page) { + return videoInfoDao.list( + "from VideoInfo v where v.videoType.id=" + type + " and v.show=1 order by createtime desc", + (page - 1) * Constant.pageCount, Constant.pageCount, new String[]{}); + } - return (HomeType) homeTypeDao.excute(new HibernateCallback<HomeType>() { - public HomeType doInHibernate(Session session) throws HibernateException { - try { - List<HomeVideo> videoList = session - .createSQLQuery( - "SELECT h.* FROM wk_video_homevideo h LEFT JOIN wk_video_video v ON v.`id`=h.`videoid` LEFT JOIN wk_video_banquan_video bv ON bv.`videoid`=v.`id` and bv.detailsystemid=? and bv.show=1 WHERE v.id=h.videoid AND v.show=1 AND h.`hometype`=? and (bv.videoid is null) ORDER BY v.orderby DESC,v.`watchcount` DESC,h.createtime DESC") - .addEntity(HomeVideo.class).setParameter(0, detailSystem) - .setParameter(1, ((HomeType) ht).getId()).setFirstResult(0).setMaxResults(ht.getNumber()) - .list(); - ((HomeType) ht).setHomeVideoList(videoList); + public long getVideoCountByTypes(String homeType, int page) { + return homeVideoDao.getCount( + "select count(*) from HomeVideo h LEFT JOIN h.video as v where v.id=h.video.id and h.video.show='1' and h.type.id=?", + new String[]{homeType}); + } - } catch (Exception e) { - e.printStackTrace(); - } - return ht; - } - }); + /** + * 鍚庡彴鎿嶄綔 + */ - } + @SuppressWarnings("unchecked") + public List<HomeTypeAdmin> getHomeTypeAdmin(final String key, final String systemId, final String dataKey, final int detailSystem, final int page) { - @Cacheable(value = "homeCache", key = "'getVideoByTypes'+'-'+#homeType+'-'+#page+'-'+#ds.id") - public List<HomeVideo> getVideoByTypes(String homeType, int page, DetailSystem ds) { - List<HomeVideo> list = null; - String sql = "select h from HomeVideo h LEFT JOIN h.video as v where v.id=h.video.id and h.video.show='1' and h.type.id=? order by h.video.orderby desc,h.video.watchCount desc,h.createtime desc"; - if (ds.getPackageName().contains("doudou")) - sql = "select h from HomeVideo h LEFT JOIN h.video as v where v.id=h.video.id and h.video.show='1' and h.type.id=? order by h.video.year desc, h.video.month desc,h.video.day desc,h.createtime desc"; - list = homeVideoDao.list(sql, (page - 1) * Constant.pageCount, Constant.pageCount, new String[] { homeType }); - return list; - } + return (List<HomeTypeAdmin>) homeTypeDao.excute(new HibernateCallback<List<HomeTypeAdmin>>() { + public List<HomeTypeAdmin> doInHibernate(Session session) throws HibernateException { + List<HomeTypeAdmin> zhiBoClassList = new ArrayList<>(); + try { + List<DetailSystem> detailSystemList = session.createQuery("from DetailSystem ds where ds.system.id=" + systemId).list(); + String sql = ""; + List<String> andList = new ArrayList<>(); + if (detailSystem > 0) { + andList.add("sh.homeType.name like ?"); + andList.add("sh.detailSystem.id=" + detailSystem); + if (dataKey != null) { + andList.add("sh.homeType.specialDataKey='" + dataKey + "'"); + } + sql = "select sh.homeType from SuperHomeType sh where " + org.yeshi.utils.StringUtil.concat(andList, " and ") + " order by sh.homeType.orderby desc"; + } else { + andList.add("zb.name like ?"); + andList.add("zb.system.id=" + systemId); + if (dataKey != null) { + andList.add("zb.specialDataKey='" + dataKey + "'"); + } + sql = "from HomeType zb where " + org.yeshi.utils.StringUtil.concat(andList, " and ") + " order by zb.orderby desc"; + } + List<HomeType> list = session.createQuery(sql).setParameter(0, "%" + key + "%") + .setFirstResult((page - 1) * Constant.pageCount).setMaxResults(Constant.pageCount).list(); + for (HomeType vb : list) { + List<DetailSystem> detailSystemS = session + .createQuery("select vb.detailSystem from SuperHomeType vb where vb.homeType.id=?") + .setParameter(0, vb.getId()).list(); - public List<VideoInfo> getIOSTestTypeVideo(String type, int page) { - return videoInfoDao.list( - "from VideoInfo v where v.videoType.id=" + type + " and v.show=1 order by createtime desc", - (page - 1) * Constant.pageCount, Constant.pageCount, new String[] {}); - } + List<DetailSystemSelect> dssList = new ArrayList<>(); - public long getVideoCountByTypes(String homeType, int page) { - return homeVideoDao.getCount( - "select count(*) from HomeVideo h LEFT JOIN h.video as v where v.id=h.video.id and h.video.show='1' and h.type.id=?", - new String[] { homeType }); - } + 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; + } + } + } + SuperHomeType sz = new SuperHomeType(); + sz.setDetailSystem(null); + sz.setHomeType(vb); + zhiBoClassList.add(new HomeTypeAdmin(sz, dssList)); + } - @SuppressWarnings("unchecked") - public List<HomeTypeAdmin> getHomeTypeAdmin(final String key, final int detailSystem, final int page) { + } catch (Exception e) { + e.printStackTrace(); + } + return zhiBoClassList; + } + }); - return (List<HomeTypeAdmin>) homeTypeDao.excute(new HibernateCallback<List<HomeTypeAdmin>>() { - public List<HomeTypeAdmin> doInHibernate(Session session) throws HibernateException { - List<HomeTypeAdmin> zhiBoClassList = new ArrayList<HomeTypeAdmin>(); - try { - List<DetailSystem> detailSystemList = session.createQuery("from DetailSystem").list(); - String sql = ""; - if (detailSystem > 0) - sql = "select sh.homeType from SuperHomeType sh where sh.homeType.name like ? and sh.detailSystem.id=" - + detailSystem + " order by sh.homeType.orderby desc"; - else - sql = "from HomeType zb where zb.name like ? order by zb.orderby desc"; + } - List<HomeType> list = session.createQuery(sql).setParameter(0, "%" + key + "%") - .setFirstResult((page - 1) * Constant.pageCount).setMaxResults(Constant.pageCount).list(); - for (HomeType vb : list) { - List<DetailSystem> detailSystemS = session - .createQuery("select vb.detailSystem from SuperHomeType vb where vb.homeType.id=?") - .setParameter(0, vb.getId()).list(); + public long getHomeTypeAdminCount(String key, String systemId, int detailSystem, final String dataKey) { + List<String> andList = new ArrayList<>(); - List<DetailSystemSelect> dssList = new ArrayList<DetailSystemSelect>(); - for (DetailSystem ds : detailSystemList) { - DetailSystemSelect dss = new DetailSystemSelect(); - dss.setDetailSystem(ds); - dss.setSelected(false); - dssList.add(dss); - } + String sql = ""; + if (detailSystem > 0) { + andList.add("zb.detailsystemid=" + detailSystem); + andList.add("c.name like '%" + key + "%'"); + if (dataKey != null) { + andList.add("c.special_data_key='" + dataKey + "'"); + } - // 璁剧疆宸茬粡瀛樺湪鐨� - for (DetailSystem ds : detailSystemS) { - for (DetailSystemSelect dss : dssList) { - if (dss.getDetailSystem().getId().equalsIgnoreCase(ds.getId())) { - dss.setSelected(true); - break; - } - } - } - SuperHomeType sz = new SuperHomeType(); - sz.setDetailSystem(null); - sz.setHomeType(vb); - zhiBoClassList.add(new HomeTypeAdmin(sz, dssList)); - } + sql = "select count(*) from (select count(*) from wk_video_super_hometype zb left join wk_video_hometype c on c.id=zb.hometypeid where " + org.yeshi.utils.StringUtil.concat(andList, " and ") + " group by zb.hometypeid) s"; - } catch (Exception e) { - e.printStackTrace(); - } - return zhiBoClassList; - } - }); - } + } else { - public long getHomeTypeAdminCount(String key, int detailSystem) { - String sql = ""; - if (detailSystem > 0) - sql = "select count(*) from (select count(*) from wk_video_super_hometype zb left join wk_video_hometype c on c.id=zb.hometypeid where zb.detailsystemid=" - + detailSystem + " and c.name like '%" + key + "%' group by zb.hometypeid) s"; - else - sql = "select count(*) from (select count(*) from wk_video_super_hometype zb left join wk_video_hometype c on c.id=zb.hometypeid where c.name like '%" - + key + "%' group by zb.hometypeid) s"; + andList.add("c.name like '%" + key + "%'"); + andList.add("c.system=" + systemId); + if (dataKey != null) { + andList.add("c.special_data_key='" + dataKey + "'"); + } - return homeTypeDao.getCountSQL(sql); - } + sql = "select count(*) from (select count(*) from wk_video_hometype c left join wk_video_super_hometype zb on c.id=zb.hometypeid where " + org.yeshi.utils.StringUtil.concat(andList, " and ") + " group by c.id) s"; + } + return homeTypeDao.getCountSQL(sql); + } - @SuppressWarnings({ "unchecked", "rawtypes" }) - public void deleteHomeTypeAdmin(final String classId, final String detailSystemId) { - homeTypeDao.excute(new HibernateCallback() { - public Object doInHibernate(Session session) throws HibernateException { - try { - List<SuperHomeType> list = session - .createQuery("from SuperHomeType vb where vb.homeType.id=? and vb.detailSystem.id=?") - .setParameter(0, classId).setParameter(1, detailSystemId).list(); - session.getTransaction().begin(); - if (list != null && list.size() > 0) { - for (SuperHomeType vb : list) - session.delete(vb); - } - session.flush(); - session.getTransaction().commit(); - } catch (Exception e) { - e.printStackTrace(); - session.getTransaction().rollback(); - } - return null; - } - }); + @SuppressWarnings({"unchecked", "rawtypes"}) + public void deleteHomeTypeAdmin(final String classId, final String detailSystemId) { + homeTypeDao.excute(new HibernateCallback() { + public Object doInHibernate(Session session) throws HibernateException { + try { + List<SuperHomeType> list = session + .createQuery("from SuperHomeType vb where vb.homeType.id=? and vb.detailSystem.id=?") + .setParameter(0, classId).setParameter(1, detailSystemId).list(); + session.getTransaction().begin(); + if (list != null && list.size() > 0) { + for (SuperHomeType vb : list) + session.delete(vb); + } + session.flush(); + session.getTransaction().commit(); + } catch (Exception e) { + e.printStackTrace(); + session.getTransaction().rollback(); + } + return null; + } + }); - } + } - public List<HomeType> getSuperHomeTypeList(String detailSystemId) { - return homeTypeDao.list("select sh.homeType from SuperHomeType sh where sh.detailSystem.id=" + detailSystemId); - } + public List<HomeType> getSuperHomeTypeList(String detailSystemId) { + return homeTypeDao.list("select sh.homeType from SuperHomeType sh where sh.detailSystem.id=" + detailSystemId); + } - // 鏇存柊骞垮憡鍒楄〃 - @SuppressWarnings("unchecked") - public void updateSuperHomeTypeList(final String detailSystemId, final List<HomeType> typeList) { - homeTypeDao.excute(new HibernateCallback() { - public Object doInHibernate(Session session) throws HibernateException { - try { - List<SuperHomeType> list = session - .createQuery("from SuperHomeType sh where sh.detailSystem.id=" + detailSystemId).list(); - session.getTransaction().begin(); - for (SuperHomeType ad : list) { - session.delete(ad); - } + // 鏇存柊骞垮憡鍒楄〃 + @SuppressWarnings("unchecked") + public void updateSuperHomeTypeList(final String detailSystemId, final List<HomeType> typeList) { + homeTypeDao.excute(new HibernateCallback() { + public Object doInHibernate(Session session) throws HibernateException { + try { + List<SuperHomeType> list = session + .createQuery("from SuperHomeType sh where sh.detailSystem.id=" + detailSystemId).list(); + session.getTransaction().begin(); + for (SuperHomeType ad : list) { + session.delete(ad); + } - for (HomeType homeType : typeList) { - SuperHomeType shd = new SuperHomeType(); - shd.setCreatetime(System.currentTimeMillis() + ""); - shd.setDetailSystem(new DetailSystem(detailSystemId)); - shd.setHomeType(homeType); - session.persist(shd); - } - session.flush(); - session.getTransaction().commit(); - } catch (Exception e) { - e.printStackTrace(); - session.getTransaction().rollback(); - } - return null; - } - }); + for (HomeType homeType : typeList) { + SuperHomeType shd = new SuperHomeType(); + shd.setCreatetime(System.currentTimeMillis() + ""); + shd.setDetailSystem(new DetailSystem(detailSystemId)); + shd.setHomeType(homeType); + session.persist(shd); + } + session.flush(); + session.getTransaction().commit(); + } catch (Exception e) { + e.printStackTrace(); + session.getTransaction().rollback(); + } + return null; + } + }); - } + } - public void addSuperHomeType(SuperHomeType sv) { - List<SuperHomeType> list = superHomeTypeDao.list( - "from SuperHomeType sv where sv.homeType.id=? and sv.detailSystem.id=?", - new String[] { sv.getHomeType().getId(), sv.getDetailSystem().getId() }); - if (list != null && list.size() > 0) - return; - superHomeTypeDao.create(sv); - } + public void addSuperHomeType(SuperHomeType sv) { + List<SuperHomeType> list = superHomeTypeDao.list( + "from SuperHomeType sv where sv.homeType.id=? and sv.detailSystem.id=?", + new String[]{sv.getHomeType().getId(), sv.getDetailSystem().getId()}); + if (list != null && list.size() > 0) + return; + superHomeTypeDao.create(sv); + } } -- Gitblit v1.8.0