From e5085510434c98a64ed421e66d1273b251e85df4 Mon Sep 17 00:00:00 2001 From: lu Date: Tue, 30 Jul 2024 11:53:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E5=AF=BC=E5=87=BAbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/course/api/CoursePortalApi.java | 71 ++++++++++--------- .../course/service/ICourseContentService.java | 1 - .../impl/CourseContentServiceImpl.java | 6 -- .../school/study/api/StudyHomeWorkApi.java | 2 +- .../study/service/IStudyHomeWorkService.java | 3 + .../impl/StudyHomeWorkServiceImpl.java | 5 ++ 6 files changed, 45 insertions(+), 43 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CoursePortalApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CoursePortalApi.java index 16331c8e..2c09241d 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CoursePortalApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CoursePortalApi.java @@ -29,6 +29,8 @@ import com.xboe.module.course.dao.CourseSectionDao; import com.xboe.module.course.entity.*; import com.xboe.module.course.vo.TeacherVo; import com.xboe.module.usergroup.entity.UserGroupItem; +import com.xboe.school.study.entity.StudyHomeWork; +import com.xboe.school.study.service.IStudyHomeWorkService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.StringRedisTemplate; @@ -97,17 +99,8 @@ public class CoursePortalApi extends ApiBaseController{ @Resource private ThirdApi thirdApi; - @Resource - private CourseHomeWorkDao homeworkDao; - - @Resource - private CourseContentDao ccDao; - - @Resource - private CourseSectionDao courseSectionDao; - - @Resource - private CourseDao courseDao; + @Autowired + IStudyHomeWorkService shomeworkService; @Autowired StringRedisTemplate redisTemplate; @@ -369,35 +362,43 @@ public class CoursePortalApi extends ApiBaseController{ } //作业导出 @GetMapping("/export") - public void export(String contentId, String courseName,HttpServletResponse response) throws IOException { - //将courseId以逗号分割转换为list - List contentIds = Arrays.asList(contentId.split(",")); + public void export(String contentId, String courseName,String studentName,HttpServletResponse response) throws IOException { +// 将courseId以逗号分割转换为list + List studentNames = Arrays.asList(studentName.split(",")); Mapmap=new HashMap<>(); try { - homeworkDao.findList(FieldFilters.in("content_id", contentIds)).stream().filter(Objects::nonNull).forEach(e -> { - //查询内容名称 - CourseContent courseContent=contentService.getById(e.getContentId()); - if(courseContent!=null &&courseContent.getContentName()==null){ - courseContent.setContentName("作业"); - } - //查询目录 - List courseSections = sectionService.getByCourseId(e.getCourseId()); +// homeworkDao.findList(FieldFilters.in("content_id", contentIds)).stream().filter(Objects::nonNull).forEach(e -> { +// //查询内容名称 +// CourseContent courseContent=contentService.getById(e.getContentId()); +// if(courseContent!=null &&courseContent.getContentName()==null){ +// courseContent.setContentName("作业"); +// } +// //查询目录 +// List courseSections = sectionService.getByCourseId(e.getCourseId()); +// //取作业后缀名 +// int dotIndex = e.getFile().lastIndexOf('.'); // 查找最后一个'.'的位置 +// String extension = e.getFile().substring(dotIndex); +// //判断是否有目录 +// if(!courseSections.isEmpty()){ +// map.put(courseSections.get(0).getName()+"--"+courseContent.getContentName()+extension, "/home/www/elearning/upload"+e.getFile()); +// }else { +// Course course=courseDao.get(e.getCourseId()); +// if(course==null || course.getDeleted()){ +// throw new RuntimeException("课程不存在或已被删除"); +// } +// map.put(course.getName()+"--"+courseContent.getContentName()+extension, "/home/www/elearning/upload"+e.getFile()); +// } +// }); + shomeworkService.getByStudnetNameAndContentId(studentNames,contentId).stream().filter(Objects::nonNull).filter(e->e.getFilePath()!=null).forEach(e->{ //取作业后缀名 - int dotIndex = e.getFile().lastIndexOf('.'); // 查找最后一个'.'的位置 - String extension = e.getFile().substring(dotIndex); - //判断是否有目录 - if(!courseSections.isEmpty()){ - map.put(courseSections.get(0).getName()+"--"+courseContent.getContentName()+extension, "/home/www/elearning/upload"+e.getFile()); - }else { - Course course=courseDao.get(e.getCourseId()); - if(course==null || course.getDeleted()){ - throw new RuntimeException("课程不存在或已被删除"); - } - map.put(course.getName()+"--"+courseContent.getContentName()+extension, "/home/www/elearning/upload"+e.getFile()); - } + int dotIndex = e.getFilePath().lastIndexOf('/'); // 查找最后一个'.'的位置 + String extension = e.getFilePath().substring(dotIndex+1); + map.put(extension,e.getFilePath()); }); + } catch (Exception e) { - throw new RuntimeException("导出异常"); + e.printStackTrace(); + throw new RuntimeException("导出异常"+e.getMessage()); } String encodedFilename = URLEncoder.encode(courseName+"【作业】.zip") .replace("+", "%20") // 空格替换为"%20" diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/ICourseContentService.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/ICourseContentService.java index defc2883..aca7af5e 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/ICourseContentService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/ICourseContentService.java @@ -83,5 +83,4 @@ public interface ICourseContentService{ */ CourseAssess getAssess(String ccid); - CourseContent getById(String contentId); } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseContentServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseContentServiceImpl.java index 98bcc172..c2cc351d 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseContentServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseContentServiceImpl.java @@ -141,12 +141,6 @@ public class CourseContentServiceImpl implements ICourseContentService { return assess; } - @Override - public CourseContent getById(String contentId) { - CourseContent courseContent = ccDao.findOne(FieldFilters.eq("id", contentId)); - return courseContent; - } - @Override @Transactional public void updateName(String id, String name) { diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyHomeWorkApi.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyHomeWorkApi.java index b8d2c037..87e560e8 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyHomeWorkApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyHomeWorkApi.java @@ -33,7 +33,7 @@ public class StudyHomeWorkApi extends ApiBaseController{ IStudyHomeWorkService shomeworkService; @Resource private ThirdApi thirdApi; - @PostMapping("/save") + @PostMapping("/`save`") public JsonResponse save(@RequestBody StudyHomeWork shw, HttpServletRequest request){ if(StringUtils.isBlank(shw.getCourseId())) { return badRequest("无课程信息"); diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/IStudyHomeWorkService.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/IStudyHomeWorkService.java index 8d50ca19..ba2586bc 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/IStudyHomeWorkService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/IStudyHomeWorkService.java @@ -1,5 +1,6 @@ package com.xboe.school.study.service; +import java.util.Collection; import java.util.List; import com.xboe.school.study.entity.StudyHomeWork; @@ -29,4 +30,6 @@ public interface IStudyHomeWorkService { * @return */ List getByStudyIdAndContentId(String studyId,String contentId); + + ListgetByStudnetNameAndContentId(List studentName, String contentId); } diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyHomeWorkServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyHomeWorkServiceImpl.java index 4a609e96..2396d5f8 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyHomeWorkServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyHomeWorkServiceImpl.java @@ -89,4 +89,9 @@ public class StudyHomeWorkServiceImpl implements IStudyHomeWorkService{ return dao.findList(FieldFilters.eq("studyId", studyId),FieldFilters.eq("contentId", contentId)); } + @Override + public List getByStudnetNameAndContentId(List studentName, String contentId) { + return dao.findList(FieldFilters.in("student_name", studentName),FieldFilters.eq("contentId", contentId)); + } + }