|
|
@@ -113,6 +113,9 @@ public class CorpMsgBulkTaskServiceImpl extends ServiceImpl<CorpMsgBulkTaskMappe
|
|
|
throw BusinessRuntimeException.getInstance("标签筛选发送范围下,标签不能为空");
|
|
|
}
|
|
|
});
|
|
|
+ if (StrUtil.isAllEmpty(corpMsgBulkTask.getText(), corpMsgBulkTask.getAttachmentsStr())) {
|
|
|
+ throw BusinessRuntimeException.getInstance("群发消息文本和附件不能同时为空");
|
|
|
+ }
|
|
|
this.saveOrUpdate(corpMsgBulkTask);
|
|
|
//处理群发任务和标签的关系
|
|
|
handleTaskTagRelation(corpMsgBulkTask);
|
|
|
@@ -258,13 +261,16 @@ public class CorpMsgBulkTaskServiceImpl extends ServiceImpl<CorpMsgBulkTaskMappe
|
|
|
Integer userScope = corpMsgBulkTask.getUserScope();
|
|
|
|
|
|
Integer sendScope = corpMsgBulkTask.getSendScope();
|
|
|
+
|
|
|
+ Integer consumerScope = corpMsgBulkTask.getConsumerScope();
|
|
|
+
|
|
|
List<CorpUserFollowRelationDto> corpUserFollowRelations = null;
|
|
|
//全部用户
|
|
|
if (sendScope == 1) {
|
|
|
//此时tagIds是 需要过滤的用户标签
|
|
|
- corpUserFollowRelations = corpUserFollowRelationMapper.selectCorpUserNotUnderTagIds(tagIds, wxCorpApp.getId(), service_follow_ids, userScope);
|
|
|
+ corpUserFollowRelations = corpUserFollowRelationMapper.selectCorpUserNotUnderTagIds(tagIds, wxCorpApp.getId(), service_follow_ids, userScope, consumerScope);
|
|
|
} else {
|
|
|
- corpUserFollowRelations = corpUserFollowRelationMapper.selectCorpUserFollowRelationByTagIds(tagIds, wxCorpApp.getId(), service_follow_ids, userScope);
|
|
|
+ corpUserFollowRelations = corpUserFollowRelationMapper.selectCorpUserFollowRelationByTagIds(tagIds, wxCorpApp.getId(), service_follow_ids, userScope, consumerScope);
|
|
|
}
|
|
|
//将成员与客户相同关联聚合
|
|
|
Map<String, List<CorpUserFollowRelationDto>> userRelationMap = corpUserFollowRelations.stream().collect(Collectors.groupingBy(CorpUserFollowRelationDto::getFollowId));
|
|
|
@@ -429,17 +435,17 @@ public class CorpMsgBulkTaskServiceImpl extends ServiceImpl<CorpMsgBulkTaskMappe
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (CollectionUtil.isNotEmpty(failList)) {
|
|
|
- List<CorpUserSendRecord> corpUserSendRecords = corpMsgBulkTaskMapper.getsSuccessCorpUser(failList);
|
|
|
- if (CollectionUtil.isNotEmpty(corpUserSendRecords)) {
|
|
|
- corpUserSendRecords.forEach(corpUserSendRecord -> {
|
|
|
- log.info("失败群发记录大小:{}", corpUserSendRecords.size());
|
|
|
- corpUserSendRecord.setCorpMsgRecordId(corpMsgBulkTaskRecord.getId());
|
|
|
- corpMsgBulkTaskRecord.setTaskId(corpMsgBulkTaskRecord.getTaskId());
|
|
|
- corpUserSendRecordService.saveBatch(corpUserSendRecords);
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
+// if (CollectionUtil.isNotEmpty(failList)) {
|
|
|
+// List<CorpUserSendRecord> corpUserSendRecords = corpMsgBulkTaskMapper.getsSuccessCorpUser(failList);
|
|
|
+// if (CollectionUtil.isNotEmpty(corpUserSendRecords)) {
|
|
|
+// corpUserSendRecords.forEach(corpUserSendRecord -> {
|
|
|
+// log.info("失败群发记录大小:{}", corpUserSendRecords.size());
|
|
|
+// corpUserSendRecord.setCorpMsgRecordId(corpMsgBulkTaskRecord.getId());
|
|
|
+// corpMsgBulkTaskRecord.setTaskId(corpMsgBulkTaskRecord.getTaskId());
|
|
|
+// corpUserSendRecordService.saveBatch(corpUserSendRecords);
|
|
|
+// });
|
|
|
+// }
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
/**
|