|
@@ -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;
|