|
|
@@ -22,10 +22,9 @@ import nju.seec.helper.service.MessageService;
|
|
|
import nju.seec.helper.service.QuizService;
|
|
|
import nju.seec.helper.service.SlideService;
|
|
|
import nju.seec.helper.service.util.AuthUtils;
|
|
|
+import nju.seec.helper.service.util.OssObjectUrlUtils;
|
|
|
import nju.seec.helper.service.util.StringUtils;
|
|
|
-import nju.seec.helper.util.Consts;
|
|
|
import nju.seec.helper.util.OssUtils;
|
|
|
-import nju.seec.helper.util.RedisCacheUtils;
|
|
|
import nju.seec.helper.util.file.FileInfo;
|
|
|
import nju.seec.helper.util.file.FileUtils;
|
|
|
import nju.seec.helper.vo.SlideVO;
|
|
|
@@ -38,7 +37,6 @@ import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import java.io.File;
|
|
|
import java.util.Set;
|
|
|
-import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
/**
|
|
|
* @author cst
|
|
|
@@ -46,32 +44,32 @@ import java.util.concurrent.TimeUnit;
|
|
|
@Service
|
|
|
public class SlideServiceImpl implements SlideService {
|
|
|
private static final String SLIDE_STORE_DIR = "slide";
|
|
|
- private static final long SLIDE_URL_LIVING_SECONDS = 20 * 60;
|
|
|
|
|
|
private final CourseDAO courseDAO;
|
|
|
private final SlideDAO slideDAO;
|
|
|
private final ChooseDAO chooseDAO;
|
|
|
private final UserDAO userDAO;
|
|
|
|
|
|
- private final QuizService quizService;
|
|
|
private final OssUtils ossUtils;
|
|
|
- private final RedisCacheUtils cacheUtils;
|
|
|
+ private final OssObjectUrlUtils ossObjectUrlUtils;
|
|
|
|
|
|
+ private final QuizService quizService;
|
|
|
private final MessageService messageService;
|
|
|
private final CourseService courseService;
|
|
|
|
|
|
- public SlideServiceImpl(CourseDAO courseDAO, SlideDAO slideDAO, ChooseDAO chooseDAO, UserDAO userDAO, OssUtils ossUtils, RedisCacheUtils cacheUtils, MessageService messageService, QuizService quizService, CourseService courseService) {
|
|
|
+ public SlideServiceImpl(CourseDAO courseDAO, SlideDAO slideDAO, ChooseDAO chooseDAO, UserDAO userDAO, OssUtils ossUtils, OssObjectUrlUtils ossObjectUrlUtils, QuizService quizService, MessageService messageService, CourseService courseService) {
|
|
|
this.courseDAO = courseDAO;
|
|
|
this.slideDAO = slideDAO;
|
|
|
this.chooseDAO = chooseDAO;
|
|
|
this.userDAO = userDAO;
|
|
|
this.ossUtils = ossUtils;
|
|
|
- this.cacheUtils = cacheUtils;
|
|
|
- this.messageService = messageService;
|
|
|
+ this.ossObjectUrlUtils = ossObjectUrlUtils;
|
|
|
this.quizService = quizService;
|
|
|
+ this.messageService = messageService;
|
|
|
this.courseService = courseService;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@SneakyThrows
|
|
|
@Override
|
|
|
@@ -236,13 +234,7 @@ public class SlideServiceImpl implements SlideService {
|
|
|
throw HelperException.of(ExceptionType.FORBIDDEN, "您无权获取该课件的链接");
|
|
|
}
|
|
|
|
|
|
- String url = cacheUtils.get(Consts.SLIDE_URL_CACHE_NAME, slide.getObjectName());
|
|
|
- if (url != null) {
|
|
|
- return url;
|
|
|
- }
|
|
|
- url = ossUtils.getUrl(slide.getObjectName(), SLIDE_URL_LIVING_SECONDS);
|
|
|
- cacheUtils.set(Consts.SLIDE_URL_CACHE_NAME, slide.getObjectName(), url, SLIDE_URL_LIVING_SECONDS, TimeUnit.SECONDS);
|
|
|
- return url;
|
|
|
+ return ossObjectUrlUtils.getUrl(slide.getObjectName());
|
|
|
}
|
|
|
|
|
|
@Transactional(readOnly = true)
|