Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
吕剑
/
iqiyi-inject-management
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
Commit
ad69ee0d
...
ad69ee0db1645496d114b59c0c4232dd9f4ad496
authored
2021-06-16 09:21:47 +0800
by
姬傲辉
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
添加了导出excel并发送邮件功能
修改了查询全部
1 parent
d386a68e
Hide whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
564 additions
and
66 deletions
pom.xml
src/main/java/com/hui/IqiyiApplication.java
src/main/java/com/hui/iqiyi/controller/ContentController.java
src/main/java/com/hui/iqiyi/controller/MediaController.java
src/main/java/com/hui/iqiyi/controller/MovieController.java
src/main/java/com/hui/iqiyi/controller/ProgramController.java
src/main/java/com/hui/iqiyi/entity/Content.java
src/main/java/com/hui/iqiyi/entity/Movie.java
src/main/java/com/hui/iqiyi/entity/Program.java
src/main/java/com/hui/iqiyi/mapper/ContentMapper.java
src/main/java/com/hui/iqiyi/mapper/MovieMapper.java
src/main/java/com/hui/iqiyi/mapper/ProgramMapper.java
src/main/java/com/hui/iqiyi/request/ContentRequest.java
src/main/java/com/hui/iqiyi/request/ProgramRequest.java
src/main/java/com/hui/iqiyi/response/ContentResponse.java
src/main/java/com/hui/iqiyi/response/MovieResponse.java
src/main/java/com/hui/iqiyi/response/ProgramSyResponse.java
src/main/java/com/hui/iqiyi/service/IContentService.java
src/main/java/com/hui/iqiyi/service/IMovieService.java
src/main/java/com/hui/iqiyi/service/IProgramService.java
src/main/java/com/hui/iqiyi/service/impl/ContentServiceImpl.java
src/main/java/com/hui/iqiyi/service/impl/MediaServiceImpl.java
src/main/java/com/hui/iqiyi/service/impl/MovieServiceImpl.java
src/main/java/com/hui/iqiyi/service/impl/ProgramServiceImpl.java
src/main/resources/config/application.yml
src/main/resources/logback.xml
src/main/resources/mapper/iqiyi/ContentMapper.xml
src/main/resources/mapper/iqiyi/MediaMapper.xml
src/main/resources/mapper/iqiyi/MovieMapper.xml
src/main/resources/mapper/iqiyi/ProgramMapper.xml
src/test/java/com/hui/iqiyi/IqiyiApplicationTests.java
pom.xml
View file @
ad69ee0
...
...
@@ -31,6 +31,13 @@
<version>
1.2.75
</version>
</dependency>
<!--EasyExcel 阿里巴巴-->
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
easyexcel
</artifactId>
<version>
2.2.0-beta2
</version>
</dependency>
<dependency>
<groupId>
io.springfox
</groupId>
<artifactId>
springfox-swagger2
</artifactId>
...
...
@@ -54,6 +61,13 @@
<artifactId>
velocity-engine-core
</artifactId>
<version>
2.0
</version>
</dependency>
<!-- 邮件注解 -->
<dependency>
<groupId>
javax.mail
</groupId>
<artifactId>
mail
</artifactId>
<version>
1.4.7
</version>
</dependency>
<!--Mysql依赖包-->
...
...
@@ -76,6 +90,12 @@
<version>
1.2.11
</version>
</dependency>
<!-- 日志-->
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-logging
</artifactId>
</dependency>
<dependency>
<groupId>
org.projectlombok
</groupId>
...
...
@@ -91,6 +111,17 @@
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
</dependency>
<dependency>
<groupId>
repository.cn.hutool
</groupId>
<artifactId>
hutool-all
</artifactId>
<version>
5.4.0
</version>
</dependency>
<dependency>
<groupId>
org.testng
</groupId>
<artifactId>
testng
</artifactId>
<version>
RELEASE
</version>
<scope>
compile
</scope>
</dependency>
</dependencies>
<build>
...
...
@@ -160,9 +191,18 @@
</excludes>
</configuration>
</plugin>
<!-- 让maven不编译xls文件,但仍将其打包 -->
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-resources-plugin
</artifactId>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>
xls
</nonFilteredFileExtension>
<nonFilteredFileExtension>
xlsx
</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
</plugins>
</build>
</project>
...
...
src/main/java/com/hui/IqiyiApplication.java
View file @
ad69ee0
...
...
@@ -3,8 +3,10 @@ package com.hui;
import
org.mybatis.spring.annotation.MapperScan
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
@SpringBootApplication
@EnableScheduling
//开启定时任务
@MapperScan
(
"com.hui"
)
public
class
IqiyiApplication
{
...
...
src/main/java/com/hui/iqiyi/controller/ContentController.java
View file @
ad69ee0
...
...
@@ -7,13 +7,16 @@ import com.github.pagehelper.PageInfo;
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.request.ContentRequest
;
import
com.hui.iqiyi.request.MediaRequest
;
import
com.hui.iqiyi.request.ProgramRequest
;
import
com.hui.iqiyi.response.ContentResponse
;
import
com.hui.iqiyi.service.IContentService
;
import
com.hui.iqiyi.service.IProgramService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
...
...
@@ -35,6 +38,8 @@ import java.util.concurrent.LinkedBlockingQueue;
public
class
ContentController
{
@Resource
private
IContentService
iContentService
;
@Autowired
private
IProgramService
iProgramService
;
@PostMapping
(
"/selectAllSingle"
)
@ApiOperation
(
"查询单集"
)
...
...
@@ -60,4 +65,23 @@ public class ContentController {
return
iContentService
.
selectAllCont
();
}
@GetMapping
(
"/selectAllIqIyDrama"
)
@ApiOperation
(
"查询全部剧集信息"
)
@ResponseBody
public
PageInfo
<
Content
>
selectAllIqIy
(
ContentRequest
contentRequest
)
{
PageHelper
.
startPage
(
contentRequest
.
getPageNo
(),
contentRequest
.
getPageSize
());
ProgramRequest
programRequest
=
new
ProgramRequest
();
if
(
contentRequest
.
getType
()
==
0
)
{
return
new
PageInfo
(
iProgramService
.
selectAllProgra
(
programRequest
));
}
else
if
(
contentRequest
.
getType
()
==
1
)
{
return
new
PageInfo
(
iContentService
.
selectAllContenten
(
contentRequest
));
}
return
null
;
}
}
...
...
src/main/java/com/hui/iqiyi/controller/MediaController.java
View file @
ad69ee0
...
...
@@ -8,6 +8,7 @@ import com.hui.iqiyi.request.MediaRequest;
import
com.hui.iqiyi.service.IMediaService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -38,6 +39,7 @@ public class MediaController {
@ResponseBody
public
PageInfo
<
Media
>
selectAllIqIy
(
MediaRequest
request
)
{
PageHelper
.
startPage
(
request
.
getPageNo
(),
request
.
getPageSize
());
return
new
PageInfo
(
iMediaService
.
selectAllIqIyList
(
request
));
}
...
...
src/main/java/com/hui/iqiyi/controller/MovieController.java
View file @
ad69ee0
package
com
.
hui
.
iqiyi
.
controller
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.ExcelWriter
;
import
com.alibaba.excel.write.metadata.WriteSheet
;
import
com.alibaba.excel.write.metadata.style.WriteCellStyle
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.hui.iqiyi.Util.TestFileUtil
;
import
com.hui.iqiyi.entity.Content
;
import
com.hui.iqiyi.entity.Movie
;
import
com.hui.iqiyi.excel.*
;
import
com.hui.iqiyi.request.ContentRequest
;
import
com.hui.iqiyi.request.ProRequest
;
import
com.hui.iqiyi.response.ContentResponse
;
import
com.hui.iqiyi.response.MovieResponse
;
import
com.hui.iqiyi.response.ProgramSyResponse
;
import
com.hui.iqiyi.service.IMovieService
;
import
com.hui.iqiyi.service.IProgramService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.poi.ss.usermodel.HorizontalAlignment
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.testng.collections.Lists
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -31,22 +43,71 @@ import java.util.Map;
@RequestMapping
(
"/iqiyi/movie"
)
public
class
MovieController
{
@Autowired
private
IMovieService
iMovieService
;
@Resource
private
IProgramService
iProgramService
;
@GetMapping
(
"/selectAllPopulation"
)
@ApiOperation
(
"查询总下载"
)
@ResponseBody
public
List
<
Movie
>
selectAllPopulation
(
Movie
Movie
)
{
return
iMovieService
.
selectAllPopulation
(
Movie
);
return
iMovieService
.
selectAllPopulation
();
}
// @GetMapping("/selectAllPopulationn")
// @ApiOperation("查询总下载")
// @ResponseBody
// public void selectAllPopulationn(Movie Movie) {
//
// try {
// String path = "D:\\java\\爱奇艺下载情况.xlsx\\";
// //新建ExcelWriter
// ExcelWriter excelWriter = EasyExcel.write(path).build();
// //获取sheet0对象
// WriteSheet mainSheet = EasyExcel.writerSheet(0, "介质文件下载统计文件").head(DownloadExcel.class).build();
// //向sheet0写入数据 传入空list这样只导出表头
// excelWriter.write(iMovieService.selectAllPopulation(), mainSheet);
//
// //获取sheet1对象
// WriteSheet detailSheet = EasyExcel.writerSheet(1, "吉林关注片单").head(ProgramsExcel.class).build();
// //向sheet1写入数据 传入空list这样只导出表头
// List<ProgramSyResponse> programSyResponses = new ArrayList<>();
// programSyResponses.add(iProgramService.selectAllProgramCount());
// excelWriter.write(programSyResponses, detailSheet);
//
// //获取sheet1对象
// WriteSheet detailSheet1 = EasyExcel.writerSheet(2, "剧集单片数量").head(ProgramAllExcel.class).build();
// //向sheet1写入数据 传入空list这样只导出表头
// List<ContentResponse> contentResponses = new ArrayList<>();
// contentResponses.add(iProgramService.selectAllPrograms());
// excelWriter.write(contentResponses, detailSheet1);
//
// //获取sheet2对象
// WriteSheet SevenSheetDownload = EasyExcel.writerSheet(3, "近七日下载情况").head(ProsevenDownload.class).build();
// //向sheet0写入数据 传入空list这样只导出表头
// ProRequest proRequest = new ProRequest();
// excelWriter.write(iProgramService.selectAllSeven(proRequest), SevenSheetDownload);
//
// //获取sheet2对象
// WriteSheet SevenSheetzation= EasyExcel.writerSheet(4, "近七日同步情况").head(MoveExcel.class).build();
// //向sheet0写入数据 传入空list这样只导出表头
// ProRequest proRequest1 = new ProRequest();
// excelWriter.write(iMovieService.selectAllSevenxz(proRequest1), SevenSheetzation);
// //关闭流
// excelWriter.finish();
// } catch (Exception e) {
// System.out.println("导出异常"+ e.getMessage());
// }
// }
@GetMapping
(
"/selectAllSevenXz"
)
@ApiOperation
(
"近七日同步情况"
)
@ResponseBody
public
List
<
MovieResponse
>
selectAllSeven
(
ProRequest
proRequest
)
{
public
List
<
MovieResponse
>
selectAllSeven
(
ProRequest
proRequest
)
{
return
iMovieService
.
selectAllSevenxz
(
proRequest
);
}
}
}
...
...
src/main/java/com/hui/iqiyi/controller/ProgramController.java
View file @
ad69ee0
package
com
.
hui
.
iqiyi
.
controller
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.fastjson.JSON
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.hui.iqiyi.Util.ReturnBean
;
import
com.hui.iqiyi.entity.Content
;
import
com.hui.iqiyi.entity.Program
;
import
com.hui.iqiyi.excel.DownloadExcel
;
import
com.hui.iqiyi.excel.ProgramsExcel
;
import
com.hui.iqiyi.excel.ProsevenDownload
;
import
com.hui.iqiyi.request.ByIdsRequest
;
import
com.hui.iqiyi.request.ContentRequest
;
import
com.hui.iqiyi.request.ProRequest
;
...
...
@@ -14,6 +18,7 @@ import com.hui.iqiyi.request.ProgramRequest;
import
com.hui.iqiyi.response.ContentResponse
;
import
com.hui.iqiyi.response.ProgramResponse
;
import
com.hui.iqiyi.response.ProgramSyResponse
;
import
com.hui.iqiyi.response.ProgramXRespone
;
import
com.hui.iqiyi.service.IProgramService
;
import
com.sun.org.apache.bcel.internal.generic.RETURN
;
import
io.swagger.annotations.Api
;
...
...
@@ -23,6 +28,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
...
...
@@ -67,7 +73,7 @@ public class ProgramController {
@GetMapping
(
"/selectAllSeven"
)
@ApiOperation
(
"近七日下载情况"
)
@ResponseBody
public
List
<
Program
SyRespons
e
>
selectAllSeven
(
ProRequest
proRequest
)
{
public
List
<
Program
XRespon
e
>
selectAllSeven
(
ProRequest
proRequest
)
{
return
iProgramService
.
selectAllSeven
(
proRequest
);
}
...
...
@@ -79,5 +85,14 @@ public class ProgramController {
return
iProgramService
.
selectAllProgramCount
();
}
@GetMapping
(
"/selectAllMonolithic"
)
@ApiOperation
(
"查询全部单片信息"
)
@ResponseBody
public
PageInfo
<
Program
>
selectAllIqIy
(
ProgramRequest
programRequest
)
{
PageHelper
.
startPage
(
programRequest
.
getPageNo
(),
programRequest
.
getPageSize
());
return
new
PageInfo
(
iProgramService
.
selectAllProgra
(
programRequest
));
}
}
...
...
src/main/java/com/hui/iqiyi/entity/Content.java
View file @
ad69ee0
...
...
@@ -186,7 +186,7 @@ public class Content implements Serializable {
/**
* 专辑已有视频的最大集数,不严格等于已上线的视频数量
*/
private
Integer
currCount
;
private
Long
currCount
;
/**
* 是否收费
...
...
@@ -282,4 +282,11 @@ public class Content implements Serializable {
* 扩展字段
*/
private
List
<
Long
>
ContentIdList
;
/**
* 标识下载状态
*/
private
String
downloadStatus
;
}
...
...
src/main/java/com/hui/iqiyi/entity/Movie.java
View file @
ad69ee0
...
...
@@ -125,4 +125,7 @@ public class Movie implements Serializable {
private
Long
capacity
;
//标识下载状态
private
String
LocalStatuss
;
}
...
...
src/main/java/com/hui/iqiyi/entity/Program.java
View file @
ad69ee0
...
...
@@ -307,4 +307,9 @@ public class Program implements Serializable {
* 更新时间
*/
private
LocalDateTime
updateTime
;
/**
* 标识下载状态
*/
private
String
downloadStatus
;
}
...
...
src/main/java/com/hui/iqiyi/mapper/ContentMapper.java
View file @
ad69ee0
...
...
@@ -54,4 +54,13 @@ public interface ContentMapper extends BaseMapper<Content> {
List
<
Integer
>
selectAllCont
();
/**
* 查询所有剧集
* @param contentRequest
* @return
*/
List
<
Content
>
selectAllContenten
(
ContentRequest
contentRequest
);
}
...
...
src/main/java/com/hui/iqiyi/mapper/MovieMapper.java
View file @
ad69ee0
...
...
@@ -31,7 +31,7 @@ public interface MovieMapper extends BaseMapper<Movie> {
//查询总体下载情况
List
<
Movie
>
selectAllPopulation
(
Movie
movie
);
List
<
Movie
>
selectAllPopulation
();
/**
...
...
@@ -42,4 +42,6 @@ public interface MovieMapper extends BaseMapper<Movie> {
List
<
MovieResponse
>
selectAllSevenxz
(
@Param
(
"proRequest"
)
ProRequest
proRequest
);
}
...
...
src/main/java/com/hui/iqiyi/mapper/ProgramMapper.java
View file @
ad69ee0
package
com
.
hui
.
iqiyi
.
mapper
;
import
com.hui.iqiyi.entity.Content
;
import
com.hui.iqiyi.entity.Program
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.hui.iqiyi.request.ByIdsRequest
;
import
com.hui.iqiyi.request.ContentRequest
;
import
com.hui.iqiyi.request.ProRequest
;
import
com.hui.iqiyi.request.ProgramRequest
;
import
com.hui.iqiyi.response.*
;
...
...
@@ -62,7 +64,7 @@ public interface ProgramMapper extends BaseMapper<Program> {
*
* @return
*/
List
<
Program
SyRespons
e
>
selectAllSeven
(
@Param
(
"proRequest"
)
ProRequest
proRequest
);
List
<
Program
XRespon
e
>
selectAllSeven
(
@Param
(
"proRequest"
)
ProRequest
proRequest
);
/**
...
...
@@ -72,5 +74,23 @@ public interface ProgramMapper extends BaseMapper<Program> {
*/
List
<
ProgramQBRequest
>
selectAllProgramCount
();
/**
* 全部片单信息
*
* @param
* @return
*/
List
<
Integer
>
selectAllPrograms
();
/**
* 查询所有单片
* @param programRequest
* @return
*/
List
<
Program
>
selectAllProgra
(
ProgramRequest
programRequest
);
}
...
...
src/main/java/com/hui/iqiyi/request/ContentRequest.java
View file @
ad69ee0
...
...
@@ -273,4 +273,24 @@ public class ContentRequest extends AppPagingRequest {
*/
private
Integer
SeriesFlag
;
//开始时间
private
String
beginTime
;
//结束时间
private
String
EndTime
;
/**
* 标识调用哪个方法
* 0单片
* 1剧集
*/
private
Long
type
;
/**
* 下载状态
*/
private
Integer
downloadStatus
;
}
...
...
src/main/java/com/hui/iqiyi/request/ProgramRequest.java
View file @
ad69ee0
...
...
@@ -307,4 +307,15 @@ public class ProgramRequest extends AppPagingRequest {
* 下载状态
*/
private
String
localStatus
;
/**
* 下载状态1
*/
private
Integer
downloadStatus
;
//开始时间
private
String
beginTime
;
//结束时间
private
String
EndTime
;
}
...
...
src/main/java/com/hui/iqiyi/response/ContentResponse.java
View file @
ad69ee0
...
...
@@ -11,7 +11,7 @@ public class ContentResponse {
private
Long
num
;
//剧集
private
Integer
D
rama
;
private
Integer
d
rama
;
//单片
private
Integer
monolithic
;
...
...
src/main/java/com/hui/iqiyi/response/MovieResponse.java
View file @
ad69ee0
...
...
@@ -20,9 +20,9 @@ public class MovieResponse {
private
Integer
Duration
;
private
Date
day1
;
private
Double
T
otlSize2
;
private
Long
T
otlFee3
;
private
Double
T
otlDuration4
;
private
String
day1
;
private
Double
t
otlSize2
;
private
Long
t
otlFee3
;
private
Double
t
otlDuration4
;
}
...
...
src/main/java/com/hui/iqiyi/response/ProgramSyResponse.java
View file @
ad69ee0
...
...
@@ -6,9 +6,8 @@ import lombok.Data;
@Data
public
class
ProgramSyResponse
{
private
String
day
;
//剧集
private
Integer
D
rama
;
private
Integer
d
rama
;
//单片
private
Integer
monolithic
;
//下载数量
...
...
@@ -17,7 +16,6 @@ public class ProgramSyResponse {
private
Double
xzSize
;
//下载时长
private
Double
totlDuration
;
//下载失败的数量
private
Long
failSum
;
//同步未下载数量
...
...
src/main/java/com/hui/iqiyi/service/IContentService.java
View file @
ad69ee0
...
...
@@ -54,4 +54,18 @@ public interface IContentService extends IService<Content> {
ContentResponse
selectAllCont
();
/**
* 查询所有剧集
* @param contentRequest
* @return
*/
List
<
Content
>
selectAllContenten
(
ContentRequest
contentRequest
);
}
...
...
src/main/java/com/hui/iqiyi/service/IMovieService.java
View file @
ad69ee0
...
...
@@ -30,7 +30,7 @@ public interface IMovieService extends IService<Movie> {
//查询总体下载情况
List
<
Movie
>
selectAllPopulation
(
Movie
movie
);
List
<
Movie
>
selectAllPopulation
();
/**
...
...
@@ -39,4 +39,7 @@ public interface IMovieService extends IService<Movie> {
* @return
*/
List
<
MovieResponse
>
selectAllSevenxz
(
ProRequest
proRequest
);
}
...
...
src/main/java/com/hui/iqiyi/service/IProgramService.java
View file @
ad69ee0
...
...
@@ -7,10 +7,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
import
com.hui.iqiyi.request.ByIdsRequest
;
import
com.hui.iqiyi.request.ProRequest
;
import
com.hui.iqiyi.request.ProgramRequest
;
import
com.hui.iqiyi.response.
Movie
Response
;
import
com.hui.iqiyi.response.
Content
Response
;
import
com.hui.iqiyi.response.ProgramResponse
;
import
com.hui.iqiyi.response.ProgramSyResponse
;
import
org.springframework.context.annotation.Primary
;
import
com.hui.iqiyi.response.ProgramXRespone
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -59,7 +59,7 @@ public interface IProgramService extends IService<Program> {
*
* @return
*/
List
<
Program
SyRespons
e
>
selectAllSeven
(
ProRequest
proRequest
);
List
<
Program
XRespon
e
>
selectAllSeven
(
ProRequest
proRequest
);
/**
...
...
@@ -71,4 +71,23 @@ public interface IProgramService extends IService<Program> {
ProgramSyResponse
selectAllProgramCount
();
/**
* 全部片单信息
*
* @param
* @return
*/
ContentResponse
selectAllPrograms
();
/**
* 查询所有单片
* @param programRequest
* @return
*/
List
<
Program
>
selectAllProgra
(
ProgramRequest
programRequest
);
}
...
...
src/main/java/com/hui/iqiyi/service/impl/ContentServiceImpl.java
View file @
ad69ee0
...
...
@@ -2,10 +2,12 @@ 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.ProgramRequest
;
import
com.hui.iqiyi.response.ContentResponse
;
import
com.hui.iqiyi.service.IContentService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
...
...
@@ -19,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* <p>
...
...
@@ -81,5 +84,41 @@ public class ContentServiceImpl extends ServiceImpl<ContentMapper, Content> impl
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
;
}
}
...
...
src/main/java/com/hui/iqiyi/service/impl/MediaServiceImpl.java
View file @
ad69ee0
...
...
@@ -63,7 +63,7 @@ public class MediaServiceImpl extends ServiceImpl<MediaMapper, Media> implements
for
(
Media
media
:
list
)
{
for
(
ProgramRequest
pro
:
listPro
)
{
if
(
media
.
getId
().
compareTo
(
pro
.
getIqiyiContentId
())
==
0
)
{
//如果剧头的总集数与下载量一
直
则显示全部下载完成
//如果剧头的总集数与下载量一
至
则显示全部下载完成
if
(
media
.
getCurrCount
().
compareTo
(
pro
.
getDownloadCount
())
==
0
)
{
media
.
setDownloadStatus
(
"全部下载完成"
);
continue
;
...
...
src/main/java/com/hui/iqiyi/service/impl/MovieServiceImpl.java
View file @
ad69ee0
package
com
.
hui
.
iqiyi
.
service
.
impl
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.fastjson.JSON
;
import
com.hui.iqiyi.Util.ReturnBean
;
import
com.hui.iqiyi.Util.TestFileUtil
;
import
com.hui.iqiyi.entity.Movie
;
import
com.hui.iqiyi.excel.DownloadExcel
;
import
com.hui.iqiyi.mapper.MovieMapper
;
import
com.hui.iqiyi.request.MovieRequest
;
import
com.hui.iqiyi.request.ProRequest
;
...
...
@@ -28,6 +32,7 @@ import java.util.List;
@Primary
public
class
MovieServiceImpl
extends
ServiceImpl
<
MovieMapper
,
Movie
>
implements
IMovieService
{
@Autowired
private
MovieMapper
movieMapper
;
...
...
@@ -48,12 +53,21 @@ public class MovieServiceImpl extends ServiceImpl<MovieMapper, Movie> implements
@Override
public
List
<
Movie
>
selectAllPopulation
(
Movie
movie
)
{
return
movieMapper
.
selectAllPopulation
(
movie
);
public
List
<
Movie
>
selectAllPopulation
()
{
List
<
Movie
>
list
=
movieMapper
.
selectAllPopulation
();
list
.
stream
().
forEach
(
item
->{
if
(
item
.
getLocalStatus
()
==
0
)
item
.
setLocalStatuss
(
"未下载"
);
if
(
item
.
getLocalStatus
()
==
100
)
item
.
setLocalStatuss
(
"已下载"
);
});
System
.
out
.
printf
(
JSON
.
toJSONString
(
list
));
return
list
;
}
@Override
public
List
<
MovieResponse
>
selectAllSevenxz
(
ProRequest
proRequest
)
{
return
movieMapper
.
selectAllSevenxz
(
proRequest
);
}
}
...
...
src/main/java/com/hui/iqiyi/service/impl/ProgramServiceImpl.java
View file @
ad69ee0
...
...
@@ -5,6 +5,7 @@ import com.github.pagehelper.PageHelper;
import
com.github.pagehelper.PageInfo
;
import
com.hui.iqiyi.Util.ReturnBean
;
import
com.hui.iqiyi.Util.ReturnProgram
;
import
com.hui.iqiyi.entity.Content
;
import
com.hui.iqiyi.entity.Movie
;
import
com.hui.iqiyi.entity.Program
;
import
com.hui.iqiyi.mapper.ContentMapper
;
...
...
@@ -17,6 +18,7 @@ import com.hui.iqiyi.response.*;
import
com.hui.iqiyi.service.IProgramService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.xmlbeans.impl.xb.xsdschema.Public
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Primary
;
...
...
@@ -24,7 +26,6 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
...
...
@@ -52,6 +53,8 @@ public class ProgramServiceImpl extends ServiceImpl<ProgramMapper, Program> impl
@Resource
private
ContentMapper
contentMapper
;
public
Long
CurrCount
;
@Override
@Transactional
public
ReturnBean
updateByProgramIds
(
List
<
ByIdsRequest
>
requests
)
{
...
...
@@ -189,7 +192,7 @@ public class ProgramServiceImpl extends ServiceImpl<ProgramMapper, Program> impl
}
@Override
public
List
<
Program
SyRespons
e
>
selectAllSeven
(
ProRequest
proRequest
)
{
public
List
<
Program
XRespon
e
>
selectAllSeven
(
ProRequest
proRequest
)
{
return
programMapper
.
selectAllSeven
(
proRequest
);
}
...
...
@@ -222,4 +225,50 @@ public class ProgramServiceImpl extends ServiceImpl<ProgramMapper, Program> impl
}
@Override
public
ContentResponse
selectAllPrograms
()
{
List
<
Integer
>
integers
=
programMapper
.
selectAllPrograms
();
ContentResponse
response
=
new
ContentResponse
();
response
.
setDrama
(
integers
.
get
(
0
));
response
.
setMonolithic
(
integers
.
get
(
1
));
return
response
;
}
@Override
public
List
<
Program
>
selectAllProgra
(
ProgramRequest
programRequest
)
{
CurrCount
=
1L
;
List
<
Program
>
list
=
null
;
try
{
list
=
programMapper
.
selectAllProgra
(
programRequest
);
if
(
list
.
size
()
==
0
)
return
list
;
ProgramRequest
request
=
new
ProgramRequest
();
programRequest
.
setContentIdList
(
list
.
stream
().
map
(
Long
->
Long
.
getId
()).
collect
(
Collectors
.
toList
()));
List
<
ProgramRequest
>
listPro
=
programMapper
.
selectDownload
(
programRequest
);
for
(
Program
program
:
list
)
{
for
(
ProgramRequest
pro
:
listPro
)
{
if
(
program
.
getId
().
compareTo
(
pro
.
getIqiyiContentId
())
==
0
)
{
//如果剧头的总集数与下载量一至则显示全部下载完成
if
(
CurrCount
.
compareTo
(
pro
.
getDownloadCount
())
==
0
)
{
program
.
setDownloadStatus
(
"全部下载完成"
);
continue
;
}
//如果剧头的总集数 大于 下载量 就显示未全部下载
if
(
CurrCount
.
compareTo
(
pro
.
getDownloadCount
())
>
0
)
{
program
.
setDownloadStatus
(
"未全部下载"
);
continue
;
}
}
}
//里面是关联查询匹配,如果没有下载记录,就塞入未下载
if
(
ObjectUtils
.
isEmpty
(
program
.
getDownloadStatus
()))
program
.
setDownloadStatus
(
"未下载"
);
}
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
"服务器错误,错误原因是:"
+
e
.
getMessage
()
+
"请联系运维!"
);
}
return
list
;
}
}
\ No newline at end of file
...
...
src/main/resources/config/application.yml
View file @
ad69ee0
...
...
@@ -14,11 +14,22 @@ spring:
active
:
dev
mybatis-plus
:
configuration
:
configuration
:
log-impl
:
org.apache.ibatis.logging.stdout.StdOutImpl
mvc
:
async
:
request-timeout
:
200000
mybatis-plus
:
mapper-locations
:
classpath:mapper/iqiyi/*.xml
logging
:
config
:
classpath:logback.xml
recievers
:
shoujianren
:
jiaohui@topdraw.cn
filePath
:
D:\java\爱奇艺下载情况.xlsx\
...
...
src/main/resources/logback.xml
0 → 100644
View file @
ad69ee0
<?xml version="1.0" encoding="utf-8" ?>
<!-- 从高到地低 OFF 、 FATAL 、 ERROR 、 WARN 、 INFO 、 DEBUG 、 TRACE 、 ALL -->
<!-- 日志输出规则 根据当前ROOT 级别,日志输出时,级别高于root默认的级别时 会输出 -->
<!-- 以下 每个配置的 filter 是过滤掉输出文件里面,会出现高级别文件,依然出现低级别的日志信息,通过filter 过滤只记录本级别的日志-->
<!-- 属性描述 scan:性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,
默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 -->
<configuration
scan=
"true"
scanPeriod=
"60 seconds"
debug=
"false"
>
<!-- 定义日志文件 输入位置 -->
<property
name=
"logPath"
value=
"d:/test_log"
/>
<!-- 日志最大的历史 30天 -->
<property
name=
"maxHistory"
value=
"30"
/>
<logger
name=
"com.hui.iqiyi.controller.MovieController"
level=
"DEBUG"
/>
<!-- 配置项, 通过此节点配置日志输出位置(控制台、文件、数据库)、输出格式等-->
<!-- ConsoleAppender代表输出到控制台 -->
<appender
name=
"consoleLog"
class=
"ch.qos.logback.core.ConsoleAppender"
>
<!-- layout代表输出格式 -->
<layout
class=
"ch.qos.logback.classic.PatternLayout"
>
<pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n
</pattern>
</layout>
</appender>
<!-- 日志输出文件 -->
<appender
name=
"fileInfoLog"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<encoder>
<pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n
</pattern>
</encoder>
<!-- 滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件 RollingFileAppender-->
<!-- 滚动策略,它根据时间来制定滚动策略.既负责滚动也负责触发滚动 -->
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<!-- 输出路径 -->
<fileNamePattern>
${logPath}/info/%d.log
</fileNamePattern>
<!-- 可选节点,控制保留的归档文件的最大数量,超出数量就删除旧文件假设设置每个月滚动,且<maxHistory>是6,
则只保存最近6个月的文件,删除之前的旧文件。注意,删除旧文件是,那些为了归档而创建的目录也会被删除-->
<maxHistory>
${maxHistory}
</maxHistory>
</rollingPolicy>
<!-- 按照固定窗口模式生成日志文件,当文件大于20MB时,生成新的日志文件。窗口大小是1到3,当保存了3个归档文件后,将覆盖最早的日志。
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>${logPath}/%d{yyyy-MM-dd}/.log.zip</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>3</maxIndex>
</rollingPolicy> -->
<!-- 查看当前活动文件的大小,如果超过指定大小会告知RollingFileAppender 触发当前活动文件滚动
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>5MB</maxFileSize>
</triggeringPolicy> -->
</appender>
<!-- 特殊记录Error日志 -->
<appender
name=
"fileErrorLog"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<!-- 只记录ERROR级别日志,添加范围过滤,可以将该类型的日志特殊记录到某个位置 -->
<filter
class=
"ch.qos.logback.classic.filter.ThresholdFilter"
>
<level>
ERROR
</level>
</filter>
<encoder>
<pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n
</pattern>
</encoder>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<fileNamePattern>
${logPath}/error/%d.log
</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>
60
</maxHistory>
</rollingPolicy>
</appender>
<!-- 根节点,表名基本的日志级别,里面可以由多个appender规则 -->
<!-- level="info"代表基础日志级别为info -->
<root
level=
"info"
>
<!-- 引入控制台输出规则 -->
<appender-ref
ref=
"consoleLog"
/>
<appender-ref
ref=
"fileInfoLog"
/>
<appender-ref
ref=
"fileErrorLog"
/>
</root>
</configuration>
\ No newline at end of file
src/main/resources/mapper/iqiyi/ContentMapper.xml
View file @
ad69ee0
...
...
@@ -31,12 +31,46 @@
group by contentType,cname order by contentType,cname
</select>
<select
id=
"selectAllCont"
resultType=
"java.lang.Integer"
>
select count(1) from iqiyi_content where platform_info like '%1%'
union
select count(1) from iqiyi_program where series_flag = 0 and platform_info like '%1%'
</select>
<select
id=
"selectAllContenten"
resultType=
"com.hui.iqiyi.entity.Content"
parameterType=
"com.hui.iqiyi.request.ContentRequest"
>
select a.*
from iqiyi_content as a
where 1=1
<if
test=
"id != null and id != ''"
>
and id = #{id}
</if>
<if
test=
"cid != null and cid != ''"
>
and cid = #{cid}
</if>
<if
test=
"name!= null and name!= ''"
>
AND name like #{name}
</if>
<if
test=
"cname!= null and cname!= ''"
>
AND cname = #{cname}
</if>
<if
test=
"beginTime != null"
>
and create_time
>
= #{beginTime}
</if>
<if
test=
"EndTime != null"
>
and create_time
<
= #{EndTime}
</if>
<if
test=
"score != null"
>
and score = #{score}
</if>
<if
test=
"platformInfo != null"
>
and platform_info = #{platformInfo}
</if>
<if
test=
"downloadStatus !=null"
>
and local_status=#{downloadStatus}
</if>
ORDER BY create_time desc
</select>
<sql
id=
"Where_Cloumn"
>
<where>
...
...
src/main/resources/mapper/iqiyi/MediaMapper.xml
View file @
ad69ee0
...
...
@@ -6,8 +6,6 @@
select im.*
from iqiyi_media as im
left join iqiyi_program as ip on im.id =ip.iqiyi_content_id
LEFT JOIN iqiyi_movie as i on ip.id=i.iqiyi_program_id
where 1=1
<if
test=
"id != null and id != ''"
>
and id = #{id}
...
...
@@ -36,7 +34,6 @@
<if
test=
"platformInfo != null"
>
and platform_info = #{platformInfo}
</if>
<if
test=
"follow != null"
>
and platform_info is not null
</if>
...
...
@@ -61,32 +58,4 @@
</select>
<!-- <select id="selectAllIqIy" resultType="com.hui.iqiyi.entity.Media" parameterType="com.hui.iqiyi.request.MediaRequest">-->
<!-- select im.*-->
<!-- from iqiyi_media as im-->
<!-- where 1=1-->
<!-- <if test="param2.type != null and param2.type != ''">-->
<!-- and type = #{param2.type}-->
<!-- </if>-->
<!-- <if test="param2.name!= null and param2.name!= ''">-->
<!-- AND name = #{param2.name}-->
<!-- </if>-->
<!-- <if test="param2.cname!= null and param2.cname!= ''">-->
<!-- AND cname = #{param2.cname}-->
<!-- </if>-->
<!-- <if test="param2.beginTime != null">-->
<!-- and create_time >= #{param2.beginTime}-->
<!-- </if>-->
<!-- <if test="param2.EndTime != null">-->
<!-- and create_time <= #{param2.EndTime}-->
<!-- </if>-->
<!-- <if test="param2.score != null">-->
<!-- and score = #{param2.score}-->
<!-- </if>-->
<!-- <if test="param2.platform_info != null">-->
<!-- and platform_info = #{param2.platform_info}-->
<!-- </if>-->
<!-- ORDER BY create_time-->
<!-- </select>-->
</mapper>
...
...
src/main/resources/mapper/iqiyi/MovieMapper.xml
View file @
ad69ee0
...
...
@@ -23,16 +23,16 @@
</update>
<select
id=
"selectAllPopulation"
resultType=
"com.hui.iqiyi.entity.Movie"
parameterType=
"com.hui.iqiyi.entity.Movie"
>
<select
id=
"selectAllPopulation"
resultType=
"com.hui.iqiyi.entity.Movie"
>
select local_status, count(1) as'number',sum(file_size)/1024/1024/1024 as'capacity', sum(duration)/60/60 as'duration'
from iqiyi_movie where local_status >= 0
GROUP BY local_status
;
from iqiyi_movie where local_status >= 0
and vid > 0
GROUP BY local_status
</select>
<select
id=
"selectAllSevenxz"
resultType=
"com.hui.iqiyi.response.MovieResponse"
parameterType=
"com.hui.iqiyi.request.ProRequest"
>
SELECT DATE_FORMAT(p.update_time,"%Y-%m-%d")as day1 ,count(p.id) as
T
otlFee3 ,
sum(m.file_size)/1024/1024/1024 as
TotlSize2,sum(m.duration)/60/60 as T
otlDuration4
SELECT DATE_FORMAT(p.update_time,"%Y-%m-%d")as day1 ,count(p.id) as
t
otlFee3 ,
sum(m.file_size)/1024/1024/1024 as
totlSize2,sum(m.duration)/60/60 as t
otlDuration4
FROM iqiyi_program p left join iqiyi_movie m on p.id = m.iqiyi_program_id
<where>
<if
test=
"proRequest.startTime != null"
>
...
...
src/main/resources/mapper/iqiyi/ProgramMapper.xml
View file @
ad69ee0
...
...
@@ -53,7 +53,7 @@
</select>
<select
id=
"selectAllSeven"
parameterType=
"com.hui.iqiyi.request.ProRequest"
resultType=
"com.hui.iqiyi.response.Program
SyRespons
e"
>
<select
id=
"selectAllSeven"
parameterType=
"com.hui.iqiyi.request.ProRequest"
resultType=
"com.hui.iqiyi.response.Program
XRespon
e"
>
SELECT DATE_FORMAT(update_time,"%Y-%m-%d")as day ,count(1) as TotlFee ,
sum(file_size)/1024/1024/1024 as TotlSize,sum(duration)/60/60 as TotlDuration
...
...
@@ -82,6 +82,53 @@
group by local_status
</select>
<select
id=
"selectAllPrograms"
resultType=
"java.lang.Integer"
>
select count(1) from iqiyi_content
union
select count(1) from iqiyi_program where series_flag = 0
</select>
<select
id=
"selectAllProgra"
resultType=
"com.hui.iqiyi.entity.Program"
parameterType=
"com.hui.iqiyi.request.ProgramRequest"
>
select a.*
from iqiyi_program as a
LEFT JOIN iqiyi_movie as b on a.id=b.iqiyi_program_id
<where>
<if
test=
"id != null and id != ''"
>
and id = #{id}
</if>
<if
test=
"cid != null and cid != ''"
>
and cid = #{cid}
</if>
<if
test=
"name!= null and name!= ''"
>
AND name like #{name}
</if>
<if
test=
"cname!= null and cname!= ''"
>
AND cname = #{cname}
</if>
<if
test=
"beginTime != null"
>
and create_time
>
= #{beginTime}
</if>
<if
test=
"EndTime != null"
>
and create_time
<
= #{EndTime}
</if>
<if
test=
"score != null"
>
and score = #{score}
</if>
<if
test=
"platformInfo != null"
>
and platform_info = #{platformInfo}
</if>
<if
test=
"downloadStatus !=null"
>
and local_status=#{downloadStatus}
</if>
and series_flag=0
</where>
ORDER BY create_time desc
</select>
<sql
id=
"Pro_Cloumn"
>
...
...
src/test/java/com/hui/iqiyi/IqiyiApplicationTests.java
View file @
ad69ee0
package
com
.
hui
.
iqiyi
;
import
com.alibaba.excel.EasyExcel
;
import
com.hui.iqiyi.Util.TestFileUtil
;
import
com.hui.iqiyi.entity.Movie
;
import
com.hui.iqiyi.excel.DownloadExcel
;
import
com.hui.iqiyi.service.IMovieService
;
import
org.junit.jupiter.api.Test
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
java.util.List
;
@SpringBootTest
class
IqiyiApplicationTests
{
@Test
void
contextLoads
()
{
}
}
...
...
Please
register
or
sign in
to post a comment