| 
					
				 | 
			
			
				@@ -303,6 +303,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Async 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	public void batchSendMessage(MessageSender messageSender, MessageTypeEnum type, Map<Integer, String> receivers, Date triggerTime, Integer readStatus, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			String url,String jpushType, Object... args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		LOGGER.info("batchSendMessage {}, type {}, receivers {} ", messageSender, type, receivers); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (receivers == null || receivers.size() == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			LOGGER.error("接收地址不能为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -312,10 +313,9 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		// email data from database load, 使用接收者 tenantId, 假设发送者和接收者为同一机构 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (Objects.equals(messageSender.getSendMode(), "EMAIL")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			Integer userId = receivers.keySet().stream().findFirst().orElse(-1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			loadEmailInfo(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			LOGGER.info("batch 发送邮件 {} ", simpleUserDto.getTenantId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			loadEmailInfo(simpleUserDto.getTenantId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			debugMode = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			LOGGER.info("batch 发送邮件 {} ", userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if(StringUtils.isNotEmpty(jpushType) && jpushType == "STUDENT"){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			//如果不是缴费信息 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -450,12 +450,15 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Async 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	public void sendMessage(MessageSender messageSender, Integer userId, String title, String content, String receiver, Date triggerTime, Integer readStatus, String url, String group,String jpushType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		LOGGER.info("batchSendMessage {}, userId {}, receivers {} ", messageSender, userId, receiver); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (StringUtils.isBlank(receiver)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			throw new BizException("接收地址不能为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		SimpleUserDto simpleUserDto = teacherDao.getSimpleUser(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		TenantContextHolder.setTenantId(simpleUserDto.getTenantId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		// email data from database load 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (Objects.equals(messageSender.getSendMode(), "EMAIL")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			loadEmailInfo(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			loadEmailInfo(simpleUserDto.getTenantId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			debugMode = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			LOGGER.info("batch 发送邮件 {} ", userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -490,14 +493,14 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		addMessage(receivers, title, content, triggerTime, mode, status, errorMsg, readStatus, url, null,jpushType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	private void loadEmailInfo(Integer userId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		SysUser user = sysUserFeignService.queryUserById(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if (user == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			LOGGER.error("用户Id {} 找不到用户", userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private void loadEmailInfo(Integer tenantId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			SysEmail email1 = sysEmailService.getOne(new WrapperUtil<SysEmail>().hasEq("tenant_id_", user.getTenantId()).queryWrapper()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			SysEmail email1 = sysEmailService.getOne(new WrapperUtil<SysEmail>().hasEq("tenant_id_", tenantId).queryWrapper()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if (email1 == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				LOGGER.error("未找到邮件配置 tenantId" + tenantId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				throw new RuntimeException("未找到邮件配置 tenantId" + tenantId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			messageSenderPluginContext.sysEmail.setHostName(email1.getHostName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			messageSenderPluginContext.sysEmail.setSmtpPort(email1.getSmtpPort()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			messageSenderPluginContext.sysEmail.setUserName(email1.getUserName()); 
			 |