4 Commits 2603f018ab ... cbae32d55d

Author SHA1 Message Date
  caoliqin cbae32d55d Merge branch 'master' of http://1.14.104.71:10880/root/ylrz_scrm_java 4 days ago
  caoliqin 6c6345f27d 去掉userId的验证 4 days ago
  caoliqin d3df30ec48 Merge branch 'master' of http://1.14.104.71:10880/root/ylrz_scrm_java 4 days ago
  caoliqin 6a56367fdb 调整会员短链获取真实链接接口 4 days ago

+ 2 - 2
fs-service-system/src/main/java/com/fs/course/param/newfs/FsUserCourseAddCompanyUserParam.java

@@ -14,8 +14,8 @@ public class FsUserCourseAddCompanyUserParam implements Serializable {
     @ApiModelProperty(value = "视频id")
     private Long videoId;
 
-    @NotNull(message = "用户id不能为空")
-    @ApiModelProperty(value = "授权的用户id")
+//    @NotNull(message = "用户id不能为空")
+    @ApiModelProperty(value = "授权的用户id,不用传")
     private Long userId;
 
     @NotNull(message = "销售id不能为空")

+ 1 - 0
fs-service-system/src/main/java/com/fs/course/service/IFsCourseLinkService.java

@@ -78,4 +78,5 @@ public interface IFsCourseLinkService
 
     R createRoomLinkUrl(FsCourseLinkCreateParam param);
 
+    R getRealLinkH5(String link);
 }

+ 53 - 0
fs-service-system/src/main/java/com/fs/course/service/impl/FsCourseLinkServiceImpl.java

@@ -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) {
 

+ 1 - 1
fs-service-system/src/main/java/com/fs/course/service/impl/FsUserCourseServiceImpl.java

@@ -418,7 +418,7 @@ public class FsUserCourseServiceImpl implements IFsUserCourseService
 
     @Override
     public R createCourseSortLink(FsCourseLinkCreateParam param) {
-        String json = configService.selectConfigByKey("course.config");
+        String json = configService.selectConfigByKey("h5.course.config");
         CourseConfig config = JSONUtil.toBean(json, CourseConfig.class);
 
         //新增链接表信息

+ 1 - 1
fs-user-app/src/main/java/com/fs/app/controller/CourseWxH5Controller.java

@@ -85,7 +85,7 @@ public class CourseWxH5Controller extends AppBaseController {
     @GetMapping("/getRealLink")
     public R getRealLink(@RequestParam("sortLink")String link)
     {
-        return courseLinkService.getRealLink(link);
+        return courseLinkService.getRealLinkH5(link);
     }
 
     @ApiOperation("更新看课时长")