|
@@ -13,6 +13,7 @@ import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
|
|
import com.yonge.cooleshow.biz.dal.enums.SendStatusEnum;
|
|
import com.yonge.cooleshow.biz.dal.enums.SendStatusEnum;
|
|
import com.yonge.cooleshow.biz.dal.service.SysMessageConfigService;
|
|
import com.yonge.cooleshow.biz.dal.service.SysMessageConfigService;
|
|
import com.yonge.cooleshow.biz.dal.service.SysMessageService;
|
|
import com.yonge.cooleshow.biz.dal.service.SysMessageService;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.wrapper.SysMessageWrapper;
|
|
import com.yonge.cooleshow.common.entity.Mapper;
|
|
import com.yonge.cooleshow.common.entity.Mapper;
|
|
import com.yonge.cooleshow.common.redis.service.RedisCache;
|
|
import com.yonge.cooleshow.common.redis.service.RedisCache;
|
|
import com.yonge.toolset.base.exception.BizException;
|
|
import com.yonge.toolset.base.exception.BizException;
|
|
@@ -131,7 +132,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public void batchSendMessage(MessageSender messageSender, MessageTypeEnum type, Map<Long, String> receivers, Date triggerTime, Integer readStatus,
|
|
public void batchSendMessage(MessageSender messageSender, MessageTypeEnum type, Map<Long, String> receivers, Date triggerTime, Integer readStatus,
|
|
- String url,String jpushType, Object... args) {
|
|
|
|
|
|
+ String url,String jpushType, Object... args) {
|
|
LOGGER.info("batchSendMessage msgSender {}, type {}, receivers {} ", messageSender, type, receivers);
|
|
LOGGER.info("batchSendMessage msgSender {}, type {}, receivers {} ", messageSender, type, receivers);
|
|
if (receivers == null || receivers.size() == 0) {
|
|
if (receivers == null || receivers.size() == 0) {
|
|
LOGGER.error("接收地址不能为空");
|
|
LOGGER.error("接收地址不能为空");
|
|
@@ -145,10 +146,10 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
|
|
if(messageSender.getSendMode().equals(MessageSender.JIGUANG.getSendMode())) {
|
|
if(messageSender.getSendMode().equals(MessageSender.JIGUANG.getSendMode())) {
|
|
tos= new String[receivers.size()];
|
|
tos= new String[receivers.size()];
|
|
tos = receivers.entrySet()
|
|
tos = receivers.entrySet()
|
|
- .stream()
|
|
|
|
- .map(longStringEntry -> String.valueOf(longStringEntry.getKey()))
|
|
|
|
- .collect(Collectors.toList())
|
|
|
|
- .toArray(tos);
|
|
|
|
|
|
+ .stream()
|
|
|
|
+ .map(longStringEntry -> String.valueOf(longStringEntry.getKey()))
|
|
|
|
+ .collect(Collectors.toList())
|
|
|
|
+ .toArray(tos);
|
|
} else {
|
|
} else {
|
|
tos = receivers.values().toArray(new String[receivers.size()]);
|
|
tos = receivers.values().toArray(new String[receivers.size()]);
|
|
}
|
|
}
|
|
@@ -166,10 +167,9 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
|
|
if (triggerTime == null || date.after(triggerTime)) {
|
|
if (triggerTime == null || date.after(triggerTime)) {
|
|
status = SendStatusEnum.SENDING;
|
|
status = SendStatusEnum.SENDING;
|
|
try {
|
|
try {
|
|
-
|
|
|
|
if (isSendRemoteMessage(messageSender)) {
|
|
if (isSendRemoteMessage(messageSender)) {
|
|
errorMsg = messageSenderPluginContext.batchSend(messageSender, messageConfig.getDescription(),
|
|
errorMsg = messageSenderPluginContext.batchSend(messageSender, messageConfig.getDescription(),
|
|
- MessageFormatter.arrayFormat(messageConfig.getContent(), args), tos, url,jpushType,"default",null);
|
|
|
|
|
|
+ MessageFormatter.arrayFormat(messageConfig.getContent(), args), tos, url,jpushType,"default",null);
|
|
if (StringUtils.isEmpty(errorMsg)) {
|
|
if (StringUtils.isEmpty(errorMsg)) {
|
|
status = SendStatusEnum.SUCCESSED;
|
|
status = SendStatusEnum.SUCCESSED;
|
|
} else {
|
|
} else {
|
|
@@ -189,9 +189,9 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
|
|
} else if (messageSender.getSendMode().equals("EMAIL")) {
|
|
} else if (messageSender.getSendMode().equals("EMAIL")) {
|
|
mode = MessageSendMode.EMAIL;
|
|
mode = MessageSendMode.EMAIL;
|
|
}
|
|
}
|
|
- if (ClientEnum.TENANT_STUDENT.getCode().equals(jpushType)) {
|
|
|
|
- jpushType = ClientEnum.STUDENT.getCode();
|
|
|
|
- }
|
|
|
|
|
|
+ if (ClientEnum.TENANT_STUDENT.getCode().equals(jpushType)) {
|
|
|
|
+ jpushType = ClientEnum.STUDENT.getCode();
|
|
|
|
+ }
|
|
addMessage(receivers, messageConfig.getDescription(), MessageFormatter.arrayFormat(messageConfig.getContent(), args), triggerTime, mode, status, errorMsg, readStatus,
|
|
addMessage(receivers, messageConfig.getDescription(), MessageFormatter.arrayFormat(messageConfig.getContent(), args), triggerTime, mode, status, errorMsg, readStatus,
|
|
url, messageConfig.getGroup(),jpushType,messageConfig.getId());
|
|
url, messageConfig.getGroup(),jpushType,messageConfig.getId());
|
|
}
|
|
}
|
|
@@ -360,8 +360,16 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
- public int updateStatus(Long userId, int status,String jpushType) {
|
|
|
|
- return sysMessageDao.updateStatus(userId, status,jpushType);
|
|
|
|
|
|
+ public int updateStatus(Long userId, int status,String jpushType,MessageTypeEnum messageType) {
|
|
|
|
+ // 按照类型设置一键已读
|
|
|
|
+ Long messageConfigId = null;
|
|
|
|
+ if (messageType != null) {
|
|
|
|
+ SysMessageConfig sysMessageConfig = sysMessageConfigService.queryByType(messageType.getCode());
|
|
|
|
+ if (sysMessageConfig != null) {
|
|
|
|
+ messageConfigId = sysMessageConfig.getId();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return sysMessageDao.updateStatus(userId, status,jpushType,messageConfigId);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -406,4 +414,9 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
|
|
}
|
|
}
|
|
return JSON.toJSONString(jumpUrlDto);
|
|
return JSON.toJSONString(jumpUrlDto);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public List<SysMessageWrapper.MessageUnreadStat> userMessageUnreadStat(SysMessageWrapper.SysMessageQuery query) {
|
|
|
|
+ return sysMessageDao.selectMessageUnreadStat(query);
|
|
|
|
+ }
|
|
}
|
|
}
|