|
@@ -232,6 +232,59 @@ public class FsCourseLinkServiceImpl implements IFsCourseLinkService
|
|
|
return R.error("短链生成失败!");
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public R getRealLinkH5(String link) {
|
|
|
+ try {
|
|
|
+ // URL解码
|
|
|
+ String sLink = URLDecoder.decode(link, "UTF-8");
|
|
|
+
|
|
|
+ // 从数据库中查找短链对应的真实链接
|
|
|
+ FsCourseLink courseLink = fsCourseLinkMapper.selectFsCourseLinkByLink(sLink);
|
|
|
+ if (courseLink != null) {
|
|
|
+ // 获取当前时间
|
|
|
+ Date currentTime = new Date();
|
|
|
+ // 获取链接的更新时间(假设这个字段代表过期时间)
|
|
|
+ Date updateTime = courseLink.getUpdateTime();
|
|
|
+
|
|
|
+ // 判断是否过期
|
|
|
+ if (currentTime.after(updateTime)) {
|
|
|
+ // 链接已过期
|
|
|
+ log.info("链接已过期: {}", sLink);
|
|
|
+ return R.error("链接已过期").put("realLink", sLink);
|
|
|
+ } else {
|
|
|
+ // 链接仍然有效,返回真实链接
|
|
|
+ if (courseLink.getRealLink() == null) {
|
|
|
+ log.error("真实链接不存在, link: {}", sLink);
|
|
|
+ return R.error("真实链接不存在").put("realLink", sLink);
|
|
|
+ }
|
|
|
+ log.info("链接仍然有效: {}", sLink);
|
|
|
+ String json = configService.selectConfigByKey("h5.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();
|
|
|
+ String imgUrl = "";
|
|
|
+ return R.ok().put("realLink",realLink ).put("config",config).put("headerImg",imgUrl);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 链接不存在或解析失败
|
|
|
+ log.warn("URL解析错误或链接不存在: {}", sLink);
|
|
|
+ return R.error("URL 解析错误或链接不存在").put("realLink", sLink);
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch (UnsupportedEncodingException e) {
|
|
|
+ // URL解码异常
|
|
|
+ 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 R createLinkUrlWc(FsCourseLinkCreateParam param) {
|
|
|
|