admin
2021-02-06 e2c6372f29ae0a93d9f672ffad4613581ba3e201
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
package com.newvideo.service.imp;
 
import java.util.List;
 
import javax.annotation.Resource;
 
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.springframework.orm.hibernate4.HibernateCallback;
import org.springframework.stereotype.Service;
 
import com.newvideo.dao.CategoryVideoDao;
import com.newvideo.dao.VideoInfoDao;
import com.newvideo.domain.CategoryVideo;
import com.newvideo.domain.VideoInfo;
import com.newvideo.util.Constant;
 
@Service
public class VideoService {
    @Resource
    private VideoInfoDao videoInfoDao;
    @Resource
    private ClassService classServcie;
    @Resource
    private CategoryVideoDao categoryVideoDao;
 
    public CategoryVideoDao getCategoryVideoDao() {
        return categoryVideoDao;
    }
 
    public void setCategoryVideoDao(CategoryVideoDao categoryVideoDao) {
        this.categoryVideoDao = categoryVideoDao;
    }
 
    public ClassService getClassServcie() {
        return classServcie;
    }
 
    public void setClassServcie(ClassService classServcie) {
        this.classServcie = classServcie;
    }
 
    public VideoInfoDao getVideoInfoDao() {
        return videoInfoDao;
    }
 
    public void setVideoInfoDao(VideoInfoDao videoInfoDao) {
        this.videoInfoDao = videoInfoDao;
    }
 
    public VideoService() {
 
    }
 
    public VideoInfo getVideoInfo(String id) {
        return videoInfoDao.find(VideoInfo.class, id);
    }
 
    public List<VideoInfo> getVideoListByClass(int type, int page) {
        String types[] = classServcie.getChildrenType(type);
        String wheres = "";
        String as[];
        int j = (as = types).length;
        for (int i = 0; i < j; i++) {
            String st = as[i];
            wheres = (new StringBuilder(String.valueOf(wheres))).append("or v.videoType.id=").append(st).append(" ")
                    .toString();
        }
 
        if (wheres.startsWith("or"))
            wheres = wheres.substring(2, wheres.length());
        List<VideoInfo> list = videoInfoDao.list(
                (new StringBuilder("from VideoInfo v where v.show='1' and (")).append(wheres).append(")").toString(),
                (page - 1) * Constant.pageCount, 20, new String[] {});
        return list;
    }
 
    public List<VideoInfo> searchVideoUsedByAdmin(String name) {
        return videoInfoDao.list("from VideoInfo v where v.name like ? order by REPLACE(v.name,?,'')", 0, 20,
                new String[] { "%" + name + "%", name });
    }
 
    public long getVideoCountByClass(int type) {
        String types[] = classServcie.getChildrenType(type);
        String wheres = "";
        String as[];
        int j = (as = types).length;
        for (int i = 0; i < j; i++) {
            String st = as[i];
            wheres = (new StringBuilder(String.valueOf(wheres))).append("or v.videoType.id=").append(st).append(" ")
                    .toString();
        }
 
        if (wheres.startsWith("or"))
            wheres = wheres.substring(2, wheres.length());
        return videoInfoDao
                .getCount((new StringBuilder("select count(*)  from VideoInfo v where ")).append(wheres).toString());
    }
 
    public void addVideoWatch(final String vid) {
        videoInfoDao.excute(new HibernateCallback() {
            public Object doInHibernate(Session session) throws HibernateException {
                try {
                    session.getTransaction().begin();
                    session.createSQLQuery("update wk_video_video v set v.watchcount=v.watchcount+1 where v.id=?")
                            .setParameter(0, vid).executeUpdate();
                    session.flush();
                    session.getTransaction().commit();
                } catch (Exception exception) {
                    exception.printStackTrace();
                }
                return null;
            }
        });
 
    }
 
    public void addCategoryVideo(CategoryVideo cv) {
        categoryVideoDao.save(cv);
    }
}