|
@@ -1,26 +1,6 @@
|
|
|
-package com.keao.edu.auth.service.impl;
|
|
|
+package com.keao.edu.common.service.impl;
|
|
|
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Random;
|
|
|
-import java.util.Set;
|
|
|
-
|
|
|
-import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.slf4j.Logger;
|
|
|
-import org.slf4j.LoggerFactory;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.beans.factory.annotation.Value;
|
|
|
-import org.springframework.scheduling.annotation.Async;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
-
|
|
|
-import com.keao.edu.auth.api.client.SysUserFeignService;
|
|
|
-import com.keao.edu.auth.api.entity.SysUser;
|
|
|
-import com.keao.edu.auth.service.SysMessageConfigService;
|
|
|
-import com.keao.edu.auth.service.SysMessageService;
|
|
|
import com.keao.edu.common.dal.BaseDAO;
|
|
|
import com.keao.edu.common.dao.SysMessageDao;
|
|
|
import com.keao.edu.common.entity.Mapper;
|
|
@@ -31,14 +11,20 @@ import com.keao.edu.common.enums.MessageTypeEnum;
|
|
|
import com.keao.edu.common.enums.SendStatusEnum;
|
|
|
import com.keao.edu.common.exception.BizException;
|
|
|
import com.keao.edu.common.redis.service.RedisCache;
|
|
|
-import com.keao.edu.common.service.impl.BaseServiceImpl;
|
|
|
-import com.keao.edu.im.api.client.ImFeignService;
|
|
|
-import com.keao.edu.im.api.entity.ImPrivateMessage;
|
|
|
-import com.keao.edu.im.api.entity.ImTxtMessage;
|
|
|
+import com.keao.edu.common.service.SysMessageConfigService;
|
|
|
+import com.keao.edu.common.service.SysMessageService;
|
|
|
import com.keao.edu.thirdparty.message.MessageSenderPlugin;
|
|
|
import com.keao.edu.thirdparty.message.MessageSenderPluginContext;
|
|
|
-import com.keao.edu.thirdparty.message.provider.YimeiSmsPlugin;
|
|
|
import com.keao.edu.util.string.MessageFormatter;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
+import org.springframework.scheduling.annotation.Async;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.util.*;
|
|
|
|
|
|
@Service
|
|
|
public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> implements SysMessageService {
|
|
@@ -55,12 +41,6 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
|
|
|
private MessageSenderPluginContext messageSenderPluginContext;
|
|
|
|
|
|
@Autowired
|
|
|
- private SysUserFeignService sysUserFeignService;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private ImFeignService imFeignService;
|
|
|
-
|
|
|
- @Autowired
|
|
|
private RedisCache<String, Object> redisCache;
|
|
|
|
|
|
// 验证码有效期
|
|
@@ -107,12 +87,6 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
|
|
|
receiver = entry.getValue();
|
|
|
|
|
|
message = new SysMessage();
|
|
|
- if (userId == null) {
|
|
|
- SysUser user = sysUserFeignService.queryUserByMobile(receiver);
|
|
|
- if (user != null) {
|
|
|
- userId = user.getId();
|
|
|
- }
|
|
|
- }
|
|
|
message.setUserId(userId);
|
|
|
message.setContent(content);
|
|
|
message.setCreateOn(date);
|
|
@@ -146,7 +120,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
|
|
|
if (userIds == null || userIds.size() == 0) {
|
|
|
throw new BizException("接收地址不能为空");
|
|
|
}
|
|
|
- SysMessageConfig messageConfig = sysMessageConfigService.queryByType(messageType);
|
|
|
+ SysMessageConfig messageConfig = sysMessageConfigService.queryByEvent(messageType);
|
|
|
if (messageConfig == null) {
|
|
|
throw new BizException("消息类型错误");
|
|
|
}else if(messageConfig.getSendFlag() == null || messageConfig.getSendFlag() == 0){
|
|
@@ -179,61 +153,6 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void batchSendImMessage(MessageTypeEnum type, String senderId,String extra, String[] targetIds, String url, Object... args) {
|
|
|
- SysMessageConfig messageConfig = sysMessageConfigService.queryByType(type);
|
|
|
- if (messageConfig == null) {
|
|
|
- throw new BizException("消息类型错误");
|
|
|
- }else if(messageConfig.getSendFlag() == null || messageConfig.getSendFlag() == 0){
|
|
|
- return;
|
|
|
- }
|
|
|
- String content = MessageFormatter.arrayFormat(messageConfig.getContent(), args);
|
|
|
- if(StringUtils.isNotEmpty(url)){
|
|
|
- content += url;
|
|
|
- }
|
|
|
- ImPrivateMessage privateMessage = new ImPrivateMessage();
|
|
|
- privateMessage.setObjectName("RC:TxtMsg");
|
|
|
- privateMessage.setTargetId(targetIds);
|
|
|
- privateMessage.setSenderId(senderId);
|
|
|
- privateMessage.setContent(new ImTxtMessage(content,extra));
|
|
|
- imFeignService.privateSend(privateMessage);
|
|
|
- }
|
|
|
-
|
|
|
- /*@Override
|
|
|
- public void batchSendImPlayMidiMessage(String senderId,String roomId, String content) {
|
|
|
- ImGroupMessage groupMessage = new ImGroupMessage();
|
|
|
- privateMessage.setObjectName("DY:PlayMidiMessage");
|
|
|
- groupMessage.setTargetId(roomId.split(","));
|
|
|
- groupMessage.setSenderId(senderId);
|
|
|
- groupMessage.setContent(new ImPlayMidiMessage(content,null));
|
|
|
- groupMessage.setType("DY:PlayMidiMessage");
|
|
|
- imFeignService.privateSendCustom(groupMessage);
|
|
|
- }*/
|
|
|
-
|
|
|
- @Override
|
|
|
- public void sendPrivateMessage(String studentId, String content) {
|
|
|
- SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
- if(sysUser == null){
|
|
|
- throw new BizException("用户信息获取失败");
|
|
|
- }
|
|
|
- ImPrivateMessage privateMessage = new ImPrivateMessage();
|
|
|
- privateMessage.setObjectName("RC:TxtMsg");
|
|
|
- privateMessage.setTargetId(studentId.split(","));
|
|
|
- privateMessage.setSenderId(sysUser.getId().toString());
|
|
|
- privateMessage.setContent(new ImTxtMessage(content,null));
|
|
|
- imFeignService.privateSend(privateMessage);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void sendNoAuthPrivateMessage(String sender, String receiver, String content) {
|
|
|
- ImPrivateMessage privateMessage = new ImPrivateMessage();
|
|
|
- privateMessage.setObjectName("RC:TxtMsg");
|
|
|
- privateMessage.setTargetId(receiver.split(","));
|
|
|
- privateMessage.setSenderId(sender);
|
|
|
- privateMessage.setContent(new ImTxtMessage(content,null));
|
|
|
- imFeignService.privateSend(privateMessage);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
public void batchDelMessage(String ids) {
|
|
|
sysMessageDao.batchDelMessage(ids);
|
|
|
}
|
|
@@ -259,7 +178,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
|
|
|
// 立即发送
|
|
|
if (triggerTime == null || date.after(triggerTime)) {
|
|
|
status = SendStatusEnum.SENDING;
|
|
|
- if (debugMode == true || messageSenderPluginContext.batchSend(YimeiSmsPlugin.PLUGIN_NAME, subject, content, tos, memo,jpushType)) {
|
|
|
+ if (debugMode == true || messageSenderPluginContext.batchSend(jpushType, subject, content, tos, memo,jpushType)) {
|
|
|
status = SendStatusEnum.SUCCESSED;
|
|
|
} else {
|
|
|
status = SendStatusEnum.FAILED;
|
|
@@ -291,7 +210,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
|
|
|
throw new BizException("接收地址不能为空");
|
|
|
}
|
|
|
String[] tos = receivers.values().toArray(new String[receivers.size()]);
|
|
|
- SysMessageConfig messageConfig = sysMessageConfigService.queryByType(type);
|
|
|
+ SysMessageConfig messageConfig = sysMessageConfigService.queryByEvent(type);
|
|
|
if (messageConfig == null) {
|
|
|
throw new BizException("消息类型错误");
|
|
|
}else if(messageConfig.getSendFlag() == null || messageConfig.getSendFlag() == 0){
|
|
@@ -300,13 +219,12 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
|
|
|
Date date = new Date();
|
|
|
SendStatusEnum status = SendStatusEnum.WAIT;
|
|
|
String errorMsg = null;
|
|
|
- String pluginName = YimeiSmsPlugin.PLUGIN_NAME;
|
|
|
// 立即发送
|
|
|
if (triggerTime == null || date.after(triggerTime)) {
|
|
|
status = SendStatusEnum.SENDING;
|
|
|
try {
|
|
|
if (debugMode == true
|
|
|
- || messageSenderPluginContext.batchSend(pluginName, messageConfig.getDescription(),
|
|
|
+ || messageSenderPluginContext.batchSend(jpushType, messageConfig.getDescription(),
|
|
|
MessageFormatter.arrayFormat(messageConfig.getContent(), args), tos, url,jpushType)) {
|
|
|
status = SendStatusEnum.SUCCESSED;
|
|
|
} else {
|
|
@@ -318,7 +236,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
|
|
|
LOGGER.warn("消息发送失败", e);
|
|
|
}
|
|
|
}
|
|
|
- MessageSenderPlugin senderPlugin = messageSenderPluginContext.getMessageSenderPlugin(pluginName);
|
|
|
+ MessageSenderPlugin senderPlugin = messageSenderPluginContext.getMessageSenderPlugin(jpushType);
|
|
|
MessageSendMode mode = MessageSendMode.SMS;
|
|
|
if (senderPlugin.getSendMode().equals("PUSH")) {
|
|
|
mode = MessageSendMode.PUSH;
|
|
@@ -343,7 +261,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
|
|
|
if (triggerTime == null || date.after(triggerTime)) {
|
|
|
status = SendStatusEnum.SENDING;
|
|
|
try {
|
|
|
- if (debugMode == true || messageSenderPluginContext.send(YimeiSmsPlugin.PLUGIN_NAME, receiver, title, content, url,jpushType)) {
|
|
|
+ if (debugMode == true || messageSenderPluginContext.send(jpushType, receiver, title, content, url,jpushType)) {
|
|
|
status = SendStatusEnum.SUCCESSED;
|
|
|
} else {
|
|
|
status = SendStatusEnum.FAILED;
|