|
@@ -36,6 +36,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> implements SysMessageService {
|
|
@@ -77,33 +78,35 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
|
|
|
LOGGER.error("接收地址不能为空");
|
|
|
return;
|
|
|
}
|
|
|
- List<BasicUserInfo> basicUserInfo = teacherDao.findBasicUserInfo(receivers.keySet());
|
|
|
List<CbsMessageWrapper.MessageParam> messageParams = new ArrayList<>();
|
|
|
- for (BasicUserInfo user : basicUserInfo) {
|
|
|
+ List<BasicUserInfo> basicUserInfo = teacherDao.findBasicUserInfo(receivers.keySet());
|
|
|
+ Map<Long, String> userIdPhoneMap = basicUserInfo.stream().collect(Collectors.toMap(BasicUserInfo::getUserId, BasicUserInfo::getPhone));
|
|
|
+ receivers.forEach((userId, value) -> {
|
|
|
+ String phone = userIdPhoneMap.getOrDefault(userId, null);
|
|
|
CbsMessageWrapper.MessageParam messageParam = new CbsMessageWrapper.MessageParam();
|
|
|
- messageParam.setUserId(user.getUserId());
|
|
|
+ messageParam.setUserId(userId);
|
|
|
messageParam.setAppKey(EAppKey.KLX);
|
|
|
messageParam.setClientType(getClientType(jpushType));
|
|
|
messageParam.setClientId(messageParam.getClientType());
|
|
|
messageParam.setType(type.getCode());
|
|
|
messageParam.setUrl(url);
|
|
|
Map<Long, String> params = new HashMap<>();
|
|
|
- params.put(user.getUserId(), user.getPhone());
|
|
|
+ params.put(userId, Optional.ofNullable(phone).orElse(value));
|
|
|
messageParam.setReceivers(params);
|
|
|
messageParam.setRealSend(!debugMode);
|
|
|
- if(args != null && args.length > 0){
|
|
|
+ if (args != null && args.length > 0) {
|
|
|
String[] argsStr = new String[args.length];
|
|
|
for (int i = 0; i < args.length; i++) {
|
|
|
- if (args[i]!=null){
|
|
|
+ if (args[i] != null) {
|
|
|
argsStr[i] = args[i].toString();
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
argsStr[i] = "";
|
|
|
}
|
|
|
}
|
|
|
messageParam.setContentArgs(argsStr);
|
|
|
}
|
|
|
messageParams.add(messageParam);
|
|
|
- }
|
|
|
+ });
|
|
|
messageFeignClientService.sysMessageBatchSendMessage(messageParams);
|
|
|
}
|
|
|
|