|
|
@@ -64,122 +64,120 @@ public class IpadSendServer {
|
|
|
private final FsUserCourseVideoMapper fsUserCourseVideoMapper;
|
|
|
|
|
|
|
|
|
- private static final List<String> PROJECT_NAMES = Arrays.asList("济南联志健康", "北京存在文化","宽益堂");
|
|
|
+ private static final List<String> PROJECT_NAMES = Arrays.asList("济南联志健康", "北京存在文化", "宽益堂");
|
|
|
private final LiveWatchLogMapper liveWatchLogMapper;
|
|
|
|
|
|
private void sendMiniProgram(BaseVo vo, QwSopCourseFinishTempSetting.Setting content, Map<String, FsCoursePlaySourceConfig> miniMap, Long companyId) {
|
|
|
// 发送参数原本的appid
|
|
|
String appid = content.getMiniprogramAppid();
|
|
|
// 判断销售工时ID不为空并且有小程序类型
|
|
|
- if(companyId != null && content.getMiniType() != null){
|
|
|
+ if (companyId != null && content.getMiniType() != null) {
|
|
|
// 获取销售公司下面绑定的主备小程序,并且根据当前应该发送的主备类型查询出数据
|
|
|
List<CompanyMiniapp> listAll = companyMiniappService.list(new QueryWrapper<CompanyMiniapp>().eq("company_id", companyId));
|
|
|
List<CompanyMiniapp> list = listAll.stream().filter(e -> e.getType().equals(content.getMiniType())).collect(Collectors.toList());
|
|
|
// 判断当前绑定的最新的小程序,并且覆盖以前的值(可以达到实时替换小程序的功能)
|
|
|
- if(!list.isEmpty() && list.get(0) != null && StringUtils.isNotEmpty(list.get(0).getAppId())){
|
|
|
+ if (!list.isEmpty() && list.get(0) != null && StringUtils.isNotEmpty(list.get(0).getAppId())) {
|
|
|
appid = list.get(0).getAppId();
|
|
|
}
|
|
|
// 获取配置文件里面的项目名称
|
|
|
String signProjectName = SpringUtils.getProperty("cloud_host.company_name");
|
|
|
//区分新老用户,新用户发送备用小程序,老用户发送主小程序,TODO 需要使用的项目在参数里面加上
|
|
|
- if(PROJECT_NAMES.contains(signProjectName)){
|
|
|
- log.info("ID:{}, qwUserId:{},externalId:{},进入区分发小程序逻辑", vo.getId(), vo.getQwUserId(), vo.getExId());
|
|
|
- // 判断消息是否是群聊,不是群聊再进去,TODO 当权无法判断群聊是否可以发送对应的小程序
|
|
|
- if(!vo.isRoom()){
|
|
|
- log.info("ID:{}, qwUserId:{},externalId:{},不是群聊", vo.getId(), vo.getQwUserId(), vo.getExId());
|
|
|
- try {
|
|
|
- // 获取当前外部联系人
|
|
|
- QwExternalContact qwExternalContact = qwExternalContactMapper.selectOne(new LambdaQueryWrapper<QwExternalContact>().eq(QwExternalContact::getQwUserId,vo.getQwUserId()).eq(QwExternalContact::getExternalUserId,vo.getExId()).last(" limit 1"));
|
|
|
- // 当前外部联系是否绑定用户数据,如果数据为空则是没看过小程序的新用户,不用去判断小程序,跳过判断
|
|
|
- if(qwExternalContact.getFsUserId() != null){
|
|
|
- // 根据用户绑定信息去查询用户信息
|
|
|
- FsUser fsUser = fsUserMapper.selectFsUserByUserId(qwExternalContact.getFsUserId());
|
|
|
- // 判断用户是否有看过其他的小程序多个
|
|
|
- if(StringUtils.isNotEmpty(fsUser.getAppId())){
|
|
|
- // 获取用户看过的小程序ID集合
|
|
|
- List<String> miniAppList = Arrays.asList(fsUser.getAppId().split(","));
|
|
|
- Map<String, Integer> miniSortMap = new HashMap<>();
|
|
|
- for (int i = 0; i < miniAppList.size(); i++) {
|
|
|
- miniSortMap.put(miniAppList.get(i), i);
|
|
|
- }
|
|
|
- // 根据小程序ID查询小程序列表
|
|
|
- List<FsCoursePlaySourceConfig> configList = playSourceConfigService.selectByAppIds(miniAppList);
|
|
|
- configList.sort(Comparator.comparing(e -> miniSortMap.getOrDefault(e.getAppid(), 100)));
|
|
|
- // 过滤掉完全封禁(status=2)的小程序,只保留正常(status=0)和半封禁(status=1)的小程序
|
|
|
- List<FsCoursePlaySourceConfig> availableList = configList.stream()
|
|
|
+ log.info("ID:{}, qwUserId:{},externalId:{},进入区分发小程序逻辑", vo.getId(), vo.getQwUserId(), vo.getExId());
|
|
|
+ // 判断消息是否是群聊,不是群聊再进去,TODO 当权无法判断群聊是否可以发送对应的小程序
|
|
|
+ if (!vo.isRoom()) {
|
|
|
+ log.info("ID:{}, qwUserId:{},externalId:{},不是群聊", vo.getId(), vo.getQwUserId(), vo.getExId());
|
|
|
+ try {
|
|
|
+ // 获取当前外部联系人
|
|
|
+ QwExternalContact qwExternalContact = qwExternalContactMapper.selectOne(new LambdaQueryWrapper<QwExternalContact>().eq(QwExternalContact::getQwUserId, vo.getQwUserId()).eq(QwExternalContact::getExternalUserId, vo.getExId()).last(" limit 1"));
|
|
|
+ // 当前外部联系是否绑定用户数据,如果数据为空则是没看过小程序的新用户,不用去判断小程序,跳过判断
|
|
|
+ if (qwExternalContact.getFsUserId() != null) {
|
|
|
+ // 根据用户绑定信息去查询用户信息
|
|
|
+ FsUser fsUser = fsUserMapper.selectFsUserByUserId(qwExternalContact.getFsUserId());
|
|
|
+ // 判断用户是否有看过其他的小程序多个
|
|
|
+ if (StringUtils.isNotEmpty(fsUser.getAppId())) {
|
|
|
+ // 获取用户看过的小程序ID集合
|
|
|
+ List<String> miniAppList = Arrays.asList(fsUser.getAppId().split(","));
|
|
|
+ Map<String, Integer> miniSortMap = new HashMap<>();
|
|
|
+ for (int i = 0; i < miniAppList.size(); i++) {
|
|
|
+ miniSortMap.put(miniAppList.get(i), i);
|
|
|
+ }
|
|
|
+ // 根据小程序ID查询小程序列表
|
|
|
+ List<FsCoursePlaySourceConfig> configList = playSourceConfigService.selectByAppIds(miniAppList);
|
|
|
+ configList.sort(Comparator.comparing(e -> miniSortMap.getOrDefault(e.getAppid(), 100)));
|
|
|
+ // 过滤掉完全封禁(status=2)的小程序,只保留正常(status=0)和半封禁(status=1)的小程序
|
|
|
+ List<FsCoursePlaySourceConfig> availableList = configList.stream()
|
|
|
.filter(e -> e.getStatus() == null || e.getStatus() != 2)
|
|
|
.collect(Collectors.toList());
|
|
|
- // 筛选出半封禁的小程序数据,得到这个数据然后优先发这个小程序
|
|
|
- Optional<FsCoursePlaySourceConfig> optional = availableList.stream().filter(e -> e.getStatus() != null && e.getStatus() == 1).findFirst();
|
|
|
- Optional<FsCoursePlaySourceConfig> optional2 = availableList.stream().filter(e -> e.getStatus() != null && e.getStatus() == 0).findFirst();
|
|
|
- if(miniAppList.size() == 1){
|
|
|
- // 用户只看过一个小程序,检查是否可用
|
|
|
- if(!availableList.isEmpty()){
|
|
|
- appid = availableList.get(0).getAppid();
|
|
|
- log.info("ID:{}, qwUserId:{},externalId:{},判断看过一个小程序:{}", vo.getId(), vo.getQwUserId(), vo.getExId(), appid);
|
|
|
- }else{
|
|
|
- // 用户看过的小程序已完全封禁,使用备用小程序
|
|
|
- Optional<CompanyMiniapp> first = listAll.stream().filter(e -> e.getType() == 1).findFirst();
|
|
|
- if(first.isPresent()){
|
|
|
- appid = first.get().getAppId();
|
|
|
- log.info("ID:{}, qwUserId:{},externalId:{},看过的小程序已封禁,使用备用小程序:{}", vo.getId(), vo.getQwUserId(), vo.getExId(), appid);
|
|
|
- }
|
|
|
- }
|
|
|
- }else{
|
|
|
- // 判断是否找到半封禁
|
|
|
- if(optional.isPresent()){
|
|
|
- // 找到半封禁并且在appid里面存在证明这个客户是打开过小程序,优先发送这个
|
|
|
- appid = optional.get().getAppid();
|
|
|
- log.info("ID:{}, qwUserId:{},externalId:{},找到半封禁小程序:{}", vo.getId(), vo.getQwUserId(), vo.getExId(), appid);
|
|
|
- }else if(optional2.isPresent()){
|
|
|
- appid = optional2.get().getAppid();
|
|
|
- log.info("ID:{}, qwUserId:{},externalId:{},找到正常小程序:{}", vo.getId(), vo.getQwUserId(), vo.getExId(), appid);
|
|
|
- }else{
|
|
|
- Optional<CompanyMiniapp> first = listAll.stream().filter(e -> e.getType() == 1).findFirst();
|
|
|
- // 查找备用小程序发送备用记录ID
|
|
|
- if(first.isPresent()){
|
|
|
- appid = first.get().getAppId();
|
|
|
- log.info("ID:{}, qwUserId:{},externalId:{},找到备用小程序:{}", vo.getId(), vo.getQwUserId(), vo.getExId(), appid);
|
|
|
- }else{
|
|
|
- log.info("ID:{}, qwUserId:{},externalId:{},没找到小程序:{}", vo.getId(), vo.getQwUserId(), vo.getExId(), appid);
|
|
|
- }
|
|
|
+ // 筛选出半封禁的小程序数据,得到这个数据然后优先发这个小程序
|
|
|
+ Optional<FsCoursePlaySourceConfig> optional = availableList.stream().filter(e -> e.getStatus() != null && e.getStatus() == 1).findFirst();
|
|
|
+ Optional<FsCoursePlaySourceConfig> optional2 = availableList.stream().filter(e -> e.getStatus() != null && e.getStatus() == 0).findFirst();
|
|
|
+ if (miniAppList.size() == 1) {
|
|
|
+ // 用户只看过一个小程序,检查是否可用
|
|
|
+ if (!availableList.isEmpty()) {
|
|
|
+ appid = availableList.get(0).getAppid();
|
|
|
+ log.info("ID:{}, qwUserId:{},externalId:{},判断看过一个小程序:{}", vo.getId(), vo.getQwUserId(), vo.getExId(), appid);
|
|
|
+ } else {
|
|
|
+ // 用户看过的小程序已完全封禁,使用备用小程序
|
|
|
+ Optional<CompanyMiniapp> first = listAll.stream().filter(e -> e.getType() == 1).findFirst();
|
|
|
+ if (first.isPresent()) {
|
|
|
+ appid = first.get().getAppId();
|
|
|
+ log.info("ID:{}, qwUserId:{},externalId:{},看过的小程序已封禁,使用备用小程序:{}", vo.getId(), vo.getQwUserId(), vo.getExId(), appid);
|
|
|
}
|
|
|
}
|
|
|
- }else{
|
|
|
- // 获取用户的创建时间
|
|
|
- LocalDateTime createTime = DateUtil.dateToLocalDateTime(fsUser.getCreateTime());
|
|
|
- log.info("ID:{}, qwUserId:{},externalId:{},已绑定小程序,判断时间:{}", vo.getId(), vo.getQwUserId(), vo.getExId(), createTime);
|
|
|
- // 这个时间是写死的,目前判断的芳华封禁的时间,可以更具项目调整
|
|
|
- LocalDateTime lastTime = LocalDateTime.of(2025, 11, 10, 23, 59, 59);
|
|
|
- // 判断客户创建时间是在这个之前还是之后
|
|
|
- int listIndex = createTime.isAfter(lastTime) ? 1 : 0 ;
|
|
|
- // 获取公司里面的主备小程序,根据用户创建时间来发送主备,如果创建时间大于上看的时间就发送备用小程序,如果小于就发送主要小程序
|
|
|
- List<CompanyMiniapp> collect2 = listAll.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.info("ID:{}, qwUserId:{},externalId:{},发送小程序:{}", vo.getId(), vo.getQwUserId(), vo.getExId(), appid);
|
|
|
+ } else {
|
|
|
+ // 判断是否找到半封禁
|
|
|
+ if (optional.isPresent()) {
|
|
|
+ // 找到半封禁并且在appid里面存在证明这个客户是打开过小程序,优先发送这个
|
|
|
+ appid = optional.get().getAppid();
|
|
|
+ log.info("ID:{}, qwUserId:{},externalId:{},找到半封禁小程序:{}", vo.getId(), vo.getQwUserId(), vo.getExId(), appid);
|
|
|
+ } else if (optional2.isPresent()) {
|
|
|
+ appid = optional2.get().getAppid();
|
|
|
+ log.info("ID:{}, qwUserId:{},externalId:{},找到正常小程序:{}", vo.getId(), vo.getQwUserId(), vo.getExId(), appid);
|
|
|
+ } else {
|
|
|
+ Optional<CompanyMiniapp> first = listAll.stream().filter(e -> e.getType() == 1).findFirst();
|
|
|
+ // 查找备用小程序发送备用记录ID
|
|
|
+ if (first.isPresent()) {
|
|
|
+ appid = first.get().getAppId();
|
|
|
+ log.info("ID:{}, qwUserId:{},externalId:{},找到备用小程序:{}", vo.getId(), vo.getQwUserId(), vo.getExId(), appid);
|
|
|
+ } else {
|
|
|
+ log.info("ID:{}, qwUserId:{},externalId:{},没找到小程序:{}", vo.getId(), vo.getQwUserId(), vo.getExId(), appid);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- }else{
|
|
|
- log.info("ID:{}, qwUserId:{},externalId:{},未绑定小程序用户", vo.getId(), vo.getQwUserId(), vo.getExId());
|
|
|
+ } else {
|
|
|
+ // 获取用户的创建时间
|
|
|
+ LocalDateTime createTime = DateUtil.dateToLocalDateTime(fsUser.getCreateTime());
|
|
|
+ log.info("ID:{}, qwUserId:{},externalId:{},已绑定小程序,判断时间:{}", vo.getId(), vo.getQwUserId(), vo.getExId(), createTime);
|
|
|
+ // 这个时间是写死的,目前判断的芳华封禁的时间,可以更具项目调整
|
|
|
+ LocalDateTime lastTime = LocalDateTime.of(2025, 11, 10, 23, 59, 59);
|
|
|
+ // 判断客户创建时间是在这个之前还是之后
|
|
|
+ int listIndex = createTime.isAfter(lastTime) ? 1 : 0;
|
|
|
+ // 获取公司里面的主备小程序,根据用户创建时间来发送主备,如果创建时间大于上看的时间就发送备用小程序,如果小于就发送主要小程序
|
|
|
+ List<CompanyMiniapp> collect2 = listAll.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.info("ID:{}, qwUserId:{},externalId:{},发送小程序:{}", vo.getId(), vo.getQwUserId(), vo.getExId(), appid);
|
|
|
+ }
|
|
|
}
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- log.error("6.输出外部联系人ID-------------->{}",vo.getExId());
|
|
|
- log.error("7.数据异常----------------------》{}",e.getMessage());
|
|
|
+ } else {
|
|
|
+ log.info("ID:{}, qwUserId:{},externalId:{},未绑定小程序用户", vo.getId(), vo.getQwUserId(), vo.getExId());
|
|
|
}
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ log.error("6.输出外部联系人ID-------------->{}", vo.getExId());
|
|
|
+ log.error("7.数据异常----------------------》{}", e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
FsCoursePlaySourceConfig courseMaConfig = miniMap.get(appid);
|
|
|
- if(courseMaConfig == null){
|
|
|
+ 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())){
|
|
|
+ if (!list.isEmpty() && list.get(0) != null && StringUtils.isNotEmpty(list.get(0).getAppId())) {
|
|
|
courseMaConfig = miniMap.get(list.get(0).getAppId());
|
|
|
}
|
|
|
}
|
|
|
- if(courseMaConfig == null){
|
|
|
+ if (courseMaConfig == null) {
|
|
|
throw new BaseException("未找到小程序配置:{}", appid);
|
|
|
}
|
|
|
// 小程序
|
|
|
@@ -314,8 +312,9 @@ public class IpadSendServer {
|
|
|
dto.setUuid(vo.getUuid());
|
|
|
dto.setSend_userid(ipadSendUtils.userIds(vo));
|
|
|
dto.setIsRoom(true);
|
|
|
- ipadSendUtils.sendTxtAtMsgVo(dto, vo.getServerId() ,vo.getId());
|
|
|
+ ipadSendUtils.sendTxtAtMsgVo(dto, vo.getServerId(), vo.getId());
|
|
|
}
|
|
|
+
|
|
|
public void sendVoice(BaseVo vo, QwSopCourseFinishTempSetting.Setting content) {
|
|
|
if (StringUtils.isEmpty(content.getVoiceUrl()) || StringUtils.isEmpty(content.getVoiceDuration())) {
|
|
|
log.debug("语音未生成无法发送,转文字发送:{}", vo);
|
|
|
@@ -391,7 +390,7 @@ public class IpadSendServer {
|
|
|
updateQwUser.setRemark("登录状态异常:" + e.getMessage());
|
|
|
updateQwUser.setIpadStatus(0);
|
|
|
qwUserMapper.updateById(updateQwUser);
|
|
|
- qwUserService.atMsg(qwUser, "掉线提醒(登录信息异常,请联系管理员:"+e.getMessage()+")");
|
|
|
+ qwUserService.atMsg(qwUser, "掉线提醒(登录信息异常,请联系管理员:" + e.getMessage() + ")");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
@@ -399,11 +398,11 @@ public class IpadSendServer {
|
|
|
}
|
|
|
|
|
|
public boolean isSendLogs(QwSopLogs qwSopLogs, QwSopCourseFinishTempSetting setting, QwUser qwUser) {
|
|
|
- if(qwSopLogs.getSendStatus() != 3){
|
|
|
+ if (qwSopLogs.getSendStatus() != 3) {
|
|
|
log.info("状态异常不发送:{}, LOGID: {}", qwUser.getQwUserName(), qwSopLogs.getId());
|
|
|
return false;
|
|
|
}
|
|
|
- if(redisCache.getCacheObject("qw:user:id:" + qwUser.getId()) != null){
|
|
|
+ if (redisCache.getCacheObject("qw:user:id:" + qwUser.getId()) != null) {
|
|
|
log.info("频率异常不发送:{}", qwUser.getQwUserName());
|
|
|
return false;
|
|
|
}
|
|
|
@@ -421,13 +420,13 @@ public class IpadSendServer {
|
|
|
LocalDateTime expiryDateTime;
|
|
|
|
|
|
// 判断是否过期
|
|
|
- if(qwSopLogs.getSendType() == 3 || qwSopLogs.getSendType() == 7){
|
|
|
+ if (qwSopLogs.getSendType() == 3 || qwSopLogs.getSendType() == 7) {
|
|
|
expiryDateTime = sendTime.plusHours(12);
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
expiryDateTime = sendTime.plusHours(qwSopLogs.getExpiryTime());
|
|
|
}
|
|
|
|
|
|
- if (LocalDateTime.now().isAfter(expiryDateTime) ) {
|
|
|
+ if (LocalDateTime.now().isAfter(expiryDateTime)) {
|
|
|
// 作废消息
|
|
|
log.warn("SOP_LOG_ID:{}, 已过期,不发送", qwSopLogs.getId());
|
|
|
qwSopLogsService.updateQwSopLogsByWatchLogType(qwSopLogs.getId(), "已过期,不发送");
|
|
|
@@ -441,10 +440,10 @@ public class IpadSendServer {
|
|
|
}
|
|
|
|
|
|
// 查询视频是否下架
|
|
|
- if(setting.getVideoId()!= null){
|
|
|
- FsUserCourseVideo video = fsUserCourseVideoMapper.selectFsUserCourseVideoByVideoId( setting.getVideoId().longValue());
|
|
|
- if(video != null){
|
|
|
- if(video.getIsOnPut()!=null && video.getIsOnPut() == 1){
|
|
|
+ if (setting.getVideoId() != null) {
|
|
|
+ FsUserCourseVideo video = fsUserCourseVideoMapper.selectFsUserCourseVideoByVideoId(setting.getVideoId().longValue());
|
|
|
+ if (video != null) {
|
|
|
+ if (video.getIsOnPut() != null && video.getIsOnPut() == 1) {
|
|
|
log.warn("SOP_LOG_ID:{}, 视频已下架,不发送", qwSopLogs.getId());
|
|
|
qwSopLogsService.updateQwSopLogsByWatchLogType(qwSopLogs.getId(), "视频已下架,不发送");
|
|
|
return false;
|
|
|
@@ -490,17 +489,18 @@ public class IpadSendServer {
|
|
|
|
|
|
/**
|
|
|
* 直播间判定消息
|
|
|
+ *
|
|
|
* @param qwSopLogs
|
|
|
* @param setting
|
|
|
* @param qwUser
|
|
|
* @return
|
|
|
*/
|
|
|
- public boolean isSendLogsLive(QwSopLogs qwSopLogs, QwSopCourseFinishTempSetting setting, QwUser qwUser){
|
|
|
- if(qwSopLogs.getSendStatus() != 3){
|
|
|
+ public boolean isSendLogsLive(QwSopLogs qwSopLogs, QwSopCourseFinishTempSetting setting, QwUser qwUser) {
|
|
|
+ if (qwSopLogs.getSendStatus() != 3) {
|
|
|
log.info("直播状态异常不发送:{}, LOGID: {}", qwUser.getQwUserName(), qwSopLogs.getId());
|
|
|
return false;
|
|
|
}
|
|
|
- if(redisCache.getCacheObject("qw:user:id:" + qwUser.getId()) != null){
|
|
|
+ if (redisCache.getCacheObject("qw:user:id:" + qwUser.getId()) != null) {
|
|
|
log.info("直播频率异常不发送:{}", qwUser.getQwUserName());
|
|
|
return false;
|
|
|
}
|
|
|
@@ -518,9 +518,9 @@ public class IpadSendServer {
|
|
|
LocalDateTime expiryDateTime;
|
|
|
|
|
|
// 判断是否过期
|
|
|
- if(qwSopLogs.getSendType() == 3 || qwSopLogs.getSendType() == 7){
|
|
|
+ if (qwSopLogs.getSendType() == 3 || qwSopLogs.getSendType() == 7) {
|
|
|
expiryDateTime = sendTime.plusHours(12);
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
expiryDateTime = sendTime.plusHours(qwSopLogs.getExpiryTime());
|
|
|
}
|
|
|
|
|
|
@@ -550,7 +550,7 @@ public class IpadSendServer {
|
|
|
// }
|
|
|
Long queryLiveId = null;
|
|
|
queryLiveId = setting.getLiveId();
|
|
|
- if(null == queryLiveId){
|
|
|
+ if (null == queryLiveId) {
|
|
|
for (QwSopCourseFinishTempSetting.Setting a : setting.getSetting()) {
|
|
|
if (StringUtils.isNotBlank(a.getLiveId())) {
|
|
|
queryLiveId = Long.valueOf(a.getLiveId());
|
|
|
@@ -565,15 +565,14 @@ public class IpadSendServer {
|
|
|
);
|
|
|
Integer courseType = setting.getCourseType();
|
|
|
String logId = qwSopLogs.getId();
|
|
|
- if(null != liveWatchLog){
|
|
|
- if (!QwSopLogsServiceImpl.isCourseTypeValid(courseType, liveWatchLog.getLogType())) {
|
|
|
- // 作废消息
|
|
|
- log.warn("SOP_LOG_ID:{}, 看课状态未满足,不发送", qwSopLogs.getId());
|
|
|
- qwSopLogsService.updateQwSopLogsByWatchLogType(logId, "看课状态未满足,不发送");
|
|
|
- return false;
|
|
|
- }
|
|
|
- }
|
|
|
- else{
|
|
|
+ if (null != liveWatchLog) {
|
|
|
+ if (!QwSopLogsServiceImpl.isCourseTypeValid(courseType, liveWatchLog.getLogType())) {
|
|
|
+ // 作废消息
|
|
|
+ log.warn("SOP_LOG_ID:{}, 看课状态未满足,不发送", qwSopLogs.getId());
|
|
|
+ qwSopLogsService.updateQwSopLogsByWatchLogType(logId, "看课状态未满足,不发送");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
log.warn("SOP_LOG_ID:{}, 无观看记录,不发送", qwSopLogs.getId());
|
|
|
qwSopLogsService.updateQwSopLogsByWatchLogType(logId, "无观看记录,不发送");
|
|
|
return false;
|
|
|
@@ -616,24 +615,25 @@ public class IpadSendServer {
|
|
|
|
|
|
/**
|
|
|
* 群公告判定消息
|
|
|
+ *
|
|
|
* @param qwSopLogs
|
|
|
* @param setting
|
|
|
* @param qwUser
|
|
|
* @return
|
|
|
*/
|
|
|
- public boolean isSendLogsGroupNotice(QwSopLogs qwSopLogs, QwSopCourseFinishTempSetting setting, QwUser qwUser){
|
|
|
+ public boolean isSendLogsGroupNotice(QwSopLogs qwSopLogs, QwSopCourseFinishTempSetting setting, QwUser qwUser) {
|
|
|
// 群公告只能发给群聊
|
|
|
- if(qwSopLogs.getSendType() != 6 && qwSopLogs.getSendType() != 21){
|
|
|
+ if (qwSopLogs.getSendType() != 6 && qwSopLogs.getSendType() != 21) {
|
|
|
log.warn("群公告SOP_LOG_ID:{}, 不是群聊消息,不发送", qwSopLogs.getId());
|
|
|
qwSopLogsService.updateQwSopLogsByWatchLogType(qwSopLogs.getId(), "群公告只能发给群聊,不发送");
|
|
|
return false;
|
|
|
}
|
|
|
-
|
|
|
- if(qwSopLogs.getSendStatus() != 3){
|
|
|
+
|
|
|
+ if (qwSopLogs.getSendStatus() != 3) {
|
|
|
log.info("群公告状态异常不发送:{}, LOGID: {}", qwUser.getQwUserName(), qwSopLogs.getId());
|
|
|
return false;
|
|
|
}
|
|
|
- if(redisCache.getCacheObject("qw:user:id:" + qwUser.getId()) != null){
|
|
|
+ if (redisCache.getCacheObject("qw:user:id:" + qwUser.getId()) != null) {
|
|
|
log.info("群公告频率异常不发送:{}", qwUser.getQwUserName());
|
|
|
return false;
|
|
|
}
|
|
|
@@ -651,9 +651,9 @@ public class IpadSendServer {
|
|
|
LocalDateTime expiryDateTime;
|
|
|
|
|
|
// 判断是否过期
|
|
|
- if(qwSopLogs.getSendType() == 3 || qwSopLogs.getSendType() == 7 || qwSopLogs.getSendType() == 21){
|
|
|
+ if (qwSopLogs.getSendType() == 3 || qwSopLogs.getSendType() == 7 || qwSopLogs.getSendType() == 21) {
|
|
|
expiryDateTime = sendTime.plusHours(12);
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
expiryDateTime = sendTime.plusHours(qwSopLogs.getExpiryTime());
|
|
|
}
|
|
|
|
|
|
@@ -681,7 +681,7 @@ public class IpadSendServer {
|
|
|
try {
|
|
|
content.setSendStatus(1);
|
|
|
// 如果是群公告,使用SendNotice接口
|
|
|
- if(qwSopLogs.getSendType() == 21 && "11".equals(content.getContentType())){
|
|
|
+ if (qwSopLogs.getSendType() == 21 && "11".equals(content.getContentType())) {
|
|
|
sendNotice(vo, content);
|
|
|
return;
|
|
|
}
|