| | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | import com.yeshi.buwan.domain.VideoResource; |
| | | import org.hibernate.HibernateException; |
| | | import org.hibernate.Query; |
| | | import org.hibernate.Session; |
| | |
| | | |
| | | @Service |
| | | public class ResourceVideoService { |
| | | |
| | | @Autowired |
| | | private ResourceVideoDao resourceVideoDao; |
| | | |
| | | @SuppressWarnings("unchecked") |
| | | public List<ResourceVideo> getResourceList(final List<VideoInfo> list) { |
| | | if(list == null || list.size() ==0){ |
| | | return new ArrayList<ResourceVideo>(); |
| | | } |
| | | return (List<ResourceVideo>) resourceVideoDao.excute(new HibernateCallback<List<ResourceVideo>>() { |
| | | @Override |
| | | public List<ResourceVideo> doInHibernate(Session session) |
| | | throws HibernateException { |
| | | StringBuffer hql=new StringBuffer("from ResourceVideo rv "); |
| | | int i=0; |
| | | for (VideoInfo videoInfo : list) { |
| | | if(i==0) |
| | | hql.append(" where ( rv.video.id = ? ) "); |
| | | else |
| | | hql.append(" or ( rv.video.id = ? ) "); |
| | | i++; |
| | | } |
| | | hql.append(" order by rv.video.id desc "); |
| | | Query query = session.createQuery(hql.toString()); |
| | | i=0; |
| | | for (VideoInfo videoInfo : list) { |
| | | query.setParameter(i, videoInfo.getId()); |
| | | i++; |
| | | } |
| | | return query.list(); |
| | | } |
| | | }); |
| | | } |
| | | @Autowired |
| | | private ResourceVideoDao resourceVideoDao; |
| | | |
| | | public void save(ResourceVideo resourceVideo) { |
| | | resourceVideoDao.save(resourceVideo); |
| | | } |
| | | |
| | | @SuppressWarnings("unchecked") |
| | | public List<ResourceVideo> getResourceList(final List<VideoInfo> list) { |
| | | if (list == null || list.size() == 0) { |
| | | return new ArrayList<ResourceVideo>(); |
| | | } |
| | | return (List<ResourceVideo>) resourceVideoDao.excute(new HibernateCallback<List<ResourceVideo>>() { |
| | | @Override |
| | | public List<ResourceVideo> doInHibernate(Session session) |
| | | throws HibernateException { |
| | | StringBuffer hql = new StringBuffer("from ResourceVideo rv "); |
| | | int i = 0; |
| | | for (VideoInfo videoInfo : list) { |
| | | if (i == 0) |
| | | hql.append(" where ( rv.video.id = ? ) "); |
| | | else |
| | | hql.append(" or ( rv.video.id = ? ) "); |
| | | i++; |
| | | } |
| | | hql.append(" order by rv.video.id desc "); |
| | | Query query = session.createQuery(hql.toString()); |
| | | i = 0; |
| | | for (VideoInfo videoInfo : list) { |
| | | query.setParameter(i, videoInfo.getId()); |
| | | i++; |
| | | } |
| | | return query.list(); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 获取资源列表 |
| | | * @param videoId |
| | | * @return |
| | | */ |
| | | public List<ResourceVideo> getResourceList(String videoId) { |
| | | List<VideoInfo> videoInfoList = new ArrayList<>(); |
| | | videoInfoList.add(new VideoInfo(videoId)); |
| | | return getResourceList(videoInfoList); |
| | | } |
| | | |
| | | public void save(ResourceVideo resourceVideo) { |
| | | resourceVideoDao.save(resourceVideo); |
| | | } |
| | | |
| | | public void addVideoResource(String videoId, String resourceId) { |
| | | ResourceVideo rv = resourceVideoDao.selectByVideoIdAndResourceId(videoId, resourceId); |
| | | if (rv == null) { |
| | | rv = new ResourceVideo(); |
| | | rv.setResource(new VideoResource(resourceId + "")); |
| | | rv.setVideo(new VideoInfo(videoId + "")); |
| | | resourceVideoDao.save(rv); |
| | | } |
| | | } |
| | | |
| | | |
| | | public void delete(ResourceVideo rv){ |
| | | resourceVideoDao.delete(rv); |
| | | } |
| | | |
| | | |
| | | } |