|
@@ -3,7 +3,9 @@ package com.fs.sop.service.impl;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.fs.common.core.domain.R;
|
|
|
+import com.fs.common.exception.base.BaseException;
|
|
|
import com.fs.common.utils.StringUtils;
|
|
|
+import com.fs.common.utils.date.DateUtil;
|
|
|
import com.fs.company.mapper.CompanyUserMapper;
|
|
|
import com.fs.course.config.CourseConfig;
|
|
|
import com.fs.course.domain.FsCourseDomainName;
|
|
@@ -13,12 +15,15 @@ import com.fs.course.domain.FsCourseWatchLog;
|
|
|
import com.fs.course.mapper.FsCourseDomainNameMapper;
|
|
|
import com.fs.course.mapper.FsCourseLinkMapper;
|
|
|
import com.fs.course.mapper.FsCourseWatchLogMapper;
|
|
|
+import com.fs.course.param.FsCourseLinkCreateParam;
|
|
|
import com.fs.course.service.IFsCourseLinkService;
|
|
|
import com.fs.fastGpt.domain.FastGptChatReplaceWords;
|
|
|
import com.fs.fastGpt.mapper.FastGptChatReplaceWordsMapper;
|
|
|
import com.fs.qw.domain.QwExternalContact;
|
|
|
+import com.fs.qw.domain.QwGroupChat;
|
|
|
import com.fs.qw.domain.QwUser;
|
|
|
import com.fs.qw.mapper.QwExternalContactMapper;
|
|
|
+import com.fs.qw.mapper.QwGroupChatMapper;
|
|
|
import com.fs.qw.mapper.QwGroupChatUserMapper;
|
|
|
import com.fs.qw.mapper.QwUserMapper;
|
|
|
import com.fs.qw.service.impl.AsyncSopTestService;
|
|
@@ -57,6 +62,7 @@ import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.concurrent.ThreadLocalRandom;
|
|
|
import java.util.function.Consumer;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.fs.course.utils.LinkUtil.generateRandomStringWithLock;
|
|
|
|
|
@@ -94,6 +100,11 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
|
|
|
@Autowired
|
|
|
private QwUserMapper qwUserMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private QwGroupChatMapper qwGroupChatMapper;
|
|
|
+ @Autowired
|
|
|
+ private IFsCourseLinkService courseLinkService;
|
|
|
+
|
|
|
@Autowired
|
|
|
private QwSopMapper qwSopMapper;
|
|
|
|
|
@@ -358,179 +369,277 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
|
|
|
|
|
|
@Override
|
|
|
public R sendUserLogsInfoMsg(SendUserLogsInfoMsgParam param) {
|
|
|
-
|
|
|
- Date createTime=new Date();
|
|
|
-
|
|
|
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
QwSop qwSop = qwSopMapper.selectQwSopById(param.getSopId());
|
|
|
-
|
|
|
List<FastGptChatReplaceWords> words = fastGptChatReplaceWordsMapper.selectAllFastGptChatReplaceWords();
|
|
|
+ String json = configService.selectConfigByKey("course.config");
|
|
|
+ CourseConfig config = JSON.parseObject(json, CourseConfig.class);
|
|
|
|
|
|
- String[] userKey = param.getUserIdParam().split("\\|");
|
|
|
- String qwUserId = userKey[0].trim();
|
|
|
- String companyUserId = userKey[1].trim();
|
|
|
- String companyId = userKey[2].trim();
|
|
|
+ if (config == null) {
|
|
|
+ return R.error().put("msg","课程默认配置为空,请联系管理员");
|
|
|
+ }
|
|
|
+ List<QwSopLogs> sopLogsList;
|
|
|
+ if(param.getFilterMode() != null && param.getFilterMode() == 2 && param.getChatIds() != null && param.getChatIds().length > 0){
|
|
|
+ List<QwGroupChat> groupList = qwGroupChatMapper.selectQwGroupChatByChatIds(param.getChatIds());
|
|
|
+ sopLogsList = groupList.stream().map(groupChat -> {
|
|
|
+ QwUser qwUser = qwUserMapper.selectQwUserByIdByWeComeText(groupChat.getOwner(), groupChat.getCorpId());
|
|
|
+ QwSopLogs sopLogs = new QwSopLogs();
|
|
|
+
|
|
|
+ sopLogs.setQwUserid(qwUser.getQwUserId());
|
|
|
+ sopLogs.setExternalUserId(groupChat.getChatId());
|
|
|
+ sopLogs.setLogType(2);
|
|
|
+ sopLogs.setContentJson(param.getSetting());
|
|
|
+ sopLogs.setSendStatus(3L);
|
|
|
+ sopLogs.setSendTime(DateUtil.formatLocalDateTime(LocalDateTime.now()));
|
|
|
+ sopLogs.setCompanyId(qwSop.getCompanyId());
|
|
|
+ sopLogs.setReceivingStatus(0L);
|
|
|
+ sopLogs.setSopId(param.getSopId());
|
|
|
+ sopLogs.setCorpId(groupChat.getCorpId());
|
|
|
+ sopLogs.setSort(2);
|
|
|
+ sopLogs.setSendType(6);
|
|
|
+ sopLogs.setExternalUserName(groupChat.getName());
|
|
|
+
|
|
|
+ QwSopCourseFinishTempSetting setting = new QwSopCourseFinishTempSetting();
|
|
|
+
|
|
|
+ List<QwSopCourseFinishTempSetting.Setting> list = JSONArray.parseArray(param.getSetting(), QwSopCourseFinishTempSetting.Setting.class);
|
|
|
+//
|
|
|
+// List<QwSopCourseFinishTempSetting.Setting> list = parseSettings(param.getSetting());
|
|
|
|
|
|
- QwUser qwUser = qwUserMapper.selectQwUserByIdByWeComeText(Long.valueOf(qwUserId));
|
|
|
+ for (QwSopCourseFinishTempSetting.Setting st : list) {
|
|
|
|
|
|
- if (qwUser == null) {
|
|
|
- return R.error().put("msg","企业微信用户不存在:"+qwUserId);
|
|
|
- }
|
|
|
+ //过滤违禁词
|
|
|
+ if ("1".equals(st.getContentType())) {
|
|
|
+ replaceContent(st.getContentType(), st.getValue(), st::setValue, words); // 替换 value
|
|
|
+ }
|
|
|
+ //过滤违禁词
|
|
|
+ if ("3".equals(st.getContentType())) {
|
|
|
+ replaceContent(st.getContentType(), st.getLinkTitle(), st::setLinkTitle, words); // 替换 linkTitle
|
|
|
+ replaceContent(st.getContentType(), st.getLinkDescribe(), st::setLinkDescribe, words); // 替换 linkTitle
|
|
|
+ }
|
|
|
+
|
|
|
+ switch (st.getContentType()) {
|
|
|
+ //文字和短链一起
|
|
|
+ case "1":
|
|
|
+ case "3":
|
|
|
+ if ("1".equals(st.getIsBindUrl())) {
|
|
|
+ FsCourseLinkCreateParam createParam = new FsCourseLinkCreateParam();
|
|
|
+ createParam.setCourseId(param.getCourseId().longValue());
|
|
|
+ createParam.setVideoId(param.getVideoId().longValue());
|
|
|
+ createParam.setCorpId(groupChat.getCorpId());
|
|
|
+ createParam.setCompanyUserId(qwUser.getCompanyUserId());
|
|
|
+ createParam.setCompanyId(qwUser.getCompanyId());
|
|
|
+ createParam.setChatId(groupChat.getChatId());
|
|
|
+ createParam.setQwUserId(qwUser.getQwUserId());
|
|
|
+ createParam.setDays(st.getExpiresDays());
|
|
|
+ R createLink = courseLinkService.createRoomLinkUrl(createParam);
|
|
|
+ if (createLink.get("code").equals(500)) {
|
|
|
+ throw new BaseException("链接生成失败!");
|
|
|
+ }
|
|
|
+ String link = (String) createLink.get("url");
|
|
|
+ if (StringUtils.isNotEmpty(link)) {
|
|
|
+ if ("3".equals(st.getContentType())) {
|
|
|
+ st.setLinkUrl(link);
|
|
|
+ } else {
|
|
|
+ String currentValue = st.getValue();
|
|
|
+ if (currentValue == null) {
|
|
|
+ st.setValue(link);
|
|
|
+ } else {
|
|
|
+// setting.setValue(currentValue + "\n" + sortLink);
|
|
|
+ st.setValue(currentValue
|
|
|
+ .replaceAll("#销售称呼#", StringUtil.strIsNullOrEmpty(qwUser.getWelcomeText()) ? "" : qwUser.getWelcomeText())
|
|
|
+ + "\n" + link);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ log.error("生成短链失败,跳过设置 URL。");
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+ break;
|
|
|
+ //小程序单独
|
|
|
+ case "4":
|
|
|
+ String linkByMiniApp = createLinkByMiniApp(st, param.getCorpId(), new Date(), param.getCourseId(), param.getVideoId(),
|
|
|
+ qwUser.getQwUserId(), qwUser.getCompanyUserId().toString(), qwUser.getCompanyId().toString(), null, config, null);
|
|
|
+
|
|
|
+ st.setMiniprogramPage(linkByMiniApp.replaceAll("^[\\s\\u2005]+", ""));
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ setting.setSetting(list);
|
|
|
+ setting.setType(2);
|
|
|
+ setting.setVideoId(param.getVideoId());
|
|
|
+ setting.setCourseId(param.getCourseId());
|
|
|
+ setting.setCourseType(param.getCourseType());
|
|
|
+ sopLogs.setContentJson(JSON.toJSONString(setting));
|
|
|
+ return sopLogs;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
|
|
-// List<SopUserLogsInfo> sopUserLogsInfos = sopUserLogsInfoMapper.selectSopUserLogsInfoByIds(param.getIds());
|
|
|
- SopUserLogsInfoByIdsHasUserIdParam userIdParam=new SopUserLogsInfoByIdsHasUserIdParam();
|
|
|
- userIdParam.setIds(param.getIds());
|
|
|
- userIdParam.setIsRegister(param.getIsRegister());
|
|
|
- userIdParam.setQwUserId(qwUser.getQwUserId());
|
|
|
- List<SopUserLogsInfo> sopUserLogsInfos;
|
|
|
- if(param.getFilterMode() == 1){
|
|
|
- sopUserLogsInfos = sopUserLogsInfoMapper.selectSopUserLogsInfoByIdsHasUserId(userIdParam);
|
|
|
}else{
|
|
|
- sopUserLogsInfos = qwGroupChatUserMapper.selectByIdAndRegister(userIdParam);
|
|
|
- }
|
|
|
- if(sopUserLogsInfos.isEmpty()){
|
|
|
- return R.ok();
|
|
|
- }
|
|
|
- String json = configService.selectConfigByKey("course.config");
|
|
|
- CourseConfig config = JSON.parseObject(json, CourseConfig.class);
|
|
|
+ sopLogsList = new ArrayList<>();
|
|
|
+ Date createTime=new Date();
|
|
|
|
|
|
- if (config == null) {
|
|
|
- return R.error().put("msg","课程默认配置为空,请联系管理员");
|
|
|
- }
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
|
- //域名
|
|
|
- String domainName = companyUserMapper.selectDomainByUserId(Long.parseLong(companyUserId));
|
|
|
- if (StringUtils.isEmpty(domainName)){
|
|
|
- domainName = config.getRealLinkDomainName();
|
|
|
- }
|
|
|
- String finalDomainName = domainName;
|
|
|
+ String[] userKey = param.getUserIdParam().split("\\|");
|
|
|
+ String qwUserId = userKey[0].trim();
|
|
|
+ String companyUserId = userKey[1].trim();
|
|
|
+ String companyId = userKey[2].trim();
|
|
|
+
|
|
|
+ QwUser qwUser = qwUserMapper.selectQwUserByIdByWeComeText(Long.valueOf(qwUserId));
|
|
|
+
|
|
|
+ if (qwUser == null) {
|
|
|
+ return R.error().put("msg","企业微信用户不存在:"+qwUserId);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+// List<SopUserLogsInfo> sopUserLogsInfos = sopUserLogsInfoMapper.selectSopUserLogsInfoByIds(param.getIds());
|
|
|
+ SopUserLogsInfoByIdsHasUserIdParam userIdParam=new SopUserLogsInfoByIdsHasUserIdParam();
|
|
|
+ userIdParam.setIds(param.getIds());
|
|
|
+ userIdParam.setIsRegister(param.getIsRegister());
|
|
|
+ userIdParam.setQwUserId(qwUser.getQwUserId());
|
|
|
+ List<SopUserLogsInfo> sopUserLogsInfos;
|
|
|
+ if(param.getFilterMode() == 1){
|
|
|
+ sopUserLogsInfos = sopUserLogsInfoMapper.selectSopUserLogsInfoByIdsHasUserId(userIdParam);
|
|
|
+ }else{
|
|
|
+ sopUserLogsInfos = qwGroupChatUserMapper.selectByIdAndRegister(userIdParam);
|
|
|
+ }
|
|
|
+ if(sopUserLogsInfos.isEmpty()){
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+ if (config == null) {
|
|
|
+ return R.error().put("msg","课程默认配置为空,请联系管理员");
|
|
|
+ }
|
|
|
+
|
|
|
+ //域名
|
|
|
+ String domainName = companyUserMapper.selectDomainByUserId(Long.parseLong(companyUserId));
|
|
|
+ if (StringUtils.isEmpty(domainName)){
|
|
|
+ domainName = config.getRealLinkDomainName();
|
|
|
+ }
|
|
|
+ String finalDomainName = domainName;
|
|
|
|
|
|
// if (StringUtils.isEmpty(config.getMiniprogramPage())){
|
|
|
// return R.error().put("msg","课程默认配置小程序路径为空,请联系管理员");
|
|
|
// }
|
|
|
|
|
|
- List<QwSopLogs> sopLogsList=new ArrayList<>();
|
|
|
+ sopUserLogsInfos.forEach(item->{
|
|
|
|
|
|
- sopUserLogsInfos.forEach(item->{
|
|
|
+ QwSopLogs sopLogs=new QwSopLogs();
|
|
|
|
|
|
- QwSopLogs sopLogs=new QwSopLogs();
|
|
|
+ sopLogs.setQwUserid(item.getQwUserId());
|
|
|
+ sopLogs.setExternalUserId(item.getExternalContactId());
|
|
|
+ sopLogs.setExternalId(item.getExternalId());
|
|
|
+ sopLogs.setLogType(2);
|
|
|
+ sopLogs.setContentJson(param.getSetting());
|
|
|
+ sopLogs.setSendStatus(3L);
|
|
|
+ sopLogs.setSendTime(sdf.format(new Date()));
|
|
|
+ sopLogs.setCompanyId(qwSop.getCompanyId());
|
|
|
+ sopLogs.setReceivingStatus(0L);
|
|
|
+ sopLogs.setSopId(param.getSopId());
|
|
|
+ sopLogs.setCorpId(item.getCorpId());
|
|
|
+ sopLogs.setFsUserId(item.getFsUserId());
|
|
|
+ sopLogs.setSort(2);
|
|
|
+ sopLogs.setSendType(5);
|
|
|
+ sopLogs.setExternalUserName(item.getExternalUserName());
|
|
|
|
|
|
- sopLogs.setQwUserid(item.getQwUserId());
|
|
|
- sopLogs.setExternalUserId(item.getExternalContactId());
|
|
|
- sopLogs.setExternalId(item.getExternalId());
|
|
|
- sopLogs.setLogType(2);
|
|
|
- sopLogs.setContentJson(param.getSetting());
|
|
|
- sopLogs.setSendStatus(3L);
|
|
|
- sopLogs.setSendTime(sdf.format(new Date()));
|
|
|
- sopLogs.setCompanyId(qwSop.getCompanyId());
|
|
|
- sopLogs.setReceivingStatus(0L);
|
|
|
- sopLogs.setSopId(param.getSopId());
|
|
|
- sopLogs.setCorpId(item.getCorpId());
|
|
|
- sopLogs.setFsUserId(item.getFsUserId());
|
|
|
- sopLogs.setSort(2);
|
|
|
- sopLogs.setSendType(5);
|
|
|
- sopLogs.setExternalUserName(item.getExternalUserName());
|
|
|
+ QwExternalContact contact = qwExternalContactMapper.selectQwExternalContactByIdForStageStatus(item.getExternalId());
|
|
|
|
|
|
- QwExternalContact contact = qwExternalContactMapper.selectQwExternalContactByIdForStageStatus(item.getExternalId());
|
|
|
+ QwSopCourseFinishTempSetting setting=new QwSopCourseFinishTempSetting();
|
|
|
|
|
|
- QwSopCourseFinishTempSetting setting=new QwSopCourseFinishTempSetting();
|
|
|
-
|
|
|
- List<QwSopCourseFinishTempSetting.Setting> list = JSONArray.parseArray(param.getSetting(),QwSopCourseFinishTempSetting.Setting.class);
|
|
|
+ List<QwSopCourseFinishTempSetting.Setting> list = JSONArray.parseArray(param.getSetting(),QwSopCourseFinishTempSetting.Setting.class);
|
|
|
//
|
|
|
// List<QwSopCourseFinishTempSetting.Setting> list = parseSettings(param.getSetting());
|
|
|
|
|
|
- for (QwSopCourseFinishTempSetting.Setting st : list) {
|
|
|
+ for (QwSopCourseFinishTempSetting.Setting st : list) {
|
|
|
|
|
|
- //过滤违禁词
|
|
|
- if ("1".equals(st.getContentType())){
|
|
|
- replaceContent(st.getContentType(), st.getValue(), st::setValue, words); // 替换 value
|
|
|
- }
|
|
|
- //过滤违禁词
|
|
|
- if ("3".equals(st.getContentType())){
|
|
|
- replaceContent(st.getContentType(), st.getLinkTitle(), st::setLinkTitle, words); // 替换 linkTitle
|
|
|
- replaceContent(st.getContentType(), st.getLinkDescribe(), st::setLinkDescribe, words); // 替换 linkTitle
|
|
|
- }
|
|
|
+ //过滤违禁词
|
|
|
+ if ("1".equals(st.getContentType())){
|
|
|
+ replaceContent(st.getContentType(), st.getValue(), st::setValue, words); // 替换 value
|
|
|
+ }
|
|
|
+ //过滤违禁词
|
|
|
+ if ("3".equals(st.getContentType())){
|
|
|
+ replaceContent(st.getContentType(), st.getLinkTitle(), st::setLinkTitle, words); // 替换 linkTitle
|
|
|
+ replaceContent(st.getContentType(), st.getLinkDescribe(), st::setLinkDescribe, words); // 替换 linkTitle
|
|
|
+ }
|
|
|
|
|
|
- switch (st.getContentType()){
|
|
|
- //文字和短链一起
|
|
|
- case "1":
|
|
|
- case "3":
|
|
|
- if ("1".equals(st.getIsBindUrl())) {
|
|
|
+ switch (st.getContentType()){
|
|
|
+ //文字和短链一起
|
|
|
+ case "1":
|
|
|
+ case "3":
|
|
|
+ if ("1".equals(st.getIsBindUrl())) {
|
|
|
|
|
|
- addWatchLogIfNeeded(param.getSopId(), param.getVideoId(), param.getCourseId(),item.getFsUserId(), qwUserId, companyUserId, companyId, item.getExternalId(),param.getStartTime(),createTime );
|
|
|
+ addWatchLogIfNeeded(param.getSopId(), param.getVideoId(), param.getCourseId(),item.getFsUserId(), qwUserId, companyUserId, companyId, item.getExternalId(),param.getStartTime(),createTime );
|
|
|
|
|
|
- String sortLink = generateShortLink(st, param.getCorpId(), createTime, param.getCourseId(), param.getVideoId(),
|
|
|
- qwUserId, companyUserId, companyId,finalDomainName, item.getExternalId(),config,contact.getFsUserId());
|
|
|
+ String sortLink = generateShortLink(st, param.getCorpId(), createTime, param.getCourseId(), param.getVideoId(),
|
|
|
+ qwUserId, companyUserId, companyId,finalDomainName, item.getExternalId(),config,contact.getFsUserId());
|
|
|
|
|
|
- if (StringUtils.isNotEmpty(sortLink)) {
|
|
|
- if ("3".equals(st.getContentType())) {
|
|
|
- st.setLinkUrl(sortLink);
|
|
|
- } else {
|
|
|
- String currentValue = st.getValue();
|
|
|
- if (currentValue == null) {
|
|
|
- st.setValue(sortLink);
|
|
|
+ if (StringUtils.isNotEmpty(sortLink)) {
|
|
|
+ if ("3".equals(st.getContentType())) {
|
|
|
+ st.setLinkUrl(sortLink);
|
|
|
} else {
|
|
|
- st.setValue(currentValue
|
|
|
- .replaceAll("#销售称呼#",StringUtil.strIsNullOrEmpty(qwUser.getWelcomeText())?"":qwUser.getWelcomeText())
|
|
|
- .replaceAll("#客户称呼#",StringUtil.strIsNullOrEmpty(contact.getStageStatus())|| "0".equals(contact.getStageStatus())?"同学":contact.getStageStatus())
|
|
|
- + "\n" + sortLink);
|
|
|
+ String currentValue = st.getValue();
|
|
|
+ if (currentValue == null) {
|
|
|
+ st.setValue(sortLink);
|
|
|
+ } else {
|
|
|
+ st.setValue(currentValue
|
|
|
+ .replaceAll("#销售称呼#",StringUtil.strIsNullOrEmpty(qwUser.getWelcomeText())?"":qwUser.getWelcomeText())
|
|
|
+ .replaceAll("#客户称呼#",StringUtil.strIsNullOrEmpty(contact.getStageStatus())|| "0".equals(contact.getStageStatus())?"同学":contact.getStageStatus())
|
|
|
+ + "\n" + sortLink);
|
|
|
+ }
|
|
|
}
|
|
|
+ } else {
|
|
|
+ log.warn("生成短链失败,跳过设置 URL。");
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ if ("1".equals(st.getContentType())) {
|
|
|
+ st.setValue(st.getValue()
|
|
|
+ .replaceAll("#销售称呼#",StringUtil.strIsNullOrEmpty(qwUser.getWelcomeText())?"":qwUser.getWelcomeText())
|
|
|
+ .replaceAll("#客户称呼#",StringUtil.strIsNullOrEmpty(contact.getStageStatus()) || "0".equals(contact.getStageStatus())?"同学":contact.getStageStatus()));
|
|
|
}
|
|
|
- } else {
|
|
|
- log.warn("生成短链失败,跳过设置 URL。");
|
|
|
- }
|
|
|
- }else {
|
|
|
- if ("1".equals(st.getContentType())) {
|
|
|
- st.setValue(st.getValue()
|
|
|
- .replaceAll("#销售称呼#",StringUtil.strIsNullOrEmpty(qwUser.getWelcomeText())?"":qwUser.getWelcomeText())
|
|
|
- .replaceAll("#客户称呼#",StringUtil.strIsNullOrEmpty(contact.getStageStatus()) || "0".equals(contact.getStageStatus())?"同学":contact.getStageStatus()));
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- break;
|
|
|
- //小程序单独
|
|
|
- case "4":
|
|
|
- addWatchLogIfNeeded(param.getSopId(), param.getVideoId(), param.getCourseId(),item.getFsUserId(), qwUserId, companyUserId, companyId, item.getExternalId(),param.getStartTime(),createTime );
|
|
|
-
|
|
|
- String linkByMiniApp = createLinkByMiniApp(st, param.getCorpId(), createTime, param.getCourseId(), param.getVideoId(),
|
|
|
- qwUserId, companyUserId, companyId, item.getExternalId(), config,contact.getFsUserId());
|
|
|
-
|
|
|
- st.setMiniprogramPage(linkByMiniApp.replaceAll("^[\\s\\u2005]+", ""));
|
|
|
- break;
|
|
|
- //app
|
|
|
- case "9":
|
|
|
- addWatchLogIfNeeded(param.getSopId(), param.getVideoId(), param.getCourseId(),item.getFsUserId(), qwUserId, companyUserId, companyId, item.getExternalId(),param.getStartTime(),createTime );
|
|
|
-
|
|
|
- QwCreateLinkByAppVO linkByApp = createLinkByApp(st, param.getCorpId(), createTime, param.getCourseId(), param.getVideoId(),
|
|
|
- qwUserId, companyUserId, companyId, item.getExternalId(), config,qwUser.getQwUserName(),contact.getFsUserId());
|
|
|
- st.setLinkUrl(linkByApp.getSortLink().replaceAll("^[\\s\\u2005]+", ""));
|
|
|
- st.setAppLinkUrl(linkByApp.getAppMsgLink().replaceAll("^[\\s\\u2005]+", ""));
|
|
|
-
|
|
|
- break;
|
|
|
- //注册链接
|
|
|
- case "10":
|
|
|
- String url=config.getRegisterDomainName()+registerLink+item.getExternalId();
|
|
|
- st.setLinkUrl(url.replaceAll("^[\\s\\u2005]+", ""));
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
+ break;
|
|
|
+ //小程序单独
|
|
|
+ case "4":
|
|
|
+ addWatchLogIfNeeded(param.getSopId(), param.getVideoId(), param.getCourseId(),item.getFsUserId(), qwUserId, companyUserId, companyId, item.getExternalId(),param.getStartTime(),createTime );
|
|
|
+
|
|
|
+ String linkByMiniApp = createLinkByMiniApp(st, param.getCorpId(), createTime, param.getCourseId(), param.getVideoId(),
|
|
|
+ qwUserId, companyUserId, companyId, item.getExternalId(), config,contact.getFsUserId());
|
|
|
+
|
|
|
+ st.setMiniprogramPage(linkByMiniApp.replaceAll("^[\\s\\u2005]+", ""));
|
|
|
+ break;
|
|
|
+ //app
|
|
|
+ case "9":
|
|
|
+ addWatchLogIfNeeded(param.getSopId(), param.getVideoId(), param.getCourseId(),item.getFsUserId(), qwUserId, companyUserId, companyId, item.getExternalId(),param.getStartTime(),createTime );
|
|
|
+
|
|
|
+ QwCreateLinkByAppVO linkByApp = createLinkByApp(st, param.getCorpId(), createTime, param.getCourseId(), param.getVideoId(),
|
|
|
+ qwUserId, companyUserId, companyId, item.getExternalId(), config,qwUser.getQwUserName(),contact.getFsUserId());
|
|
|
+ st.setLinkUrl(linkByApp.getSortLink().replaceAll("^[\\s\\u2005]+", ""));
|
|
|
+ st.setAppLinkUrl(linkByApp.getAppMsgLink().replaceAll("^[\\s\\u2005]+", ""));
|
|
|
|
|
|
+ break;
|
|
|
+ //注册链接
|
|
|
+ case "10":
|
|
|
+ String url=config.getRegisterDomainName()+registerLink+item.getExternalId();
|
|
|
+ st.setLinkUrl(url.replaceAll("^[\\s\\u2005]+", ""));
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
|
|
|
- setting.setSetting(list);
|
|
|
- setting.setType(2);
|
|
|
- setting.setVideoId(param.getVideoId());
|
|
|
- setting.setCourseId(param.getCourseId());
|
|
|
- setting.setCourseType(param.getCourseType());
|
|
|
+ setting.setSetting(list);
|
|
|
+ setting.setType(2);
|
|
|
+ setting.setVideoId(param.getVideoId());
|
|
|
+ setting.setCourseId(param.getCourseId());
|
|
|
+ setting.setCourseType(param.getCourseType());
|
|
|
|
|
|
- sopLogs.setContentJson(JSON.toJSONString(setting));
|
|
|
+ sopLogs.setContentJson(JSON.toJSONString(setting));
|
|
|
|
|
|
- sopLogsList.add(sopLogs);
|
|
|
- });
|
|
|
+ sopLogsList.add(sopLogs);
|
|
|
+ });
|
|
|
|
|
|
+ }
|
|
|
//批量插入 发送记录
|
|
|
if (!sopLogsList.isEmpty()) {
|
|
|
processAndInsertQwSopLogsBySendMsg(sopLogsList);
|