|
|
@@ -126,7 +126,7 @@ public class FsUserCourseVideoServiceImpl extends ServiceImpl<FsUserCourseVideoM
|
|
|
private String signProjectName;
|
|
|
@Value("${isNewWxMerchant}")
|
|
|
private Boolean isNewWxMerchant;
|
|
|
-
|
|
|
+ private static final String registeredRealLink = "/pages_course/register.html?link=";
|
|
|
@Autowired
|
|
|
private OpenIMService openIMService;
|
|
|
@Autowired
|
|
|
@@ -4452,5 +4452,84 @@ public class FsUserCourseVideoServiceImpl extends ServiceImpl<FsUserCourseVideoM
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 视频下架
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public int batchDown(String[] videoIds) {
|
|
|
+ return baseMapper.batchDown(videoIds);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 批量修改视频封面
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public int batchEditCover(BatchEditCoverParam param) {
|
|
|
+ return baseMapper.batchEditCover(param);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public R createZcMiniLink(FsCourseLinkMiniParam param) {
|
|
|
+
|
|
|
+ QwUser qwUser = qwExternalContactService.getQwUserByRedis(param.getCorpId().trim(), param.getQwUserId().trim());
|
|
|
+
|
|
|
+ if (qwUser==null||qwUser.getCompanyId()==null||qwUser.getCompanyUserId()==null){
|
|
|
+ return R.error("员工未绑定 客服公司 或 客服 请先绑定");
|
|
|
+ }
|
|
|
+
|
|
|
+ QwCompany qwCompany = iQwCompanyService.getQwCompanyByRedis(param.getCorpId());
|
|
|
+
|
|
|
+ if (qwCompany == null ) {
|
|
|
+ return R.error().put("msg","企业不存在,请联系管理员");
|
|
|
+ }
|
|
|
+ FsCourseLink link = createFsCourseLink(param.getCorpId(), new Date(), qwUser.getId(),
|
|
|
+ String.valueOf(qwUser.getCompanyUserId()), String.valueOf(qwUser.getCompanyId()), param.getExternalUserId(), 3, param.getChatId());
|
|
|
+ FsCourseRealLink courseMap = new FsCourseRealLink();
|
|
|
+ BeanUtils.copyProperties(link, courseMap);
|
|
|
+
|
|
|
+ String realLinkFull = registeredRealLink + JSON.toJSONString(courseMap);
|
|
|
+ link.setRealLink(realLinkFull);
|
|
|
+
|
|
|
+ link.setUpdateTime(new Date());
|
|
|
+ //存短链-
|
|
|
+ fsCourseLinkMapper.insertFsCourseLink(link);
|
|
|
+
|
|
|
+ //生成注册链接
|
|
|
+// String linkByMiniApp = createLinkByMiniApp(new Date(), param.getCourseId(), param.getVideoId(), qwUser, param.getExternalUserId(),2,null,1);
|
|
|
+ JSONObject news = new JSONObject(true);
|
|
|
+ news.put("miniprogramAppid", qwCompany.getMiniAppId());
|
|
|
+ news.put("miniprogramTitle", "点击注册");
|
|
|
+ news.put("miniprogramPage", link.getRealLink());
|
|
|
+ news.put("miniprogramPicUrl", "https://cos.his.cdwjyyh.com/fs/20251008/15512254ec6747949f45071f0338df79.png");
|
|
|
+
|
|
|
+ return R.ok().put("data",news);
|
|
|
+ }
|
|
|
+
|
|
|
+ public FsCourseLink createFsCourseLink(String corpId, Date sendTime, Long qwUserId,
|
|
|
+ String companyUserId, String companyId, Long externalId, Integer type,String chatId) {
|
|
|
+ // 手动创建 FsCourseLink 对象,避免使用 BeanUtils.copyProperties
|
|
|
+ FsCourseLink link = new FsCourseLink();
|
|
|
+ link.setCompanyId(Long.parseLong(companyId));
|
|
|
+ link.setQwUserId(qwUserId);
|
|
|
+ link.setCompanyUserId(Long.parseLong(companyUserId));
|
|
|
+ link.setCorpId(corpId);
|
|
|
+ link.setChatId(chatId);
|
|
|
+ link.setQwExternalId(externalId);
|
|
|
+ link.setLinkType(type); //小程序
|
|
|
+ link.setUNo(UUID.randomUUID().toString());
|
|
|
+ String randomString = generateRandomStringWithLock();
|
|
|
+ if (StringUtil.strIsNullOrEmpty(randomString)) {
|
|
|
+ link.setLink(UUID.randomUUID().toString().replace("-", ""));
|
|
|
+ } else {
|
|
|
+ link.setLink(randomString);
|
|
|
+ }
|
|
|
+
|
|
|
+ link.setCreateTime(sendTime);
|
|
|
+
|
|
|
+ return link;
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|