|
@@ -146,6 +146,9 @@ public class MyController {
|
|
|
private UserMessageService userMessageService;
|
|
|
|
|
|
@Autowired
|
|
|
+ private UserCourseService userCourseService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
private UserCourseRecordService userCourseRecordService;
|
|
|
|
|
|
@Autowired
|
|
@@ -2204,9 +2207,38 @@ public class MyController {
|
|
|
return ResponseHelp.success(pr);
|
|
|
}
|
|
|
|
|
|
+ @RequestMapping(value = "/download/course", method = RequestMethod.GET)
|
|
|
+ @ApiOperation(value = "获取视频", httpMethod = "GET")
|
|
|
+ public void courseDownload(@RequestParam(required = true) Integer id, HttpServletRequest request, HttpServletResponse response){
|
|
|
+ User user = (User) shiroHelp.getLoginUser();
|
|
|
+ CourseNo courseNo = courseNoService.get(id);
|
|
|
+ if (!userCourseService.hasService(user.getId(), courseNo.getCourseId())){
|
|
|
+ throw new AuthException("未授权");
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ String resource = courseNo.getResource();
|
|
|
+// String fileName = pdfHelp.generatePdfImage(user, resource, false);
|
|
|
+// String fileUrl = pdfHelp.getOfflineUrl(fileName);
|
|
|
+ response.setHeader("content-disposition","attachment;filename="+Tools.stringMD5(resource)+resource.substring(resource.lastIndexOf(".")));
|
|
|
+ response.setHeader("content-type", "application/octet-stream");
|
|
|
+ response.setHeader("X-Accel-Redirect", resource);
|
|
|
+// FileInputStream fileInputStream = new FileInputStream(fileName);
|
|
|
+// ServletOutputStream outputStream = response.getOutputStream();
|
|
|
+// //输出
|
|
|
+// int len = 1;
|
|
|
+// byte[] bs = new byte[1024];
|
|
|
+// while((len = fileInputStream.read(bs)) != -1){
|
|
|
+// outputStream.write(bs, 0, len);
|
|
|
+// }
|
|
|
+// fileInputStream.close();
|
|
|
+ } catch (Exception e) {
|
|
|
+ System.out.println(e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@RequestMapping(value = "/download/data", method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "获取资料", httpMethod = "GET")
|
|
|
- public void pdfDownLoad(@RequestParam(required = true) Integer id, HttpServletRequest request, HttpServletResponse response){
|
|
|
+ public void dataDownload(@RequestParam(required = true) Integer id, HttpServletRequest request, HttpServletResponse response){
|
|
|
User user = (User) shiroHelp.getLoginUser();
|
|
|
CourseData courseData = courseDataService.get(id);
|
|
|
if (!userOrderRecordService.hasData(user.getId(), courseData.getId())){
|
|
@@ -2215,17 +2247,19 @@ public class MyController {
|
|
|
try {
|
|
|
String resource = courseData.getResource();
|
|
|
String fileName = pdfHelp.generatePdfImage(user, resource, false);
|
|
|
- FileInputStream fileInputStream = new FileInputStream(fileName);
|
|
|
- ServletOutputStream outputStream = response.getOutputStream();
|
|
|
- response.setHeader("content-disposition","attachment;filename="+fileName);
|
|
|
+ String fileUrl = pdfHelp.getOfflineUrl(fileName);
|
|
|
+ response.setHeader("content-disposition","attachment;filename="+Tools.stringMD5(fileName)+fileName.substring(fileName.lastIndexOf(".")));
|
|
|
response.setHeader("content-type", "application/pdf");
|
|
|
- //输出
|
|
|
- int len = 1;
|
|
|
- byte[] bs = new byte[1024];
|
|
|
- while((len = fileInputStream.read(bs)) != -1){
|
|
|
- outputStream.write(bs, 0, len);
|
|
|
- }
|
|
|
- fileInputStream.close();
|
|
|
+ response.setHeader("X-Accel-Redirect", fileUrl);
|
|
|
+// FileInputStream fileInputStream = new FileInputStream(fileName);
|
|
|
+// ServletOutputStream outputStream = response.getOutputStream();
|
|
|
+// //输出
|
|
|
+// int len = 1;
|
|
|
+// byte[] bs = new byte[1024];
|
|
|
+// while((len = fileInputStream.read(bs)) != -1){
|
|
|
+// outputStream.write(bs, 0, len);
|
|
|
+// }
|
|
|
+// fileInputStream.close();
|
|
|
} catch (Exception e) {
|
|
|
System.out.println(e.getMessage());
|
|
|
}
|
|
@@ -2233,7 +2267,7 @@ public class MyController {
|
|
|
|
|
|
@RequestMapping(value = "/download/textbook", method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "获取机经", httpMethod = "GET")
|
|
|
- public void pdfDownLoad(@RequestParam(required = true) String subject, HttpServletRequest request, HttpServletResponse response){
|
|
|
+ public void textbookDownload(@RequestParam(required = true) String subject, HttpServletRequest request, HttpServletResponse response){
|
|
|
User user = (User) shiroHelp.getLoginUser();
|
|
|
if (!userServiceService.hasService(user.getId(), ServiceKey.TEXTBOOK)){
|
|
|
throw new AuthException("未授权");
|
|
@@ -2257,17 +2291,19 @@ public class MyController {
|
|
|
break;
|
|
|
}
|
|
|
String fileName = pdfHelp.generatePdfImage(user, resource, false);
|
|
|
- FileInputStream fileInputStream = new FileInputStream(fileName);
|
|
|
- ServletOutputStream outputStream = response.getOutputStream();
|
|
|
- response.setHeader("content-disposition","attachment;filename="+fileName);
|
|
|
+ String fileUrl = pdfHelp.getOfflineUrl(fileName);
|
|
|
+ response.setHeader("content-disposition","attachment;filename="+Tools.stringMD5(fileName)+fileName.substring(fileName.lastIndexOf(".")));
|
|
|
response.setHeader("content-type", "application/pdf");
|
|
|
- //输出
|
|
|
- int len = 1;
|
|
|
- byte[] bs = new byte[1024];
|
|
|
- while((len = fileInputStream.read(bs)) != -1){
|
|
|
- outputStream.write(bs, 0, len);
|
|
|
- }
|
|
|
- fileInputStream.close();
|
|
|
+ response.setHeader("X-Accel-Redirect", fileUrl);
|
|
|
+// FileInputStream fileInputStream = new FileInputStream(fileName);
|
|
|
+// ServletOutputStream outputStream = response.getOutputStream();
|
|
|
+// //输出
|
|
|
+// int len = 1;
|
|
|
+// byte[] bs = new byte[1024];
|
|
|
+// while((len = fileInputStream.read(bs)) != -1){
|
|
|
+// outputStream.write(bs, 0, len);
|
|
|
+// }
|
|
|
+// fileInputStream.close();
|
|
|
} catch (Exception e) {
|
|
|
System.out.println(e.getMessage());
|
|
|
}
|