package com.mossle.msg.support;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.Resource;
import com.mossle.api.notification.NotificationDTO;
import com.mossle.api.notification.NotificationHandler;
import com.mossle.msg.persistence.domain.MsgInfo;
import com.mossle.msg.persistence.manager.MsgInfoManager;
import org.apache.commons.lang3.StringUtils;
public class MsgNotificationHandler implements NotificationHandler {
private MsgInfoManager msgInfoManager;
private String defaultSender = "";
public void handle(NotificationDTO notificationDto, String tenantId) {
if (!"userid".equals(notificationDto.getReceiverType())) {
return;
}
MsgInfo msgInfo = new MsgInfo();
msgInfo.setName(notificationDto.getSubject());
msgInfo.setContent(notificationDto.getContent());
msgInfo.setReceiverId(notificationDto.getReceiver());
msgInfo.setCreateTime(new Date());
msgInfo.setStatus(0);
msgInfo.setTenantId(tenantId);
String humanTaskId = (String) notificationDto.getData().get(
"humanTaskId");
msgInfo.setData(humanTaskId);
if (StringUtils.isNotBlank(notificationDto.getSender())) {
msgInfo.setSenderId(notificationDto.getSender());
} else {
msgInfo.setSenderId(defaultSender);
}
msgInfoManager.save(msgInfo);
}
public String getType() {
return "msg";
}
public void setDefaultSender(String defaultSender) {
this.defaultSender = defaultSender;
}
@Resource
public void setMsgInfoManager(MsgInfoManager msgInfoManager) {
this.msgInfoManager = msgInfoManager;
}
}