|  | @@ -342,7 +342,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 | 
	
		
			
				|  |  |  			try {
 | 
	
		
			
				|  |  |  				if (debugMode == true
 | 
	
		
			
				|  |  |  						|| messageSenderPluginContext.batchSend(messageSender, messageConfig.getDescription(),
 | 
	
		
			
				|  |  | -								MessageFormatter.arrayFormat(messageConfig.getContent(), args), tos, url,jpushType)) {
 | 
	
		
			
				|  |  | +								MessageFormatter.arrayFormat(messageConfig.getContent(), args), tos, url,jpushType,"text")) {
 | 
	
		
			
				|  |  |  					status = SendStatusEnum.SUCCESSED;
 | 
	
		
			
				|  |  |  				} else {
 | 
	
		
			
				|  |  |  					status = SendStatusEnum.FAILED;
 | 
	
	
		
			
				|  | @@ -365,6 +365,69 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	@Override
 | 
	
		
			
				|  |  |  	@Async
 | 
	
		
			
				|  |  | +	public void batchPushMessage(MessageTypeEnum type, Map<Integer, String> receivers, Date triggerTime, Integer readStatus,
 | 
	
		
			
				|  |  | +			String url,String jpushType,String contentType, Object... args) {
 | 
	
		
			
				|  |  | +		if (receivers == null || receivers.size() == 0) {
 | 
	
		
			
				|  |  | +			throw new BizException("接收地址不能为空");
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		if(StringUtils.isNotEmpty(jpushType) && jpushType == "STUDENT"){
 | 
	
		
			
				|  |  | +			//如果不是缴费信息
 | 
	
		
			
				|  |  | +			if(type != STUDENT_PUSH_VIP_BUY){
 | 
	
		
			
				|  |  | +				int hour = DateUtil.getHour(new Date());
 | 
	
		
			
				|  |  | +				//如果当前时间在22点之后
 | 
	
		
			
				|  |  | +				String messageTime = sysConfigDao.findConfigValue("wait_send_message_time");
 | 
	
		
			
				|  |  | +				if(StringUtils.isEmpty(messageTime)){
 | 
	
		
			
				|  |  | +					messageTime = "22";
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +				if(hour > Integer.parseInt(messageTime)-1){
 | 
	
		
			
				|  |  | +					//保存推送信息
 | 
	
		
			
				|  |  | +					WaitSendMessage waitSendMessage = new WaitSendMessage();
 | 
	
		
			
				|  |  | +					if(args != null){
 | 
	
		
			
				|  |  | +						waitSendMessage.setAgrs(JSON.toJSONString(args));
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +					waitSendMessage.setJpushType(jpushType);
 | 
	
		
			
				|  |  | +					waitSendMessage.setMessageSender(MessageSender.JIGUANG.name());
 | 
	
		
			
				|  |  | +					waitSendMessage.setMessageType(type.name());
 | 
	
		
			
				|  |  | +					waitSendMessage.setReceivers(JSON.toJSONString(receivers));
 | 
	
		
			
				|  |  | +					waitSendMessage.setUrl(url);
 | 
	
		
			
				|  |  | +					waitSendMessageDao.insert(waitSendMessage);
 | 
	
		
			
				|  |  | +					return;
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		String[] tos = receivers.values().toArray(new String[receivers.size()]);
 | 
	
		
			
				|  |  | +		SysMessageConfig messageConfig = sysMessageConfigService.queryByType(type);
 | 
	
		
			
				|  |  | +		if (messageConfig == null) {
 | 
	
		
			
				|  |  | +			throw new BizException("消息类型错误");
 | 
	
		
			
				|  |  | +		}else if(messageConfig.getSendFlag() == null || messageConfig.getSendFlag() == 0){
 | 
	
		
			
				|  |  | +			return;
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		Date date = new Date();
 | 
	
		
			
				|  |  | +		SendStatusEnum status = SendStatusEnum.WAIT;
 | 
	
		
			
				|  |  | +		String errorMsg = null;
 | 
	
		
			
				|  |  | +		// 立即发送
 | 
	
		
			
				|  |  | +		if (triggerTime == null || date.after(triggerTime)) {
 | 
	
		
			
				|  |  | +			status = SendStatusEnum.SENDING;
 | 
	
		
			
				|  |  | +			try {
 | 
	
		
			
				|  |  | +				if (debugMode == true
 | 
	
		
			
				|  |  | +						|| messageSenderPluginContext.batchSend(MessageSender.JIGUANG, messageConfig.getDescription(),
 | 
	
		
			
				|  |  | +								MessageFormatter.arrayFormat(messageConfig.getContent(), args), tos, url,jpushType,contentType)) {
 | 
	
		
			
				|  |  | +					status = SendStatusEnum.SUCCESSED;
 | 
	
		
			
				|  |  | +				} else {
 | 
	
		
			
				|  |  | +					status = SendStatusEnum.FAILED;
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			} catch (Exception e) {
 | 
	
		
			
				|  |  | +				status = SendStatusEnum.FAILED;
 | 
	
		
			
				|  |  | +				errorMsg = e.getMessage();
 | 
	
		
			
				|  |  | +				LOGGER.warn("消息发送失败", e);
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		addMessage(receivers, messageConfig.getDescription(), MessageFormatter.arrayFormat(messageConfig.getContent(), args), triggerTime, MessageSendMode.PUSH, status, errorMsg, readStatus,
 | 
	
		
			
				|  |  | +				url, messageConfig.getGroup(),jpushType);
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	@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) {
 | 
	
		
			
				|  |  |  		if (StringUtils.isBlank(receiver)) {
 | 
	
	
		
			
				|  | @@ -377,7 +440,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 | 
	
		
			
				|  |  |  		if (triggerTime == null || date.after(triggerTime)) {
 | 
	
		
			
				|  |  |  			status = SendStatusEnum.SENDING;
 | 
	
		
			
				|  |  |  			try {
 | 
	
		
			
				|  |  | -				if (debugMode == true || messageSenderPluginContext.send(messageSender, receiver, title, content, url,jpushType)) {
 | 
	
		
			
				|  |  | +				if (debugMode == true || messageSenderPluginContext.send(messageSender, receiver, title, content, url,jpushType,"text")) {
 | 
	
		
			
				|  |  |  					status = SendStatusEnum.SUCCESSED;
 | 
	
		
			
				|  |  |  				} else {
 | 
	
		
			
				|  |  |  					status = SendStatusEnum.FAILED;
 |