|
|
@@ -9,6 +9,8 @@ import cn.seecoder.seecoderportalserver.domain.CourseSelection;
|
|
|
import cn.seecoder.seecoderportalserver.mapper.CourseMapper;
|
|
|
import cn.seecoder.seecoderportalserver.repository.CourseRepository;
|
|
|
import cn.seecoder.seecoderportalserver.repository.CourseSelectionRepository;
|
|
|
+import cn.seecoder.seecoderportalserver.security.DomainUserDetails;
|
|
|
+import cn.seecoder.seecoderportalserver.security.SecurityUtils;
|
|
|
import cn.seecoder.seecoderportalserver.service.CourseService;
|
|
|
import cn.seecoder.seecoderportalserver.service.UserService;
|
|
|
import cn.seecoder.seecoderportalserver.serviceImpl.subsystem.CoderService;
|
|
|
@@ -243,7 +245,14 @@ public class CourseServiceImpl implements CourseService {
|
|
|
@Override
|
|
|
public String uploadCourseImage(String name, MultipartFile file) {
|
|
|
try {
|
|
|
- return ossUtil.upload(name + ".jpg", file.getInputStream());
|
|
|
+ Course course = courseRepository.findCourseByName(name).orElseThrow(CustomErrorException::courseNotFound);
|
|
|
+ if (!course.getTeacherId().equals(SecurityUtils.getCurrentUser().getId())) {
|
|
|
+ throw CustomErrorException.unauthorizedUser();
|
|
|
+ }
|
|
|
+ String imgUrl = ossUtil.upload(name + ".jpg", file.getInputStream());
|
|
|
+ course.setImageUrl(imgUrl);
|
|
|
+ courseRepository.save(course);
|
|
|
+ return imgUrl;
|
|
|
} catch (IOException e) {
|
|
|
throw new RuntimeException(e);
|
|
|
}
|