VideoServiceImpl.java
3.46 KB
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
package com.sincere.student.service.impl;
import com.github.pagehelper.PageHelper;
import com.sincere.student.dto.VideoSearchDto;
import com.sincere.student.mapper.VideoMapper;
import com.sincere.student.model.ColumnType;
import com.sincere.student.model.Video;
import com.sincere.student.service.VideoService;
import com.sincere.student.utils.Page;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Arrays;
import java.util.List;
@Service
public class VideoServiceImpl implements VideoService {
@Autowired
VideoMapper videoMapper;
@Override
public Page<Video> getUniversityList(VideoSearchDto dto) {
Page<Video> page = new Page<>(dto.getPage(), dto.getPageSize());
if (StringUtils.isNotBlank(dto.getUniversityName())) {
dto.setUniversityName("%" + dto.getUniversityName() + "%");
}
PageHelper.startPage(dto.getPage(), dto.getPageSize());
page.setList(videoMapper.getUniversityList(dto));
page.setCount(videoMapper.getUniversityListCount(dto));
return page;
}
@Override
public Page<Video> getList(VideoSearchDto dto) {
Page<Video> page = new Page<>(dto.getPage(), dto.getPageSize());
if (StringUtils.isNotBlank(dto.getUniversityName())) {
dto.setUniversityName("%" + dto.getUniversityName() + "%");
}
PageHelper.startPage(dto.getPage(), dto.getPageSize());
List<Video> list = videoMapper.getList(dto);
for (Video video : list) {
videoMapper.updateRead(video.getId());
}
for (Video video : list) {
String[] array = video.getVideoUrl().split(",");
video.setVideoUrlList(Arrays.asList(array));
}
page.setList(list);
page.setCount(videoMapper.getListCount(dto));
return page;
}
@Override
public Video getDetail(int id) {
return videoMapper.getById(id);
}
@Override
public int create(Video video) {
//排序
Integer sort = video.getSort();
List<Video> videoList = videoMapper.countSort(sort.intValue(), 1, null);
if (!CollectionUtils.isEmpty(videoList)) {
int i = 1;
for (Video oldVideo : videoList) {
int add = i + sort;
if (add > oldVideo.getSort()) {
//若已存在自增1
oldVideo.setSort(oldVideo.getSort() + 1);
videoMapper.update(oldVideo);
}
i++;
}
}
videoMapper.create(video);
return video.getId();
}
@Override
public int update(Video video) {
//排序
Integer sort = video.getSort();
List<Video> videoList = videoMapper.countSort(sort.intValue(), 2, video.getId());
if (!CollectionUtils.isEmpty(videoList)) {
int i = 1;
for (Video oldVideo : videoList) {
int add = i + sort;
if (add > oldVideo.getSort()) {
//若已存在自增1
oldVideo.setSort(oldVideo.getSort() + 1);
videoMapper.update(oldVideo);
}
i++;
}
}
return videoMapper.update(video);
}
@Override
public int delete(int id) {
return videoMapper.delete(id);
}
}