|
|
@@ -503,6 +503,40 @@ public class FsCourseLinkServiceImpl implements IFsCourseLinkService
|
|
|
}
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
+ public R getRealLinkV2(String link) {
|
|
|
+ try {
|
|
|
+ String sLink = URLDecoder.decode(link, "UTF-8");
|
|
|
+
|
|
|
+ FsCourseLink courseLink = fsCourseLinkMapper.selectFsCourseLinkByLink(sLink);
|
|
|
+ if (courseLink != null) {
|
|
|
+ if (courseLink.getRealLink() == null) {
|
|
|
+ log.error("真实链接不存在, link: {}", sLink);
|
|
|
+ return R.error("真实链接不存在").put("realLink", sLink);
|
|
|
+ }
|
|
|
+ log.info("链接有效: {}", sLink);
|
|
|
+ String json = configService.selectConfigByKey("course.config");
|
|
|
+ CourseConfig config = JSONUtil.toBean(json, CourseConfig.class);
|
|
|
+ String domainName = companyUserMapper.selectDomainByUserId(courseLink.getCompanyUserId());
|
|
|
+ if (StringUtils.isEmpty(domainName)){
|
|
|
+ domainName = config.getRealLinkDomainName();
|
|
|
+ }
|
|
|
+ String realLink = domainName + courseLink.getRealLink();
|
|
|
+ return R.ok().put("realLink", realLink).put("config", config).put("headerImg", cloudHostProper.getHeaderImg());
|
|
|
+ } else {
|
|
|
+ log.warn("URL解析错误或链接不存在: {}", sLink);
|
|
|
+ return R.error("URL 解析错误或链接不存在").put("realLink", sLink);
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch (UnsupportedEncodingException e) {
|
|
|
+ log.error("URL 解码失败: {}", e.getMessage(), e);
|
|
|
+ return R.error("URL 解码失败").put("realLink", link);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("发生未知错误: {}", e.getMessage(), e);
|
|
|
+ return R.error("发生未知错误,请稍后再试").put("realLink", link);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void delCourseExpireLink() {
|
|
|
List<Long> linkIds = fsCourseLinkMapper.selectExpireLink();
|