|  | @@ -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);
 | 
	
	
		
			
				|  | @@ -378,6 +376,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		addMessage(receivers, messageConfig.getDescription(), MessageFormatter.arrayFormat(messageConfig.getContent(), args), triggerTime, mode, status, errorMsg, readStatus,
 | 
	
		
			
				|  |  |  				url, messageConfig.getGroup(),jpushType);
 | 
	
		
			
				|  |  | +		TenantContextHolder.clearTenantId();
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 |