ContentServiceImpl.java
4.9 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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
package com.hui.iqiyi.service.impl;
import com.hui.iqiyi.Util.ReturnBean;
import com.hui.iqiyi.entity.Content;
import com.hui.iqiyi.entity.Media;
import com.hui.iqiyi.entity.Movie;
import com.hui.iqiyi.entity.Program;
import com.hui.iqiyi.mapper.ContentMapper;
import com.hui.iqiyi.request.ContentRequest;
import com.hui.iqiyi.request.ProgramExcelRequest;
import com.hui.iqiyi.request.ProgramRequest;
import com.hui.iqiyi.response.ContentResponse;
import com.hui.iqiyi.service.IContentService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hui.iqiyi.service.IMovieService;
import com.hui.iqiyi.service.IProgramService;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
import java.util.stream.Collectors;
/**
* <p>
* 服务实现类
* </p>
*
* @author jobob
* @since 2021-06-03
*/
@Service
@Primary
public class ContentServiceImpl extends ServiceImpl<ContentMapper, Content> implements IContentService {
@Resource
private ContentMapper contentMapper;
@Autowired
private IContentService iContentService;
@Autowired
private IProgramService iProgramService;
@Autowired
private IMovieService iMovieService;
@Override
public ReturnBean updateContent(Content content) {
System.out.println("---------------------更新" + content.toString());
if (ObjectUtils.isEmpty(content))
throw new RuntimeException("传入的信息不能为空!");
try {
if (contentMapper.updateContent(content) == 0)
ReturnBean.errorSuccessInfo("更新失败!");
} catch (Exception e) {
throw new RuntimeException("更新表头出现错误!错误信息如下" + e.getMessage());
}
return ReturnBean.setSuccessInfo("更新成功!");
}
//查询单集列表
@Override
public List<Content> selectAllSingle(ContentRequest request, Long id) {
return contentMapper.selectAllSingle(request, id);
}
@Override
public List<ContentResponse> selectAllType(ContentResponse contentResponse) {
return contentMapper.selectAllType(contentResponse);
}
@Override
public ContentResponse selectAllCont() {
List<Integer> integers = contentMapper.selectAllCont();
ContentResponse response = new ContentResponse();
response.setDrama(integers.get(1));
response.setMonolithic(integers.get(0));
return response;
}
@Override
public List<Content> selectAllContenten(ContentRequest contentRequest) {
List<Content> list = null;
try {
list = contentMapper.selectAllContenten(contentRequest);
if (list.size() == 0)
return list;
ProgramRequest programRequest = new ProgramRequest();
programRequest.setContentIdList(list.stream().map(Long -> Long.getId()).collect(Collectors.toList()));
List<ProgramRequest> listPro = iProgramService.selectDownload(programRequest);
for (Content content : list) {
for (ProgramRequest pro : listPro) {
if (content.getId().compareTo(pro.getIqiyiContentId()) == 0) {
//如果剧头的总集数与下载量一至则显示全部下载完成
if (content.getCurrCount().compareTo(pro.getDownloadCount()) == 0) {
content.setDownloadStatus("全部下载完成");
continue;
}
//如果剧头的总集数 大于 下载量 就显示未全部下载
if (content.getCurrCount().compareTo(pro.getDownloadCount()) > 0) {
content.setDownloadStatus("未全部下载");
continue;
}
}
}
//里面是关联查询匹配,如果没有下载记录,就塞入未下载
if (ObjectUtils.isEmpty(content.getDownloadStatus()))
content.setDownloadStatus("未下载");
}
} catch (Exception e) {
throw new RuntimeException("服务器错误,错误原因是:" + e.getMessage() + "请联系运维!");
}
return list;
}
@Override
public List<ProgramExcelRequest> selectAllDramaExcel() {
List<ProgramExcelRequest> list = contentMapper.selectAllDramaExcel();
// list.stream().forEach(item->{
// if (item.getLocalStatus()==0)
// item.setLocalStatuss("未下载");
// if (item.getLocalStatus()==100)
// item.setLocalStatuss("已下载");
// });
return list;
}
}