|
@@ -5,6 +5,9 @@ import cn.hutool.json.JSONUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.fs.common.core.domain.R;
|
|
|
import com.fs.common.utils.DateUtils;
|
|
|
+import com.fs.common.utils.StringUtils;
|
|
|
+import com.fs.company.domain.CompanyUser;
|
|
|
+import com.fs.company.mapper.CompanyUserMapper;
|
|
|
import com.fs.course.config.CourseConfig;
|
|
|
import com.fs.course.domain.FsCourseDomainName;
|
|
|
import com.fs.course.domain.FsCourseLink;
|
|
@@ -12,14 +15,12 @@ import com.fs.course.domain.FsCourseRealLink;
|
|
|
import com.fs.course.domain.FsUserCourseVideo;
|
|
|
import com.fs.course.mapper.FsCourseDomainNameMapper;
|
|
|
import com.fs.course.mapper.FsCourseLinkMapper;
|
|
|
-import com.fs.course.mapper.FsCourseSopAppLinkMapper;
|
|
|
import com.fs.course.mapper.FsUserCourseVideoMapper;
|
|
|
import com.fs.course.param.FsCourseLinkCreateParam;
|
|
|
import com.fs.course.service.IFsCourseDomainNameService;
|
|
|
import com.fs.course.service.IFsCourseLinkService;
|
|
|
import com.fs.qw.domain.QwUser;
|
|
|
import com.fs.qw.mapper.QwUserMapper;
|
|
|
-import com.fs.qw.vo.QwSopCourseFinishTempSetting;
|
|
|
import com.fs.system.service.ISysConfigService;
|
|
|
import lombok.Synchronized;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -51,10 +52,6 @@ public class FsCourseLinkServiceImpl implements IFsCourseLinkService
|
|
|
{
|
|
|
@Autowired
|
|
|
private FsCourseLinkMapper fsCourseLinkMapper;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private FsCourseSopAppLinkMapper fsCourseSopAppLinkMapper;
|
|
|
-
|
|
|
@Autowired
|
|
|
private ISysConfigService configService;
|
|
|
|
|
@@ -64,6 +61,8 @@ public class FsCourseLinkServiceImpl implements IFsCourseLinkService
|
|
|
private QwUserMapper qwUserMapper;
|
|
|
@Autowired
|
|
|
private FsUserCourseVideoMapper courseVideoMapper;
|
|
|
+ @Autowired
|
|
|
+ private CompanyUserMapper companyUserMapper;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -141,7 +140,6 @@ public class FsCourseLinkServiceImpl implements IFsCourseLinkService
|
|
|
|
|
|
private static final String realLink = "/courseh5/pages/course/learning?course=";
|
|
|
private static final String miniappRealLink = "/pages_course/video?course=";
|
|
|
- private static final String appRealLink = "/pages/courseAnswer/index?link=";
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -179,19 +177,6 @@ public class FsCourseLinkServiceImpl implements IFsCourseLinkService
|
|
|
Date updateTime = Date.from(expireDateTime.atZone(ZoneId.systemDefault()).toInstant());
|
|
|
link.setUpdateTime(updateTime);
|
|
|
|
|
|
-// Date now = new Date();
|
|
|
-// // 获取明天的日期
|
|
|
-// Date tomorrow = new Date(now.getTime() + 24 * 60 * 60 * 1000);
|
|
|
-// // 设置时间为0点
|
|
|
-// Date tomorrowMidnight = new Date(tomorrow.getYear(), tomorrow.getMonth(), tomorrow.getDate());
|
|
|
-
|
|
|
-// LocalDateTime now = LocalDateTime.now();
|
|
|
-// // 增加十天,并设置时间为午夜
|
|
|
-// LocalDateTime tenDaysLater = now.plusDays(10).withHour(0).withMinute(0).withSecond(0).withNano(0);
|
|
|
-//
|
|
|
-// // 转换为 Date 类型
|
|
|
-// Date tenDaysMidnight = Date.from(tenDaysLater.atZone(ZoneId.systemDefault()).toInstant());
|
|
|
-
|
|
|
// 设置过期时间
|
|
|
link.setUpdateTime(updateTime);
|
|
|
|
|
@@ -202,8 +187,8 @@ public class FsCourseLinkServiceImpl implements IFsCourseLinkService
|
|
|
String course = JSON.toJSONString(courseMap);
|
|
|
link.setRealLink(realLink+course);
|
|
|
if (fsCourseLinkMapper.updateFsCourseLink(link)>0){
|
|
|
- FsCourseDomainName fsCourseDomainName = fsCourseDomainNameMapper.selectFsCourseDomainNameByRandom();
|
|
|
- String sortLink = "https://"+fsCourseDomainName.getDomainName() + "/s/" + link.getLink();
|
|
|
+ String domainName = getDomainName(param.getCompanyUserId(), config);
|
|
|
+ String sortLink = domainName + "/s/" + link.getLink();
|
|
|
return R.ok("短链生成").put("url",sortLink);
|
|
|
}
|
|
|
}
|
|
@@ -245,8 +230,8 @@ public class FsCourseLinkServiceImpl implements IFsCourseLinkService
|
|
|
calendar.add(Calendar.DAY_OF_MONTH, expireDays);
|
|
|
link.setUpdateTime(calendar.getTime());
|
|
|
if (fsCourseLinkMapper.insertFsCourseLink(link)>0){
|
|
|
- FsCourseDomainName fsCourseDomainName = fsCourseDomainNameMapper.selectFsCourseDomainNameByRandom();
|
|
|
- String sortLink = "https://"+fsCourseDomainName.getDomainName() + "/s/" + link.getLink();
|
|
|
+ String domainName = getDomainName(param.getCompanyUserId(), config);
|
|
|
+ String sortLink = domainName + "/s/" + link.getLink();
|
|
|
return R.ok("短链生成").put("url",sortLink);
|
|
|
}
|
|
|
return R.error("短链生成失败!");
|
|
@@ -254,7 +239,6 @@ public class FsCourseLinkServiceImpl implements IFsCourseLinkService
|
|
|
|
|
|
@Override
|
|
|
public String createLinkUrlWcmini(FsCourseLinkCreateParam param) {
|
|
|
-
|
|
|
String json = configService.selectConfigByKey("course.config");
|
|
|
CourseConfig config = JSONUtil.toBean(json, CourseConfig.class);
|
|
|
|
|
@@ -278,6 +262,7 @@ public class FsCourseLinkServiceImpl implements IFsCourseLinkService
|
|
|
return link.getRealLink();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
public FsCourseLink createFsCourseLink(String corpId, Date sendTime,Long courseId,Long videoId, String qwUserId,
|
|
|
Long companyUserId, Long companyId,Long externalId,Integer type){
|
|
|
// 手动创建 FsCourseLink 对象,避免使用 BeanUtils.copyProperties
|
|
@@ -297,6 +282,14 @@ public class FsCourseLinkServiceImpl implements IFsCourseLinkService
|
|
|
return link;
|
|
|
}
|
|
|
|
|
|
+ private String getDomainName(Long companyUserId,CourseConfig config){
|
|
|
+ String domainName = companyUserMapper.selectDomainByUserId(companyUserId);
|
|
|
+ if (StringUtils.isEmpty(domainName)){
|
|
|
+ domainName = config.getRealLinkDomainName();
|
|
|
+ }
|
|
|
+ return domainName;
|
|
|
+ }
|
|
|
+
|
|
|
private Date createUpdateTime(Integer expiresDays, Date sendTime, CourseConfig config){
|
|
|
|
|
|
Integer expireDays = (expiresDays == null || expiresDays == 0)
|
|
@@ -335,7 +328,6 @@ public class FsCourseLinkServiceImpl implements IFsCourseLinkService
|
|
|
|
|
|
// 从数据库中查找短链对应的真实链接
|
|
|
FsCourseLink courseLink = fsCourseLinkMapper.selectFsCourseLinkByLink(sLink);
|
|
|
-
|
|
|
if (courseLink != null) {
|
|
|
// 获取当前时间
|
|
|
Date currentTime = new Date();
|
|
@@ -354,9 +346,13 @@ public class FsCourseLinkServiceImpl implements IFsCourseLinkService
|
|
|
return R.error("真实链接不存在").put("realLink", sLink);
|
|
|
}
|
|
|
log.info("链接仍然有效: {}", sLink);
|
|
|
- String json = configService.selectConfigByKey("course.config");
|
|
|
- CourseConfig config = JSONUtil.toBean(json, CourseConfig.class);
|
|
|
- String realLink = config.getRealLinkDomainName()+courseLink.getRealLink();
|
|
|
+ String domainName = companyUserMapper.selectDomainByUserId(courseLink.getCompanyUserId());
|
|
|
+ if (StringUtils.isEmpty(domainName)){
|
|
|
+ String json = configService.selectConfigByKey("course.config");
|
|
|
+ CourseConfig config = JSONUtil.toBean(json, CourseConfig.class);
|
|
|
+ domainName = config.getRealLinkDomainName();
|
|
|
+ }
|
|
|
+ String realLink = domainName+courseLink.getRealLink();
|
|
|
return R.ok().put("realLink",realLink );
|
|
|
}
|
|
|
} else {
|