|
@@ -5,8 +5,10 @@ import com.ym.mec.auth.api.client.SysUserFeignService;
|
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
|
import com.ym.mec.biz.dal.dao.SysConfigDao;
|
|
|
import com.ym.mec.biz.dal.dao.SysMessageDao;
|
|
|
+import com.ym.mec.biz.dal.dao.TeacherDao;
|
|
|
import com.ym.mec.biz.dal.dao.WaitSendMessageDao;
|
|
|
import com.ym.mec.biz.dal.dto.Mapper;
|
|
|
+import com.ym.mec.biz.dal.dto.SimpleUserDto;
|
|
|
import com.ym.mec.biz.dal.dto.SysMessageDto;
|
|
|
import com.ym.mec.biz.dal.entity.SysEmail;
|
|
|
import com.ym.mec.biz.dal.entity.SysMessage;
|
|
@@ -28,6 +30,7 @@ import com.ym.mec.common.page.QueryInfo;
|
|
|
import com.ym.mec.common.page.WrapperUtil;
|
|
|
import com.ym.mec.common.redis.service.RedisCache;
|
|
|
import com.ym.mec.common.service.impl.BaseServiceImpl;
|
|
|
+import com.ym.mec.common.tenant.TenantContextHolder;
|
|
|
import com.ym.mec.im.ImFeignService;
|
|
|
import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
|
|
|
import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
|
|
@@ -57,35 +60,26 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
|
|
|
|
|
|
@Autowired
|
|
|
private SysMessageDao sysMessageDao;
|
|
|
-
|
|
|
@Autowired
|
|
|
private SysMessageConfigService sysMessageConfigService;
|
|
|
-
|
|
|
@Autowired
|
|
|
private MessageSenderPluginContext messageSenderPluginContext;
|
|
|
-
|
|
|
@Autowired
|
|
|
private SysUserFeignService sysUserFeignService;
|
|
|
-
|
|
|
-
|
|
|
+ @Autowired
|
|
|
+ private TeacherDao teacherDao;
|
|
|
@Autowired
|
|
|
private WaitSendMessageDao waitSendMessageDao;
|
|
|
-
|
|
|
@Autowired
|
|
|
private SysConfigDao sysConfigDao;
|
|
|
-
|
|
|
@Autowired
|
|
|
private ImFeignService imFeignService;
|
|
|
-
|
|
|
@Autowired
|
|
|
private RedisCache<String, Object> redisCache;
|
|
|
-
|
|
|
@Autowired
|
|
|
private SysEmailServiceImpl sysEmailService;
|
|
|
-
|
|
|
// 验证码有效期
|
|
|
public static final int CODE_EXPIRE = 60 * 5;
|
|
|
-
|
|
|
// 发送验证码的间隔时间
|
|
|
public static final int CODE_INTERVAL_TIME = 60;
|
|
|
|
|
@@ -310,8 +304,12 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
|
|
|
public void batchSendMessage(MessageSender messageSender, MessageTypeEnum type, Map<Integer, String> receivers, Date triggerTime, Integer readStatus,
|
|
|
String url,String jpushType, Object... args) {
|
|
|
if (receivers == null || receivers.size() == 0) {
|
|
|
- throw new BizException("接收地址不能为空");
|
|
|
+ LOGGER.error("接收地址不能为空");
|
|
|
+ return;
|
|
|
}
|
|
|
+ SimpleUserDto simpleUserDto = teacherDao.getSimpleUser(receivers.keySet().iterator().next());
|
|
|
+ TenantContextHolder.setTenantId(simpleUserDto.getTenantId());
|
|
|
+
|
|
|
// email data from database load, 使用接收者 tenantId, 假设发送者和接收者为同一机构
|
|
|
if (Objects.equals(messageSender.getSendMode(), "EMAIL")) {
|
|
|
Integer userId = receivers.keySet().stream().findFirst().orElse(-1);
|
|
@@ -381,6 +379,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
|
|
|
LOGGER.info("batch 添加消息");
|
|
|
addMessage(receivers, messageConfig.getDescription(), MessageFormatter.arrayFormat(messageConfig.getContent(), args), triggerTime, mode, status, errorMsg, readStatus,
|
|
|
url, messageConfig.getGroup(),jpushType);
|
|
|
+ TenantContextHolder.clearTenantId();
|
|
|
}
|
|
|
|
|
|
|