Commit dd096b4c dd096b4ca2b416c0bedcf0f09909c757371d4e24 by 姬傲辉

添加了导出excel并发送邮件功能

修改了查询全部
1 parent ad69ee0d
Showing 31 changed files with 897 additions and 173 deletions
1 package com.hui.iqiyi.Util;
2
3 import java.io.File;
4 import java.io.InputStream;
5
6 public class TestFileUtil {
7
8
9 public static InputStream getResourcesFileInputStream(String fileName) {
10 return Thread.currentThread().getContextClassLoader().getResourceAsStream("" + fileName);
11 }
12
13 public static String getPath() {
14 return TestFileUtil.class.getResource("/").getPath();
15 }
16
17 public static File createNewFile(String pathName) {
18 File file = new File(getPath() + pathName);
19 if (file.exists()) {
20 file.delete();
21 } else {
22 if (!file.getParentFile().exists()) {
23 file.getParentFile().mkdirs();
24 }
25 }
26 return file;
27 }
28
29 public static File readFile(String pathName) {
30 return new File(getPath() + pathName);
31 }
32
33 public static File readUserHomeFile(String pathName) {
34 return new File(System.getProperty("user.home") + File.separator + pathName);
35 }
36 }
...@@ -10,6 +10,7 @@ import com.hui.iqiyi.entity.Media; ...@@ -10,6 +10,7 @@ import com.hui.iqiyi.entity.Media;
10 import com.hui.iqiyi.entity.Movie; 10 import com.hui.iqiyi.entity.Movie;
11 import com.hui.iqiyi.request.ContentRequest; 11 import com.hui.iqiyi.request.ContentRequest;
12 import com.hui.iqiyi.request.MediaRequest; 12 import com.hui.iqiyi.request.MediaRequest;
13 import com.hui.iqiyi.request.ProgramExcelRequest;
13 import com.hui.iqiyi.request.ProgramRequest; 14 import com.hui.iqiyi.request.ProgramRequest;
14 import com.hui.iqiyi.response.ContentResponse; 15 import com.hui.iqiyi.response.ContentResponse;
15 import com.hui.iqiyi.service.IContentService; 16 import com.hui.iqiyi.service.IContentService;
...@@ -70,18 +71,21 @@ public class ContentController { ...@@ -70,18 +71,21 @@ public class ContentController {
70 @ResponseBody 71 @ResponseBody
71 public PageInfo<Content> selectAllIqIy(ContentRequest contentRequest) { 72 public PageInfo<Content> selectAllIqIy(ContentRequest contentRequest) {
72 PageHelper.startPage(contentRequest.getPageNo(), contentRequest.getPageSize()); 73 PageHelper.startPage(contentRequest.getPageNo(), contentRequest.getPageSize());
73 ProgramRequest programRequest = new ProgramRequest(); 74 if (contentRequest.getType()== 0) {
74 if (contentRequest.getType() == 0) { 75 return new PageInfo(iProgramService.selectAllProgra(contentRequest));
75 return new PageInfo(iProgramService.selectAllProgra(programRequest)); 76 }
76 }
77 else if (contentRequest.getType() == 1) { 77 else if (contentRequest.getType() == 1) {
78 return new PageInfo(iContentService.selectAllContenten(contentRequest)); 78 return new PageInfo(iContentService.selectAllContenten(contentRequest));
79 } 79 }
80
81 return null ; 80 return null ;
82 } 81 }
83 82
84 83 @GetMapping("/selectAllCont11")
84 @ApiOperation("吉林片单22222222222")
85 @ResponseBody
86 public List<ProgramExcelRequest> selectAllCont111() {
87 return iContentService.selectAllDramaExcel();
88 }
85 89
86 90
87 } 91 }
......
...@@ -30,27 +30,27 @@ import java.util.List; ...@@ -30,27 +30,27 @@ import java.util.List;
30 @RestController 30 @RestController
31 @RequestMapping("/iqiyi/media") 31 @RequestMapping("/iqiyi/media")
32 public class MediaController { 32 public class MediaController {
33 33 //
34 @Autowired 34 // @Autowired
35 private IMediaService iMediaService; 35 // private IMediaService iMediaService;
36 36 //
37 @GetMapping("/selectAllIqIy") 37 // @GetMapping("/selectAllIqIy")
38 @ApiOperation("查询全部剧集信息") 38 // @ApiOperation("查询全部剧集信息")
39 @ResponseBody 39 // @ResponseBody
40 public PageInfo<Media> selectAllIqIy(MediaRequest request) { 40 // public PageInfo<Media> selectAllIqIy(MediaRequest request) {
41 PageHelper.startPage(request.getPageNo(), request.getPageSize()); 41 // PageHelper.startPage(request.getPageNo(), request.getPageSize());
42 42 //
43 return new PageInfo(iMediaService.selectAllIqIyList(request)); 43 // return new PageInfo(iMediaService.selectAllIqIyList(request));
44 } 44 // }
45 45 //
46 46 //
47 @GetMapping("/selectAllfollow") 47 // @GetMapping("/selectAllfollow")
48 @ApiOperation("查询关注平台的信息") 48 // @ApiOperation("查询关注平台的信息")
49 @ResponseBody 49 // @ResponseBody
50 public List<Media> selectAllfollow(Long info) { 50 // public List<Media> selectAllfollow(Long info) {
51 MediaRequest mediaRequest = new MediaRequest(); 51 // MediaRequest mediaRequest = new MediaRequest();
52 mediaRequest.setPlatformInfo(info); 52 // mediaRequest.setPlatformInfo(info);
53 return iMediaService.selectAllfollow(mediaRequest); 53 // return iMediaService.selectAllfollow(mediaRequest);
54 } 54 // }
55 55
56 } 56 }
......
1 package com.hui.iqiyi.controller; 1 package com.hui.iqiyi.controller;
2 2
3 3
4 import com.alibaba.excel.EasyExcel; 4
5 import com.alibaba.excel.ExcelWriter;
6 import com.alibaba.excel.write.metadata.WriteSheet;
7 import com.alibaba.excel.write.metadata.style.WriteCellStyle;
8 import com.github.pagehelper.PageHelper;
9 import com.github.pagehelper.PageInfo;
10 import com.hui.iqiyi.Util.TestFileUtil;
11 import com.hui.iqiyi.entity.Content;
12 import com.hui.iqiyi.entity.Movie; 5 import com.hui.iqiyi.entity.Movie;
13 import com.hui.iqiyi.excel.*;
14 import com.hui.iqiyi.request.ContentRequest;
15 import com.hui.iqiyi.request.ProRequest; 6 import com.hui.iqiyi.request.ProRequest;
16 import com.hui.iqiyi.response.ContentResponse;
17 import com.hui.iqiyi.response.MovieResponse; 7 import com.hui.iqiyi.response.MovieResponse;
18 import com.hui.iqiyi.response.ProgramSyResponse;
19 import com.hui.iqiyi.service.IMovieService; 8 import com.hui.iqiyi.service.IMovieService;
20 import com.hui.iqiyi.service.IProgramService; 9 import com.hui.iqiyi.service.IProgramService;
21 import io.swagger.annotations.Api; 10 import io.swagger.annotations.Api;
22 import io.swagger.annotations.ApiOperation; 11 import io.swagger.annotations.ApiOperation;
23 import org.apache.poi.ss.usermodel.HorizontalAlignment;
24 import org.springframework.beans.factory.annotation.Autowired; 12 import org.springframework.beans.factory.annotation.Autowired;
25 import org.springframework.web.bind.annotation.*; 13 import org.springframework.web.bind.annotation.*;
26 import org.testng.collections.Lists;
27
28 import javax.annotation.Resource; 14 import javax.annotation.Resource;
29 import java.util.ArrayList;
30 import java.util.List; 15 import java.util.List;
31 import java.util.Map; 16
32 17
33 /** 18 /**
34 * <p> 19 * <p>
...@@ -56,52 +41,6 @@ public class MovieController { ...@@ -56,52 +41,6 @@ public class MovieController {
56 return iMovieService.selectAllPopulation(); 41 return iMovieService.selectAllPopulation();
57 } 42 }
58 43
59 // @GetMapping("/selectAllPopulationn")
60 // @ApiOperation("查询总下载")
61 // @ResponseBody
62 // public void selectAllPopulationn(Movie Movie) {
63 //
64 // try {
65 // String path = "D:\\java\\爱奇艺下载情况.xlsx\\";
66 // //新建ExcelWriter
67 // ExcelWriter excelWriter = EasyExcel.write(path).build();
68 // //获取sheet0对象
69 // WriteSheet mainSheet = EasyExcel.writerSheet(0, "介质文件下载统计文件").head(DownloadExcel.class).build();
70 // //向sheet0写入数据 传入空list这样只导出表头
71 // excelWriter.write(iMovieService.selectAllPopulation(), mainSheet);
72 //
73 // //获取sheet1对象
74 // WriteSheet detailSheet = EasyExcel.writerSheet(1, "吉林关注片单").head(ProgramsExcel.class).build();
75 // //向sheet1写入数据 传入空list这样只导出表头
76 // List<ProgramSyResponse> programSyResponses = new ArrayList<>();
77 // programSyResponses.add(iProgramService.selectAllProgramCount());
78 // excelWriter.write(programSyResponses, detailSheet);
79 //
80 // //获取sheet1对象
81 // WriteSheet detailSheet1 = EasyExcel.writerSheet(2, "剧集单片数量").head(ProgramAllExcel.class).build();
82 // //向sheet1写入数据 传入空list这样只导出表头
83 // List<ContentResponse> contentResponses = new ArrayList<>();
84 // contentResponses.add(iProgramService.selectAllPrograms());
85 // excelWriter.write(contentResponses, detailSheet1);
86 //
87 // //获取sheet2对象
88 // WriteSheet SevenSheetDownload = EasyExcel.writerSheet(3, "近七日下载情况").head(ProsevenDownload.class).build();
89 // //向sheet0写入数据 传入空list这样只导出表头
90 // ProRequest proRequest = new ProRequest();
91 // excelWriter.write(iProgramService.selectAllSeven(proRequest), SevenSheetDownload);
92 //
93 // //获取sheet2对象
94 // WriteSheet SevenSheetzation= EasyExcel.writerSheet(4, "近七日同步情况").head(MoveExcel.class).build();
95 // //向sheet0写入数据 传入空list这样只导出表头
96 // ProRequest proRequest1 = new ProRequest();
97 // excelWriter.write(iMovieService.selectAllSevenxz(proRequest1), SevenSheetzation);
98 // //关闭流
99 // excelWriter.finish();
100 // } catch (Exception e) {
101 // System.out.println("导出异常"+ e.getMessage());
102 // }
103 // }
104
105 @GetMapping("/selectAllSevenXz") 44 @GetMapping("/selectAllSevenXz")
106 @ApiOperation("近七日同步情况") 45 @ApiOperation("近七日同步情况")
107 @ResponseBody 46 @ResponseBody
......
...@@ -2,33 +2,25 @@ package com.hui.iqiyi.controller; ...@@ -2,33 +2,25 @@ package com.hui.iqiyi.controller;
2 2
3 3
4 import com.alibaba.excel.EasyExcel; 4 import com.alibaba.excel.EasyExcel;
5 import com.alibaba.fastjson.JSON; 5 import com.alibaba.excel.ExcelWriter;
6 import com.alibaba.excel.write.metadata.WriteSheet;
6 import com.github.pagehelper.PageHelper; 7 import com.github.pagehelper.PageHelper;
7 import com.github.pagehelper.PageInfo; 8 import com.github.pagehelper.PageInfo;
8 import com.hui.iqiyi.Util.ReturnBean; 9 import com.hui.iqiyi.Util.ReturnBean;
9 import com.hui.iqiyi.entity.Content; 10 import com.hui.iqiyi.entity.Content;
10 import com.hui.iqiyi.entity.Program; 11 import com.hui.iqiyi.entity.Program;
11 import com.hui.iqiyi.excel.DownloadExcel; 12 import com.hui.iqiyi.excel.jlSheetExcel;
12 import com.hui.iqiyi.excel.ProgramsExcel; 13 import com.hui.iqiyi.excel.jujiExecl;
13 import com.hui.iqiyi.excel.ProsevenDownload; 14 import com.hui.iqiyi.request.*;
14 import com.hui.iqiyi.request.ByIdsRequest; 15 import com.hui.iqiyi.response.*;
15 import com.hui.iqiyi.request.ContentRequest; 16 import com.hui.iqiyi.service.IContentService;
16 import com.hui.iqiyi.request.ProRequest;
17 import com.hui.iqiyi.request.ProgramRequest;
18 import com.hui.iqiyi.response.ContentResponse;
19 import com.hui.iqiyi.response.ProgramResponse;
20 import com.hui.iqiyi.response.ProgramSyResponse;
21 import com.hui.iqiyi.response.ProgramXRespone;
22 import com.hui.iqiyi.service.IProgramService; 17 import com.hui.iqiyi.service.IProgramService;
23 import com.sun.org.apache.bcel.internal.generic.RETURN;
24 import io.swagger.annotations.Api; 18 import io.swagger.annotations.Api;
25 import io.swagger.annotations.ApiOperation; 19 import io.swagger.annotations.ApiOperation;
26 import org.springframework.beans.factory.annotation.Autowired; 20 import org.springframework.beans.factory.annotation.Autowired;
27 import org.springframework.beans.factory.annotation.Qualifier;
28 import org.springframework.web.bind.annotation.*; 21 import org.springframework.web.bind.annotation.*;
29 22
30 import javax.annotation.Resource; 23 import javax.annotation.Resource;
31 import java.util.ArrayList;
32 import java.util.List; 24 import java.util.List;
33 25
34 /** 26 /**
...@@ -46,6 +38,8 @@ public class ProgramController { ...@@ -46,6 +38,8 @@ public class ProgramController {
46 38
47 @Resource 39 @Resource
48 private IProgramService iProgramService; 40 private IProgramService iProgramService;
41 @Autowired
42 private IContentService iContentService;
49 43
50 @PostMapping("/addFollow") 44 @PostMapping("/addFollow")
51 @ApiOperation("添加关注") 45 @ApiOperation("添加关注")
...@@ -54,20 +48,20 @@ public class ProgramController { ...@@ -54,20 +48,20 @@ public class ProgramController {
54 } 48 }
55 49
56 50
57 @PostMapping("/selectFollow") 51 // @PostMapping("/selectFollow")
58 @ApiOperation("查看关注") 52 // @ApiOperation("查看关注")
59 public Object selectProMov(@RequestBody String platFormInfo, int PageNo, int PageSize) { 53 // public Object selectProMov(@RequestBody String platFormInfo, int PageNo, int PageSize) {
60 return iProgramService.selectProMov(new Program().setPlatformInfo(platFormInfo), PageNo, PageSize); 54 // return iProgramService.selectProMov(new Program().setPlatformInfo(platFormInfo), PageNo, PageSize);
61 } 55 // }
62 56
63 57
64 @GetMapping("/selectAllSingle") 58 // @GetMapping("/selectAllSingle")
65 @ApiOperation("查询单集") 59 // @ApiOperation("查询单集")
66 @ResponseBody 60 // @ResponseBody
67 public PageInfo<ProgramResponse> selectAllSingle(ProgramRequest request) { 61 // public PageInfo<ProgramResponse> selectAllSingle(ProgramRequest request) {
68 PageHelper.startPage(request.getPageNo(), request.getPageSize()); 62 // PageHelper.startPage(request.getPageNo(), request.getPageSize());
69 return new PageInfo(iProgramService.selectProgramDloadList(request)); 63 // return new PageInfo(iProgramService.selectProgramDloadList(request));
70 } 64 // }
71 65
72 66
73 @GetMapping("/selectAllSeven") 67 @GetMapping("/selectAllSeven")
...@@ -77,22 +71,64 @@ public class ProgramController { ...@@ -77,22 +71,64 @@ public class ProgramController {
77 return iProgramService.selectAllSeven(proRequest); 71 return iProgramService.selectAllSeven(proRequest);
78 } 72 }
79 73
74 //
75 // @GetMapping("/selectAllProgramCount")
76 // @ApiOperation("关注平台数据")
77 // @ResponseBody
78 // public ProgramSyResponse selectAllProgramCount() {
79 // return iProgramService.selectAllProgramCount();
80 // }
80 81
81 @GetMapping("/selectAllProgramCount") 82 @GetMapping("/selectAllmonolithic")
82 @ApiOperation("关注平台数据") 83 @ApiOperation("查询全部单片信息")
83 @ResponseBody 84 @ResponseBody
84 public ProgramSyResponse selectAllProgramCount() { 85 public PageInfo<Program> selectAllIqIy(ContentRequest contentRequest) {
85 return iProgramService.selectAllProgramCount(); 86 PageHelper.startPage(contentRequest.getPageNo(), contentRequest.getPageSize());
87 return new PageInfo(iProgramService.selectAllProgra(contentRequest));
86 } 88 }
87 89
88 @GetMapping("/selectAllMonolithic") 90
89 @ApiOperation("查询全部单片信息") 91 @GetMapping("/selectAllExcel")
92 @ApiOperation("导出关注单片信息")
93 @ResponseBody
94 public void selectAllExcel() {
95
96 try {
97 String path = "D:\\java\\吉林关注剧集片单.xlsx\\";
98 //新建ExcelWriter
99 ExcelWriter excelWriter = EasyExcel.write(path).build();
100 //获取sheet0对象
101 WriteSheet mainSheet = EasyExcel.writerSheet(0, "吉林关注单片").head(jlSheetExcel.class).build();
102 //向sheet0写入数据 传入空list这样只导出表头
103 excelWriter.write(iProgramService.selectAllExcel(), mainSheet);
104
105 //新建ExcelWriter
106 ExcelWriter excelWriter1 = EasyExcel.write(path).build();
107 //获取sheet0对象
108 WriteSheet mainSheet1 = EasyExcel.writerSheet(1, "吉林关注剧集").head(jujiExecl.class).build();
109 //向sheet0写入数据 传入空list这样只导出表头
110 excelWriter.write(iContentService.selectAllDramaExcel(), mainSheet1);
111
112
113 //关闭流
114 excelWriter.finish();
115 } catch (Exception e) {
116 System.out.println("导出异常" + e.getMessage());
117 }
118 }
119
120
121 @GetMapping("/selectAllmonolithicsss")
122 @ApiOperation("查询全部单片ss")
90 @ResponseBody 123 @ResponseBody
91 public PageInfo<Program> selectAllIqIy(ProgramRequest programRequest) { 124 public List<ProgramExcelRequest> selectAllIqIy11() {
92 PageHelper.startPage(programRequest.getPageNo(), programRequest.getPageSize()); 125 return iProgramService.selectAllExcel();
93 return new PageInfo(iProgramService.selectAllProgra(programRequest));
94 } 126 }
95 127
96 128
97 129
130
131
132
133
98 } 134 }
......
...@@ -287,6 +287,13 @@ public class Content implements Serializable { ...@@ -287,6 +287,13 @@ public class Content implements Serializable {
287 */ 287 */
288 private String downloadStatus; 288 private String downloadStatus;
289 289
290 /**
291 * 标识调用哪个方法
292 * 0单片
293 * 1剧集
294 */
295 private Long type =1L;
296
290 297
291 298
292 } 299 }
......
...@@ -312,4 +312,10 @@ public class Program implements Serializable { ...@@ -312,4 +312,10 @@ public class Program implements Serializable {
312 * 标识下载状态 312 * 标识下载状态
313 */ 313 */
314 private String downloadStatus; 314 private String downloadStatus;
315 /**
316 * 标识调用哪个方法
317 * 0单片
318 * 1剧集
319 */
320 private Long type =0L;
315 } 321 }
......
1 package com.hui.iqiyi.excel;
2
3 import com.alibaba.excel.annotation.ExcelProperty;
4 import com.alibaba.excel.annotation.write.style.ColumnWidth;
5 import com.alibaba.excel.annotation.write.style.ContentStyle;
6 import com.alibaba.excel.annotation.write.style.HeadStyle;
7 import lombok.Data;
8 import org.apache.poi.ss.usermodel.HorizontalAlignment;
9
10 @Data
11 @HeadStyle(horizontalAlignment = HorizontalAlignment.CENTER)//表头样式
12 @ContentStyle(horizontalAlignment = HorizontalAlignment.CENTER)//内容样式
13 @ColumnWidth(20)//表头宽度
14 public class DownloadExcel {
15 @ExcelProperty("下载情况")
16 private String localStatuss;
17 @ExcelProperty("下载数量")
18 private Long number;
19 @ExcelProperty("下载容量")
20 private Long capacity;
21 @ExcelProperty("下载时长")
22 private Integer duration;
23
24 }
1 package com.hui.iqiyi.excel;
2
3 import com.alibaba.excel.annotation.ExcelProperty;
4 import com.alibaba.excel.annotation.write.style.ColumnWidth;
5 import com.alibaba.excel.annotation.write.style.ContentStyle;
6 import com.alibaba.excel.annotation.write.style.HeadStyle;
7 import lombok.Data;
8 import org.apache.poi.ss.usermodel.HorizontalAlignment;
9
10 import java.util.Date;
11
12 @Data
13 @HeadStyle(horizontalAlignment = HorizontalAlignment.CENTER)//表头样式
14 @ContentStyle(horizontalAlignment = HorizontalAlignment.CENTER)//内容样式
15 @ColumnWidth(20)//表头宽度
16 public class MoveExcel {
17
18 @ExcelProperty("日期")
19 private String day1;
20 @ExcelProperty("节目同步数量")
21 private Long totlFee3;
22 @ExcelProperty("下载容量")
23 private Double totlSize2;
24 @ExcelProperty("下载时长")
25 private Double totlDuration4;
26 }
1 package com.hui.iqiyi.excel;
2
3 import com.alibaba.excel.annotation.ExcelProperty;
4 import com.alibaba.excel.annotation.write.style.ColumnWidth;
5 import com.alibaba.excel.annotation.write.style.ContentStyle;
6 import com.alibaba.excel.annotation.write.style.HeadStyle;
7 import lombok.Data;
8 import org.apache.poi.ss.usermodel.HorizontalAlignment;
9
10 @Data
11 @HeadStyle(horizontalAlignment = HorizontalAlignment.CENTER)//表头样式
12 @ContentStyle(horizontalAlignment = HorizontalAlignment.CENTER)//内容样式
13 @ColumnWidth(20)//表头宽度
14 public class ProgramAllExcel {
15 @ExcelProperty("剧集数量")
16 private Integer drama;
17 @ExcelProperty("单片数量")
18 private Integer monolithic;
19 }
1 package com.hui.iqiyi.excel;
2
3 import com.alibaba.excel.annotation.ExcelProperty;
4 import com.alibaba.excel.annotation.write.style.ColumnWidth;
5 import com.alibaba.excel.annotation.write.style.ContentStyle;
6 import com.alibaba.excel.annotation.write.style.HeadStyle;
7 import lombok.Data;
8 import org.apache.poi.ss.usermodel.HorizontalAlignment;
9
10 @Data
11 @HeadStyle(horizontalAlignment = HorizontalAlignment.CENTER)//表头样式
12 @ContentStyle(horizontalAlignment = HorizontalAlignment.CENTER)//内容样式
13 @ColumnWidth(20)//表头宽度
14 public class ProgramsExcel {
15 //剧集
16 @ExcelProperty("剧集数量")
17 private Integer drama;
18 //单片
19 @ExcelProperty("单片数量")
20 private Integer monolithic;
21 //下载数量
22 @ExcelProperty("已下载数量")
23 private Long xzNumbe;
24 //下载容量
25 @ExcelProperty("已下载容量(G)")
26 private Double xzSize;
27 //下载时长
28 @ExcelProperty("已下载时长")
29 private Double totlDuration;
30 //下载失败的数量
31 @ExcelProperty("下载失败数量")
32 private Long failSum;
33 //同步未下载数量
34 @ExcelProperty("同步未下载数量")
35 private Long totlSize;
36 //未同步介质数量
37 @ExcelProperty("未同步介质数量")
38 private Long totlFee;
39 }
1 package com.hui.iqiyi.excel;
2
3 import com.alibaba.excel.annotation.ExcelProperty;
4 import com.alibaba.excel.annotation.write.style.ColumnWidth;
5 import com.alibaba.excel.annotation.write.style.ContentStyle;
6 import com.alibaba.excel.annotation.write.style.HeadStyle;
7 import lombok.Data;
8 import org.apache.poi.ss.usermodel.HorizontalAlignment;
9
10 @Data
11 @HeadStyle(horizontalAlignment = HorizontalAlignment.CENTER)//表头样式
12 @ContentStyle(horizontalAlignment = HorizontalAlignment.CENTER)//内容样式
13 @ColumnWidth(20)//表头宽度
14 public class ProsevenDownload {
15
16 @ExcelProperty("日期")
17 private String day;
18 @ExcelProperty("已下载数量")
19 private Long totlFee;
20 @ExcelProperty("已下载容量(G)")
21 private Double totlSize;
22 @ExcelProperty("已下载时长")
23 private Double totlDuration;
24 }
1 package com.hui.iqiyi.excel;
2
3 import com.alibaba.excel.annotation.ExcelProperty;
4 import com.alibaba.excel.annotation.write.style.ColumnWidth;
5 import com.alibaba.excel.annotation.write.style.ContentStyle;
6 import com.alibaba.excel.annotation.write.style.HeadStyle;
7 import lombok.Data;
8 import org.apache.poi.ss.usermodel.HorizontalAlignment;
9
10 @Data
11 @HeadStyle(horizontalAlignment = HorizontalAlignment.CENTER)//表头样式
12 @ContentStyle(horizontalAlignment = HorizontalAlignment.CENTER)//内容样式
13 @ColumnWidth(40)//表头宽度
14 public class jlSheetExcel {
15 //节目名称
16 @ExcelProperty("节目名称")
17 private String name;
18 //节目类型
19 @ExcelProperty("节目类型")
20 private String elementType;
21 //爱奇艺id
22 @ExcelProperty("爱奇艺id")
23 private Long externalId;
24 //节目内容分类
25 @ExcelProperty("节目内容分类")
26 private String cname;
27 //上映年份
28 @ExcelProperty("上映年份")
29 private String year;
30 //首播日期
31 @ExcelProperty("首播日期")
32 private String publishTime;
33 //节目描述
34 @ExcelProperty("节目描述")
35 private String desc ;
36 //节目标签
37 @ExcelProperty("节目标签")
38 private String tags;
39 //节目图片路径
40 @ExcelProperty("节目图片路径")
41 private String picUrl;
42 //导演
43 @ExcelProperty("导演")
44 private String directors;
45 //主演
46 @ExcelProperty("主演")
47 private String mainActors;
48 //编剧
49 @ExcelProperty("编剧")
50 private String writers;
51 //明星
52 @ExcelProperty("明星")
53 private String stars;
54 //索引名称
55 @ExcelProperty("索引名称")
56 private String searchName;
57 //评分
58 @ExcelProperty("评分")
59 private String score;
60 //地区
61 @ExcelProperty("地区")
62 private String country;
63 //语言
64 @ExcelProperty("语言")
65 private String language;
66 //爱奇艺节目id
67 @ExcelProperty("爱奇艺节目id")
68 private Long iqiyiContentId;
69 //码流id
70 @ExcelProperty("码流id")
71 private String vid;
72 //清晰度
73 @ExcelProperty("清晰度")
74 private String bitrate;
75 //时长
76 @ExcelProperty("时长")
77 private String duration;
78 //tar包大小
79 @ExcelProperty("tar包大小")
80 private String fileSize;
81 //下载状态
82 @ExcelProperty("下载状态")
83 private Long localStatus;
84 //下载地址
85 @ExcelProperty("下载地址")
86 private String localPath;
87
88
89 }
1 package com.hui.iqiyi.excel;
2
3 import com.alibaba.excel.annotation.ExcelProperty;
4 import com.alibaba.excel.annotation.write.style.ColumnWidth;
5 import com.alibaba.excel.annotation.write.style.ContentStyle;
6 import com.alibaba.excel.annotation.write.style.HeadStyle;
7 import lombok.Data;
8 import org.apache.poi.ss.usermodel.HorizontalAlignment;
9
10 @Data
11 @HeadStyle(horizontalAlignment = HorizontalAlignment.CENTER)//表头样式
12 @ContentStyle(horizontalAlignment = HorizontalAlignment.CENTER)//内容样式
13 @ColumnWidth(40)//表头宽度
14 public class jujiExecl {
15 //节目名称
16 @ExcelProperty("节目名称")
17 private String name;
18 //节目类型
19 @ExcelProperty("节目类型")
20 private String elementType;
21 //爱奇艺id
22 @ExcelProperty("爱奇艺id")
23 private Long externalId;
24 //节目内容分类
25 @ExcelProperty("节目内容分类")
26 private String cname;
27 //上映年份
28 @ExcelProperty("上映年份")
29 private String year;
30 //首播日期
31 @ExcelProperty("首播日期")
32 private String publishTime;
33 //节目描述
34 @ExcelProperty("节目描述")
35 private String desc ;
36 //节目标签
37 @ExcelProperty("节目标签")
38 private String tags;
39 //节目图片路径
40 @ExcelProperty("节目图片路径")
41 private String picUrl;
42 //导演
43 @ExcelProperty("导演")
44 private String directors;
45 //主演
46 @ExcelProperty("主演")
47 private String mainActors;
48 //编剧
49 @ExcelProperty("编剧")
50 private String writers;
51 //明星
52 @ExcelProperty("明星")
53 private String stars;
54 //索引名称
55 @ExcelProperty("索引名称")
56 private String searchName;
57 //评分
58 @ExcelProperty("评分")
59 private String score;
60 //地区
61 @ExcelProperty("地区")
62 private String country;
63 //语言
64 @ExcelProperty("语言")
65 private String language;
66 //爱奇艺节目id
67 @ExcelProperty("爱奇艺节目id")
68 private Long iqiyiContentId;
69 //码流id
70 @ExcelProperty("码流id")
71 private String vid;
72 //单集名称
73 @ExcelProperty("单集名称")
74 private String Sname;
75 //清晰度
76 @ExcelProperty("清晰度")
77 private String bitrate;
78 //时长
79 @ExcelProperty("时长")
80 private String duration;
81 //tar包大小
82 @ExcelProperty("tar包大小")
83 private String fileSize;
84 //下载状态
85 @ExcelProperty("下载状态")
86 private Long localStatus;
87 //下载地址
88 @ExcelProperty("下载地址")
89 private String localPath;
90 //总集数
91 @ExcelProperty("总集数")
92 private Long total;
93 }
...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 import com.hui.iqiyi.entity.Media; 5 import com.hui.iqiyi.entity.Media;
6 import com.hui.iqiyi.request.ContentRequest; 6 import com.hui.iqiyi.request.ContentRequest;
7 import com.hui.iqiyi.request.MediaRequest; 7 import com.hui.iqiyi.request.MediaRequest;
8 import com.hui.iqiyi.request.ProgramExcelRequest;
8 import com.hui.iqiyi.response.ContentResponse; 9 import com.hui.iqiyi.response.ContentResponse;
9 10
10 import java.util.List; 11 import java.util.List;
...@@ -63,4 +64,12 @@ public interface ContentMapper extends BaseMapper<Content> { ...@@ -63,4 +64,12 @@ public interface ContentMapper extends BaseMapper<Content> {
63 List<Content> selectAllContenten(ContentRequest contentRequest); 64 List<Content> selectAllContenten(ContentRequest contentRequest);
64 65
65 66
67
68
69 /**
70 * 导出关注剧集
71 * @return
72 */
73 List<ProgramExcelRequest> selectAllDramaExcel();
74
66 } 75 }
......
1 package com.hui.iqiyi.mapper; 1 package com.hui.iqiyi.mapper;
2 2
3 import com.hui.iqiyi.entity.Content;
4 import com.hui.iqiyi.entity.Program; 3 import com.hui.iqiyi.entity.Program;
5 import com.baomidou.mybatisplus.core.mapper.BaseMapper; 4 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
6 import com.hui.iqiyi.request.ByIdsRequest; 5 import com.hui.iqiyi.request.*;
7 import com.hui.iqiyi.request.ContentRequest;
8 import com.hui.iqiyi.request.ProRequest;
9 import com.hui.iqiyi.request.ProgramRequest;
10 import com.hui.iqiyi.response.*; 6 import com.hui.iqiyi.response.*;
11 import org.apache.ibatis.annotations.Param; 7 import org.apache.ibatis.annotations.Param;
12 import org.springframework.context.annotation.Primary;
13 import sun.rmi.runtime.Log;
14 8
15 import java.util.List; 9 import java.util.List;
16 10
...@@ -29,17 +23,17 @@ public interface ProgramMapper extends BaseMapper<Program> { ...@@ -29,17 +23,17 @@ public interface ProgramMapper extends BaseMapper<Program> {
29 * 根据 给电影添加关注 23 * 根据 给电影添加关注
30 */ 24 */
31 25
32 int updateFilm(Long id); 26 int updateFilm(Long id,Long platformInfo);
33 27
34 /** 28 /**
35 * 根据 id给 29 * 根据 id给
36 */ 30 */
37 int updatePla(Long id); 31 int updatePla(Long id,Long platformInfo);
38 32
39 /** 33 /**
40 * 34 *
41 */ 35 */
42 int updateTeleplay(Long id); 36 int updateTeleplay(Long id,Long platformInfo);
43 37
44 /** 38 /**
45 * 获取每一集的下载状态 39 * 获取每一集的下载状态
...@@ -85,12 +79,26 @@ public interface ProgramMapper extends BaseMapper<Program> { ...@@ -85,12 +79,26 @@ public interface ProgramMapper extends BaseMapper<Program> {
85 79
86 /** 80 /**
87 * 查询所有单片 81 * 查询所有单片
88 * @param programRequest 82 * @param contentRequest
89 * @return 83 * @return
90 */ 84 */
91 85
92 List<Program> selectAllProgra(ProgramRequest programRequest); 86 List<Program> selectAllProgra(ContentRequest contentRequest);
93 87
88 /**
89 * 导出关注单片数据
90 * @return
91 */
92 List<ProgramExcelRequest> selectAllMonolithicExcel();
93
94
95 /**
96 * 计算预计容量预计时长
97 *
98 * @param
99 * @return
100 */
101 List<ProgramCalcu> selectCalculation();
94 102
95 103
96 } 104 }
......
...@@ -12,4 +12,8 @@ public class ByIdsRequest { ...@@ -12,4 +12,8 @@ public class ByIdsRequest {
12 12
13 @ApiModelProperty(value = "type", required = true) 13 @ApiModelProperty(value = "type", required = true)
14 private Integer type; 14 private Integer type;
15
16 @ApiModelProperty(value = "type", required = true)
17 private Long platformInfo;
18
15 } 19 }
......
...@@ -292,5 +292,9 @@ public class ContentRequest extends AppPagingRequest { ...@@ -292,5 +292,9 @@ public class ContentRequest extends AppPagingRequest {
292 */ 292 */
293 private Integer downloadStatus; 293 private Integer downloadStatus;
294 294
295 /**
296 * 扩展字段
297 */
298 private Long downloadCount;
295 299
296 } 300 }
......
1 package com.hui.iqiyi.request;
2 import lombok.Data;
3
4 import java.time.LocalDateTime;
5
6 @Data
7 public class ProgramExcelRequest {
8
9 private Long id;
10 //节目名称
11 private String name;
12 //节目类型
13 private String elementType;
14 //爱奇艺id
15 private Long externalId;
16 //节目内容分类
17 private String cname;
18 //上映年份
19 private String year;
20 //首播日期
21 private String publishTime;
22 //节目描述
23 private String desc ;
24 //节目标签
25 private String tags;
26 //节目图片路径
27 private String picUrl;
28 //导演
29 private String directors;
30 //主演
31 private String mainActors;
32 //编剧
33 private String writers;
34 //明星
35 private String stars;
36 //索引名称
37 private String searchName;
38 //评分
39 private String score;
40 //地区
41 private String country;
42 //语言
43 private String language;
44 //爱奇艺节目id
45 private Long iqiyiContentId;
46 //码流id
47 private String vid;
48 //单集名称
49 private String Sname;
50 //清晰度
51 private String bitrate;
52 //时长
53 private String duration;
54 //tar包大小
55 private String fileSize;
56 //下载状态
57 private Long localStatus;
58 //下载地址
59 private String localPath;
60 //总集数
61 private Long total;
62 /**
63 * 创建时间
64 */
65 private LocalDateTime createTime;
66
67 //开始时间
68 private String beginTime;
69 //结束时间
70 private String EndTime;
71
72 //标识下载状态
73 private String LocalStatuss;
74
75
76
77
78
79
80
81 }
...@@ -268,6 +268,11 @@ public class ProgramRequest extends AppPagingRequest { ...@@ -268,6 +268,11 @@ public class ProgramRequest extends AppPagingRequest {
268 */ 268 */
269 private String score; 269 private String score;
270 270
271 // /**
272 // * 用户评分2
273 // */
274 // private String score2;
275
271 /** 276 /**
272 * 同步标识 0:未进行同步,1:同步成功,-1: 同步失败 277 * 同步标识 0:未进行同步,1:同步成功,-1: 同步失败
273 */ 278 */
......
1 package com.hui.iqiyi.response;
2
3 import lombok.Data;
4
5 @Data
6 public class ProgramCalcu {
7 //下载容量
8 private Long xzSize;
9 //下载时长
10 private Long totlDuration;
11
12 }
1 package com.hui.iqiyi.response;
2
3 import lombok.Data;
4
5 @Data
6 public class ProgramXRespone {
7 //时间
8 private String day;
9 //下载数量
10 private Long TotlFee;
11 //下载容量
12 private Double TotlSize;
13 //下载时长
14 private Double TotlDuration;
15 }
1 package com.hui.iqiyi.schedule;
2
3 import com.alibaba.excel.EasyExcel;
4 import com.alibaba.excel.ExcelWriter;
5 import com.alibaba.excel.write.metadata.WriteSheet;
6 import com.alibaba.excel.write.metadata.style.WriteCellStyle;
7 import com.hui.iqiyi.Util.MailUtil;
8 import com.hui.iqiyi.entity.Movie;
9 import com.hui.iqiyi.excel.*;
10 import com.hui.iqiyi.request.ProRequest;
11 import com.hui.iqiyi.response.ContentResponse;
12 import com.hui.iqiyi.response.ProgramCalcu;
13 import com.hui.iqiyi.response.ProgramSyResponse;
14 import com.hui.iqiyi.service.IMovieService;
15 import com.hui.iqiyi.service.IProgramService;
16 import org.apache.poi.ss.usermodel.HorizontalAlignment;
17 import org.springframework.beans.factory.annotation.Autowired;
18 import org.springframework.beans.factory.annotation.Value;
19 import org.springframework.scheduling.annotation.Scheduled;
20 import org.springframework.stereotype.Component;
21
22 import java.io.File;
23 import java.text.SimpleDateFormat;
24 import java.util.ArrayList;
25 import java.util.Date;
26 import java.util.List;
27 import java.util.stream.Collectors;
28
29 @Component//注入bean
30 public class Timedtask {
31
32 @Autowired
33 private IMovieService iMovieService;
34
35 @Autowired
36 private IProgramService iProgramService;
37
38 @Value("${recievers.shoujianren}")
39 private String Youxiang;
40
41 @Value("${filePath}")
42 private String path;
43 //添加定时任务
44 //@Scheduled(cron = "0 20 16 * * 5 ")//每周五16时20分发送
45 // @Scheduled(cron = "0/5 * * * * ?")
46 public void Timedtask() {
47
48 try {
49
50 //新建ExcelWriter
51 ExcelWriter excelWriter = EasyExcel.write(path).build();
52 //获取sheet0对象
53 WriteSheet mainSheet = EasyExcel.writerSheet(0, "介质文件下载统计文件").head(DownloadExcel.class).build();
54 //向sheet0写入数据 传入空list这样只导出表头
55 List<Movie> movies = iMovieService.selectAllPopulation().stream().filter(item->item.getLocalStatus()==100).collect(Collectors.toList());
56 excelWriter.write(movies, mainSheet);
57
58 //获取sheet1对象
59 WriteSheet detailSheet = EasyExcel.writerSheet(1, "吉林关注片单").head(ProgramsExcel.class).build();
60 //向sheet1写入数据 传入空list这样只导出表头
61 List<ProgramSyResponse> programSyResponses = new ArrayList<>();
62 programSyResponses.add(iProgramService.selectAllProgramCount());
63 excelWriter.write(programSyResponses, detailSheet);
64 //获取sheet1对象
65 WriteSheet detailSheet1 = EasyExcel.writerSheet(2, "剧集单片数量").head(ProgramAllExcel.class).build();
66 //向sheet1写入数据 传入空list这样只导出表头
67 List<ContentResponse> contentResponses = new ArrayList<>();
68 contentResponses.add(iProgramService.selectAllPrograms());
69 excelWriter.write(contentResponses, detailSheet1);
70
71 //获取sheet2对象
72 WriteSheet SevenSheetDownload = EasyExcel.writerSheet(3, "近七日下载情况").head(ProsevenDownload.class).build();
73 //向sheet0写入数据 传入空list这样只导出表头
74 ProRequest proRequest = new ProRequest();
75 excelWriter.write(iProgramService.selectAllSeven(proRequest), SevenSheetDownload);
76
77 //获取sheet2对象
78 WriteSheet SevenSheetzation = EasyExcel.writerSheet(4, "近七日同步情况").head(MoveExcel.class).build();
79 //向sheet0写入数据 传入空list这样只导出表头
80 ProRequest proRequest1 = new ProRequest();
81 excelWriter.write(iMovieService.selectAllSevenxz(proRequest1), SevenSheetzation);
82 //关闭流
83 excelWriter.finish();
84 try {
85 List<ProgramCalcu> integers = iProgramService.selectCalculation();
86 //接收人放到配置文件里
87 //String to="2292269071@qq.com";
88 File file = new File(path);
89 MailUtil.sendText(Youxiang ,"爱奇艺统计", "各位好:\n" +
90 " 截止至 "+new SimpleDateFormat("yyyy-MM-dd").format(new Date()) +"日 爱奇艺同步下载统计如下\n" +
91 " 剧集数量:"+contentResponses.get(0).getDrama()+"部;\n" +
92 " 单片数量:"+contentResponses.get(0).getMonolithic()+"部;\n" +
93 " 介质下载 数量:"+movies.get(0).getNumber()+"集\n" +
94 " 容量"+movies.get(0).getCapacity()+" G\n" +
95 " 时长:"+movies.get(0).getDuration()+" 小时\n" +
96 " 下载速度 大约 5 M/s\n" +
97 " 吉林片单中 :\n" +
98 " 剧集:"+programSyResponses.get(0).getDrama()+"部\n" +
99 " 单片:"+programSyResponses.get(0).getMonolithic()+"部\n" +
100 " 已下载数量:"+programSyResponses.get(0).getXzNumbe()+"集\n" +
101 " 已下载容量:"+programSyResponses.get(0).getXzSize()+"G\n" +
102 " 已下载时长:"+programSyResponses.get(0).getTotlDuration()+"小时\n" +
103 " 未下载数量:"+programSyResponses.get(0).getFailSum()+"集\n" +
104 " 未同步数量:"+programSyResponses.get(0).getTotlFee()+"集\n" +
105 " \n" +
106 " 未下载预计容量: "+integers.get(0).getXzSize()+"G\n" +
107 " 未下载预计时长:"+integers.get(0).getTotlDuration()+"小时\n" +
108 " 预计需要下载时间:10天\n" +
109 "\n" +
110 "详情见以下附件:", file);
111 } catch (Exception e) {
112 System.out.println("发送邮件失败{}"+ e);
113 }
114 } catch (Exception e) {
115 System.out.println("导出异常"+ e.getMessage());
116 }
117
118
119 }
120 }
...@@ -4,6 +4,7 @@ import com.hui.iqiyi.Util.ReturnBean; ...@@ -4,6 +4,7 @@ import com.hui.iqiyi.Util.ReturnBean;
4 import com.hui.iqiyi.entity.Content; 4 import com.hui.iqiyi.entity.Content;
5 import com.baomidou.mybatisplus.extension.service.IService; 5 import com.baomidou.mybatisplus.extension.service.IService;
6 import com.hui.iqiyi.request.ContentRequest; 6 import com.hui.iqiyi.request.ContentRequest;
7 import com.hui.iqiyi.request.ProgramExcelRequest;
7 import com.hui.iqiyi.response.ContentResponse; 8 import com.hui.iqiyi.response.ContentResponse;
8 9
9 import java.util.List; 10 import java.util.List;
...@@ -64,6 +65,11 @@ public interface IContentService extends IService<Content> { ...@@ -64,6 +65,11 @@ public interface IContentService extends IService<Content> {
64 65
65 66
66 67
68 /**
69 * 导出关注剧集
70 * @return
71 */
72 List<ProgramExcelRequest> selectAllDramaExcel();
67 73
68 74
69 75
......
...@@ -4,13 +4,8 @@ import com.hui.iqiyi.Util.ReturnBean; ...@@ -4,13 +4,8 @@ import com.hui.iqiyi.Util.ReturnBean;
4 import com.hui.iqiyi.entity.Movie; 4 import com.hui.iqiyi.entity.Movie;
5 import com.hui.iqiyi.entity.Program; 5 import com.hui.iqiyi.entity.Program;
6 import com.baomidou.mybatisplus.extension.service.IService; 6 import com.baomidou.mybatisplus.extension.service.IService;
7 import com.hui.iqiyi.request.ByIdsRequest; 7 import com.hui.iqiyi.request.*;
8 import com.hui.iqiyi.request.ProRequest; 8 import com.hui.iqiyi.response.*;
9 import com.hui.iqiyi.request.ProgramRequest;
10 import com.hui.iqiyi.response.ContentResponse;
11 import com.hui.iqiyi.response.ProgramResponse;
12 import com.hui.iqiyi.response.ProgramSyResponse;
13 import com.hui.iqiyi.response.ProgramXRespone;
14 9
15 import java.util.List; 10 import java.util.List;
16 import java.util.Map; 11 import java.util.Map;
...@@ -82,11 +77,29 @@ public interface IProgramService extends IService<Program> { ...@@ -82,11 +77,29 @@ public interface IProgramService extends IService<Program> {
82 77
83 /** 78 /**
84 * 查询所有单片 79 * 查询所有单片
85 * @param programRequest 80 * @param contentRequest
86 * @return 81 * @return
87 */ 82 */
88 83
89 List<Program> selectAllProgra(ProgramRequest programRequest); 84 List<Program> selectAllProgra(ContentRequest contentRequest);
85
86
87 /**
88 * 导出关注单片数据
89 * @return
90 */
91 List<ProgramExcelRequest> selectAllExcel();
92
93
94 /**
95 * 计算预计容量预计时长
96 *
97 * @param
98 * @return
99 */
100 List<ProgramCalcu> selectCalculation();
101
102
90 103
91 104
92 105
......
...@@ -7,6 +7,7 @@ import com.hui.iqiyi.entity.Movie; ...@@ -7,6 +7,7 @@ import com.hui.iqiyi.entity.Movie;
7 import com.hui.iqiyi.entity.Program; 7 import com.hui.iqiyi.entity.Program;
8 import com.hui.iqiyi.mapper.ContentMapper; 8 import com.hui.iqiyi.mapper.ContentMapper;
9 import com.hui.iqiyi.request.ContentRequest; 9 import com.hui.iqiyi.request.ContentRequest;
10 import com.hui.iqiyi.request.ProgramExcelRequest;
10 import com.hui.iqiyi.request.ProgramRequest; 11 import com.hui.iqiyi.request.ProgramRequest;
11 import com.hui.iqiyi.response.ContentResponse; 12 import com.hui.iqiyi.response.ContentResponse;
12 import com.hui.iqiyi.service.IContentService; 13 import com.hui.iqiyi.service.IContentService;
...@@ -119,6 +120,17 @@ public class ContentServiceImpl extends ServiceImpl<ContentMapper, Content> impl ...@@ -119,6 +120,17 @@ public class ContentServiceImpl extends ServiceImpl<ContentMapper, Content> impl
119 return list; 120 return list;
120 } 121 }
121 122
123 @Override
124 public List<ProgramExcelRequest> selectAllDramaExcel() {
125 List<ProgramExcelRequest> list = contentMapper.selectAllDramaExcel();
126 // list.stream().forEach(item->{
127 // if (item.getLocalStatus()==0)
128 // item.setLocalStatuss("未下载");
129 // if (item.getLocalStatus()==100)
130 // item.setLocalStatuss("已下载");
131 // });
132 return list;
133 }
122 134
123 135
124 } 136 }
......
...@@ -5,20 +5,16 @@ import com.github.pagehelper.PageHelper; ...@@ -5,20 +5,16 @@ import com.github.pagehelper.PageHelper;
5 import com.github.pagehelper.PageInfo; 5 import com.github.pagehelper.PageInfo;
6 import com.hui.iqiyi.Util.ReturnBean; 6 import com.hui.iqiyi.Util.ReturnBean;
7 import com.hui.iqiyi.Util.ReturnProgram; 7 import com.hui.iqiyi.Util.ReturnProgram;
8 import com.hui.iqiyi.entity.Content;
9 import com.hui.iqiyi.entity.Movie; 8 import com.hui.iqiyi.entity.Movie;
10 import com.hui.iqiyi.entity.Program; 9 import com.hui.iqiyi.entity.Program;
11 import com.hui.iqiyi.mapper.ContentMapper; 10 import com.hui.iqiyi.mapper.ContentMapper;
12 import com.hui.iqiyi.mapper.MovieMapper; 11 import com.hui.iqiyi.mapper.MovieMapper;
13 import com.hui.iqiyi.mapper.ProgramMapper; 12 import com.hui.iqiyi.mapper.ProgramMapper;
14 import com.hui.iqiyi.request.ByIdsRequest; 13 import com.hui.iqiyi.request.*;
15 import com.hui.iqiyi.request.ProRequest;
16 import com.hui.iqiyi.request.ProgramRequest;
17 import com.hui.iqiyi.response.*; 14 import com.hui.iqiyi.response.*;
18 import com.hui.iqiyi.service.IProgramService; 15 import com.hui.iqiyi.service.IProgramService;
19 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 16 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
20 import org.apache.commons.lang3.ObjectUtils; 17 import org.apache.commons.lang3.ObjectUtils;
21 import org.apache.xmlbeans.impl.xb.xsdschema.Public;
22 import org.springframework.beans.BeanUtils; 18 import org.springframework.beans.BeanUtils;
23 import org.springframework.beans.factory.annotation.Autowired; 19 import org.springframework.beans.factory.annotation.Autowired;
24 import org.springframework.context.annotation.Primary; 20 import org.springframework.context.annotation.Primary;
...@@ -26,6 +22,7 @@ import org.springframework.stereotype.Service; ...@@ -26,6 +22,7 @@ import org.springframework.stereotype.Service;
26 import org.springframework.transaction.annotation.Transactional; 22 import org.springframework.transaction.annotation.Transactional;
27 23
28 import javax.annotation.Resource; 24 import javax.annotation.Resource;
25 import javax.mail.FetchProfile;
29 import java.util.ArrayList; 26 import java.util.ArrayList;
30 import java.util.HashMap; 27 import java.util.HashMap;
31 import java.util.List; 28 import java.util.List;
...@@ -62,17 +59,16 @@ public class ProgramServiceImpl extends ServiceImpl<ProgramMapper, Program> impl ...@@ -62,17 +59,16 @@ public class ProgramServiceImpl extends ServiceImpl<ProgramMapper, Program> impl
62 try { 59 try {
63 if (ObjectUtils.isEmpty(requests)) 60 if (ObjectUtils.isEmpty(requests))
64 returnBean.errorSuccessInfo("传入的ID不能为空"); 61 returnBean.errorSuccessInfo("传入的ID不能为空");
65 // requests.stream().filter(item->item.getType().equals(0)).
66 for (ByIdsRequest id : requests) { 62 for (ByIdsRequest id : requests) {
67 if (id.getType() == 0) {//电影 63 if (id.getType() == 0) {//电影
68 int i1 = programMapper.updateFilm(id.getId()); 64 int i1 = programMapper.updateFilm(id.getId(),id.getPlatformInfo());
69 if (i1 == 0) { 65 if (i1 == 0) {
70 throw new RuntimeException("添加关注失败!"); 66 throw new RuntimeException("添加关注失败!");
71 } 67 }
72 } else if (id.getType() == 1) {//剧集 68 } else if (id.getType() == 1) {//剧集
73 //MyBatisPlus 的通过id查询 69 //MyBatisPlus 的通过id查询
74 int i1 = programMapper.updatePla(id.getId()); 70 int i1 = programMapper.updatePla(id.getId(),id.getPlatformInfo());
75 int pla = programMapper.updateTeleplay(id.getId()); 71 int pla = programMapper.updateTeleplay(id.getId(),id.getPlatformInfo());
76 if (i1 == 0 && pla == 0) { 72 if (i1 == 0 && pla == 0) {
77 throw new RuntimeException("添加关注失败!"); 73 throw new RuntimeException("添加关注失败!");
78 } 74 }
...@@ -235,16 +231,16 @@ public class ProgramServiceImpl extends ServiceImpl<ProgramMapper, Program> impl ...@@ -235,16 +231,16 @@ public class ProgramServiceImpl extends ServiceImpl<ProgramMapper, Program> impl
235 } 231 }
236 232
237 @Override 233 @Override
238 public List<Program> selectAllProgra(ProgramRequest programRequest) { 234 public List<Program> selectAllProgra(ContentRequest contentRequest) {
239 CurrCount = 1L; 235 CurrCount = 1L;
240 List<Program> list = null; 236 List<Program> list = null;
241 try { 237 try {
242 list = programMapper.selectAllProgra(programRequest); 238 list = programMapper.selectAllProgra(contentRequest);
243 if (list.size() == 0) 239 if (list.size() == 0)
244 return list; 240 return list;
245 ProgramRequest request = new ProgramRequest(); 241 ProgramRequest request = new ProgramRequest();
246 programRequest.setContentIdList(list.stream().map(Long -> Long.getId()).collect(Collectors.toList())); 242 request.setContentIdList(list.stream().map(Long -> Long.getId()).collect(Collectors.toList()));
247 List<ProgramRequest> listPro = programMapper.selectDownload(programRequest); 243 List<ProgramRequest> listPro = programMapper.selectDownload(request);
248 for (Program program : list) { 244 for (Program program : list) {
249 for (ProgramRequest pro : listPro) { 245 for (ProgramRequest pro : listPro) {
250 if (program.getId().compareTo(pro.getIqiyiContentId()) == 0) { 246 if (program.getId().compareTo(pro.getIqiyiContentId()) == 0) {
...@@ -270,5 +266,25 @@ public class ProgramServiceImpl extends ServiceImpl<ProgramMapper, Program> impl ...@@ -270,5 +266,25 @@ public class ProgramServiceImpl extends ServiceImpl<ProgramMapper, Program> impl
270 return list; 266 return list;
271 } 267 }
272 268
269 @Override
270 public List<ProgramExcelRequest> selectAllExcel() {
271 // List<ProgramExcelRequest> list = programMapper.selectAllMonolithicExcel();
272 // list.stream().forEach(item->{
273 // if (item.getLocalStatus()==0)
274 // item.setLocalStatuss("未下载");
275 // if (item.getLocalStatus()==100)
276 // item.setLocalStatuss("已下载");
277 // });
278
279 return programMapper.selectAllMonolithicExcel();
280 }
281
282 @Override
283 public List<ProgramCalcu> selectCalculation() {
284 List<ProgramCalcu> programCalcus = programMapper.selectCalculation();
285 return programCalcus;
286
287 }
288
273 289
274 } 290 }
...\ No newline at end of file ...\ No newline at end of file
......
1 # 邮件服务器的SMTP地址
2 host = smtp.ym.163.com
3 # 邮件服务器的SMTP端口
4 port = 25
5 # 发件人(必须正确,否则发送失败)
6 from = test@topdraw.cn
7 # 用户名(注意:如果使用foxmail邮箱,此处user为qq号)
8 user = test@topdraw.cn
9 # 密码(注意,某些邮箱需要为SMTP服务单独设置密码,详情查看相关帮助)
10 pass = 123456789
11
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
48 and cid = #{cid} 48 and cid = #{cid}
49 </if> 49 </if>
50 <if test="name!= null and name!= ''"> 50 <if test="name!= null and name!= ''">
51 AND name like #{name} 51 AND name like CONCAT('%',CONCAT(#{name},'%'))
52 </if> 52 </if>
53 <if test="cname!= null and cname!= ''"> 53 <if test="cname!= null and cname!= ''">
54 AND cname = #{cname} 54 AND cname = #{cname}
...@@ -68,9 +68,18 @@ ...@@ -68,9 +68,18 @@
68 <if test="downloadStatus !=null" > 68 <if test="downloadStatus !=null" >
69 and local_status=#{downloadStatus} 69 and local_status=#{downloadStatus}
70 </if> 70 </if>
71 ORDER BY create_time desc 71 ORDER BY create_time,score desc
72 72
73 </select> 73 </select>
74 <select id="selectAllDramaExcel" resultType="com.hui.iqiyi.request.ProgramExcelRequest">
75 select a.`name`,a.element_type,a.external_id,a.cname,a.`year`,a.publish_time,a.`desc`,a.tags,a.pic_url,a.directors,a.main_actors,a.writers,a.stars,a.search_name,a.score,a.country,a.`language`,a.total,b.sname,b.iqiyi_content_id,
76 c.vid,c.bitrate,c.duration,c.file_size,c.local_status,c.local_path
77 from iqiyi_content as a
78 LEFT JOIN iqiyi_program as b on a.id =b.iqiyi_content_id
79 LEFT JOIN iqiyi_movie as c on b.id =c.iqiyi_program_id
80 where a.platform_info=1
81 ORDER BY a.platform_info
82 </select>
74 83
75 <sql id="Where_Cloumn"> 84 <sql id="Where_Cloumn">
76 <where> 85 <where>
......
...@@ -6,20 +6,35 @@ ...@@ -6,20 +6,35 @@
6 <update id="updateFilm"> 6 <update id="updateFilm">
7 UPDATE iqiyi_program as a 7 UPDATE iqiyi_program as a
8 LEFT JOIN iqiyi_movie as c on c.iqiyi_program_id=a.id 8 LEFT JOIN iqiyi_movie as c on c.iqiyi_program_id=a.id
9 set a.platform_info=1,c.priority=10 9 set a.platform_info = (
10 CASE WHEN IFNULL(platform_info,'') = '' THEN
11 #{platformInfo}
12 else
13 CONCAT(platform_info,',',#{platformInfo})
14 END ),c.priority=10
10 where a.id = #{id} 15 where a.id = #{id}
11 </update> 16 </update>
12 17
13 <update id="updatePla"> 18 <update id="updatePla">
14 UPDATE iqiyi_content AS b 19 UPDATE iqiyi_content AS b
15 set b.platform_info=1 20 set b.platform_info=(
21 CASE WHEN IFNULL(platform_info,'') = '' THEN
22 #{platformInfo}
23 else
24 CONCAT(platform_info,',',#{platformInfo})
25 END )
16 where b.id = #{id} 26 where b.id = #{id}
17 </update> 27 </update>
18 28
19 <update id="updateTeleplay"> 29 <update id="updateTeleplay">
20 UPDATE iqiyi_program as a 30 UPDATE iqiyi_program as a
21 LEFT JOIN iqiyi_movie as c on c.iqiyi_program_id=a.id 31 LEFT JOIN iqiyi_movie as c on c.iqiyi_program_id=a.id
22 set a.platform_info=1,c.priority=10 32 set a.platform_info= (
33 CASE WHEN IFNULL(platform_info,'') = '' THEN
34 #{platformInfo}
35 else
36 CONCAT(platform_info,',',#{platformInfo})
37 END ),c.priority=10
23 where a.iqiyi_content_id = #{id} 38 where a.iqiyi_content_id = #{id}
24 </update> 39 </update>
25 40
...@@ -94,7 +109,6 @@ ...@@ -94,7 +109,6 @@
94 109
95 select a.* 110 select a.*
96 from iqiyi_program as a 111 from iqiyi_program as a
97 LEFT JOIN iqiyi_movie as b on a.id=b.iqiyi_program_id
98 <where> 112 <where>
99 <if test="id != null and id != ''"> 113 <if test="id != null and id != ''">
100 and id = #{id} 114 and id = #{id}
...@@ -103,7 +117,7 @@ ...@@ -103,7 +117,7 @@
103 and cid = #{cid} 117 and cid = #{cid}
104 </if> 118 </if>
105 <if test="name!= null and name!= ''"> 119 <if test="name!= null and name!= ''">
106 AND name like #{name} 120 AND name like CONCAT('%',CONCAT(#{name},'%'))
107 </if> 121 </if>
108 <if test="cname!= null and cname!= ''"> 122 <if test="cname!= null and cname!= ''">
109 AND cname = #{cname} 123 AND cname = #{cname}
...@@ -115,20 +129,63 @@ ...@@ -115,20 +129,63 @@
115 and create_time &lt;= #{EndTime} 129 and create_time &lt;= #{EndTime}
116 </if> 130 </if>
117 <if test="score != null"> 131 <if test="score != null">
118 and score = #{score} 132 and score &gt;= #{score}
119 </if> 133 </if>
134 <!-- <if test="score2 != null">-->
135 <!-- and score &lt;= #{score2}-->
136 <!-- </if>-->
120 <if test="platformInfo != null"> 137 <if test="platformInfo != null">
121 and platform_info = #{platformInfo} 138 and platform_info = #{platformInfo}
122 </if> 139 </if>
123 <if test="downloadStatus !=null" >
124 and local_status=#{downloadStatus}
125 </if>
126 and series_flag=0 140 and series_flag=0
127 </where> 141 </where>
128 ORDER BY create_time desc 142 ORDER BY create_time,score desc
129 143
130 144
131 </select> 145 </select>
146 <select id="selectAllMonolithicExcel" parameterType="com.hui.iqiyi.request.ProgramExcelRequest"
147 resultType="com.hui.iqiyi.request.ProgramExcelRequest">
148 select a.`name`,a.element_type,a.external_id,a.cname,a.`year`,a.publish_time,a.`desc`,a.tags,a.pic_url,a.directors,a.main_actors,a.writers,a.stars,a.search_name,a.score,a.country,a.`language`,
149 c.vid,c.bitrate,c.duration,c.file_size,c.local_status,c.local_path
150 from iqiyi_program as a
151 LEFT JOIN iqiyi_movie as c on a.id =c.iqiyi_program_id
152 <where>
153 <if test="id != null and id != ''">
154 and id = #{id}
155 </if>
156 <if test="cid != null and cid != ''">
157 and cid = #{cid}
158 </if>
159 <if test="name!= null and name!= ''">
160 AND name like CONCAT('%',CONCAT(#{name},'%'))
161 </if>
162 <if test="cname!= null and cname!= ''">
163 AND cname = #{cname}
164 </if>
165 <if test="beginTime != null">
166 and create_time &gt;= #{beginTime}
167 </if>
168 <if test="EndTime != null">
169 and create_time &lt;= #{EndTime}
170 </if>
171 <if test="platformInfo != null">
172 and platform_info = #{platformInfo}
173 </if>
174 and a.platform_info=1
175 </where>
176 ORDER BY a.platform_info
177 </select>
178 <select id="selectCalculation" resultType="com.hui.iqiyi.response.ProgramCalcu">
179 SELECT
180 sum( im.file_size )/ 1024 / 1024 / 1024 AS 'xzSize',
181 sum( im.duration )/ 60 / 60 AS 'totlDuration'
182 FROM
183 iqiyi_movie im
184 LEFT JOIN iqiyi_program AS ip ON im.iqiyi_program_id = ip.id
185 WHERE
186 ip.platform_info = '1'
187 AND im.local_status = '0'
188 </select>
132 189
133 190
134 <sql id="Pro_Cloumn"> 191 <sql id="Pro_Cloumn">
......