|
|
@@ -1,17 +1,22 @@
|
|
|
package com.fs.app.service;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.fs.common.core.redis.RedisCache;
|
|
|
import com.fs.common.exception.base.BaseException;
|
|
|
import com.fs.common.utils.StringUtils;
|
|
|
import com.fs.common.utils.date.DateUtil;
|
|
|
+import com.fs.common.utils.spring.SpringUtils;
|
|
|
import com.fs.company.domain.CompanyMiniapp;
|
|
|
import com.fs.company.service.ICompanyMiniappService;
|
|
|
import com.fs.course.domain.FsCoursePlaySourceConfig;
|
|
|
import com.fs.course.domain.FsCourseWatchLog;
|
|
|
import com.fs.course.service.IFsCourseWatchLogService;
|
|
|
+import com.fs.his.domain.FsUser;
|
|
|
+import com.fs.his.mapper.FsUserMapper;
|
|
|
import com.fs.ipad.IpadSendUtils;
|
|
|
import com.fs.ipad.vo.*;
|
|
|
+import com.fs.qw.domain.QwExternalContact;
|
|
|
import com.fs.qw.domain.QwUser;
|
|
|
import com.fs.qw.domain.QwUserVideo;
|
|
|
import com.fs.qw.mapper.QwExternalContactMapper;
|
|
|
@@ -30,8 +35,11 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Slf4j
|
|
|
@Service
|
|
|
@@ -45,22 +53,55 @@ public class IpadSendServer {
|
|
|
private final QwExternalContactMapper qwExternalContactMapper;
|
|
|
private final IFsCourseWatchLogService watchLogService;
|
|
|
private final IQwUserVideoService qwUserVideoService;
|
|
|
+ private final FsUserMapper fsUserMapper;
|
|
|
private final RedisCache redisCache;
|
|
|
private final ICompanyMiniappService companyMiniappService;
|
|
|
|
|
|
+ private final List<String> projectNames = Arrays.asList("济南联志健康", "北京存在文化");
|
|
|
+
|
|
|
private void sendMiniProgram(BaseVo vo, QwSopCourseFinishTempSetting.Setting content, Map<String, FsCoursePlaySourceConfig> miniMap, Long companyId) {
|
|
|
String appid = content.getMiniprogramAppid();
|
|
|
if(companyId != null && content.getMiniType() != null){
|
|
|
- List<CompanyMiniapp> list = companyMiniappService.list(new QueryWrapper<CompanyMiniapp>().eq("company_id", companyId).eq("type", content.getMiniType()));
|
|
|
- if(!list.isEmpty() && list.get(0) != null && StringUtils.isNotEmpty(list.get(0).getAppId())){
|
|
|
- appid = list.get(0).getAppId();
|
|
|
+ List<CompanyMiniapp> list = companyMiniappService.list(new QueryWrapper<CompanyMiniapp>().eq("company_id", companyId));
|
|
|
+ List<CompanyMiniapp> collect = list.stream().filter(e -> e.getType().equals(content.getMiniType())).collect(Collectors.toList());
|
|
|
+ if(!collect.isEmpty() && collect.get(0) != null && StringUtils.isNotEmpty(collect.get(0).getAppId())){
|
|
|
+ appid = collect.get(0).getAppId();
|
|
|
+ }
|
|
|
+ String signProjectName = SpringUtils.getProperty("cloud_host.company_name");
|
|
|
+ //区分新老用户,新用户发送备用小程序,老用户发送主小程序
|
|
|
+ if(projectNames.contains(signProjectName)){
|
|
|
+ if(!vo.isRoom()){
|
|
|
+ try {
|
|
|
+ log.error("1.打印小程序信息------------------》:{}",appid);
|
|
|
+ log.error("2.打印企业信息------------------》:{}",companyId);
|
|
|
+ QwExternalContact qwExternalContact = qwExternalContactMapper.selectOne(new LambdaQueryWrapper<QwExternalContact>().eq(QwExternalContact::getQwUserId,vo.getQwUserId()).eq(QwExternalContact::getExternalUserId,vo.getExId()));
|
|
|
+ log.error("3.打印外部联系人ID-------------------》{}",qwExternalContact.getId());
|
|
|
+ if(qwExternalContact.getFsUserId() != null){
|
|
|
+ FsUser fsUser = fsUserMapper.selectFsUserByUserId(qwExternalContact.getFsUserId());
|
|
|
+ LocalDateTime createTime = DateUtil.dateToLocalDateTime(fsUser.getCreateTime());
|
|
|
+ LocalDateTime lastTime = LocalDateTime.of(2025, 11, 25, 15, 30, 00);
|
|
|
+ int listIndex = createTime.isAfter(lastTime) ? 1 : 0 ;
|
|
|
+ List<CompanyMiniapp> collect2 = list.stream().filter(e -> e.getType().equals(listIndex)).collect(Collectors.toList());
|
|
|
+ if(!collect2.isEmpty() && collect2.get(0) != null && StringUtils.isNotEmpty(collect2.get(0).getAppId())){
|
|
|
+ appid = collect2.get(0).getAppId();
|
|
|
+ log.error("5.打印小程序信息2------------------》:{}",appid);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ log.error("6.输出外部联系人ID-------------->{}",vo.getExId());
|
|
|
+ log.error("7.数据异常----------------------》{}",e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
FsCoursePlaySourceConfig courseMaConfig = miniMap.get(appid);
|
|
|
+ log.error("8.打印小程序配置信息------------------》:{}",1);
|
|
|
if(courseMaConfig == null){
|
|
|
List<CompanyMiniapp> list = companyMiniappService.list(new QueryWrapper<CompanyMiniapp>().eq("company_id", companyId).eq("type", 1));
|
|
|
if(!list.isEmpty() && list.get(0) != null && StringUtils.isNotEmpty(list.get(0).getAppId())){
|
|
|
courseMaConfig = miniMap.get(list.get(0).getAppId());
|
|
|
+ log.error("9.打印小程序配置信息--------最终------------------》:{}",courseMaConfig);
|
|
|
}
|
|
|
}
|
|
|
if(courseMaConfig == null){
|
|
|
@@ -352,6 +393,7 @@ public class IpadSendServer {
|
|
|
vo.setUuid(qwUser.getUid());
|
|
|
vo.setExId(qwSopLogs.getExternalUserId());
|
|
|
vo.setServerId(qwUser.getServerId());
|
|
|
+ vo.setQwUserId(qwUser.getId());
|
|
|
vo.setCorpCode(parentVo.getCorpCode());
|
|
|
vo.setCorpId(parentVo.getCorpId());
|
|
|
try {
|