【仅供内部供应商使用,不提供对外解答和培训】
...
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
package com.fr.decision.system.bean.message; import com.fr.decision.system.entity.message.AbstractMessageEntity; import com.fr.stable.db.data.BaseDataRecord; import com.fr.decision.system.entity.message.MessageEntity; import com.fr.third.fasterxml.jackson.annotation.JsonFormat; import java.io.Serializable; import java.util.Date; /** * Created by Zed on 2018/02/27. * 消息bean对象 */ public abstract class Message extends BaseDataRecord implements Serializable { private static final long serialVersionUID = 6348359470150684892L; private String userId; private String username; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date datetime = new Date(); @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime = new Date(); private String message; private String url; // 是否弹出过了 只弹出提示一次 private boolean toasted = false; //已读或未读 private boolean readed = false; //消息类型 private int type; //url类型(平台内路由,目录节点访问,外部url) private int urlType; public abstract AbstractMessageEntity createEntity(); public Message() { } public MessageEntity setSelf2Entity() { MessageEntity entity = new MessageEntity(); entity.setId(this.getId()); entity.setCreateTime(this.getCreateTime()); entity.setDatetime(this.getDatetime()); entity.setMessage(this.getMessage()); entity.setReaded(this.isReaded()); entity.setToasted(this.isToasted()); entity.setUrl(this.getUrl()); entity.setUserId(this.getUserId()); entity.setUsername(this.getUsername()); entity.setType(this.getType()); entity.setUrlType(this.getUrlType()); return entity; } public Message(String userId, String message, String url, int urlType) { this.userId = userId; this.message = message; this.url = url; this.urlType = urlType; } public Message(String userId, String username, String message, String url, int type, int urlType) { this.userId = userId; this.username = username; this.message = message; this.url = url; this.type = type; this.urlType = urlType; } public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public Date getDatetime() { return datetime; } public void setDatetime(Date datetime) { this.datetime = datetime; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public boolean isToasted() { return toasted; } public void setToasted(boolean toasted) { this.toasted = toasted; } public boolean isReaded() { return readed; } public void setReaded(boolean readed) { this.readed = readed; } public int getType() { return type; } public void setType(int type) { this.type = type; } public int getUrlType() { return urlType; } public void setUrlType(int urlType) { this.urlType = urlType; } } |
产品线 | 版本 | 支持情况 | 备注 |
---|---|---|---|
FR | 10.0 | 支持 | |
BI | 5.1 | 支持 | |
BI | 5.1.2 | 支持 | |
BI | 5.1.3 | 支持 |
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
<extra-decision> <MessageEventProvider class="your classname"/> </extra-decision> |
...
在决策平台中主要通过:WebServiceActivator中监听了MessageEvent.HANDLE事件,在事件的处理中调用了消息处理的实例进行生效。而MessageEvent.HANDLE事件的触发又是在MessageService发生消息后,进行消息保存saveMessage(Message message) 后触发的。
入参的Map对象就是Message对象转换来的。handleMessage入参的Map对象是Message对象转换来的。
该接口设计时存在一定缺陷,导致目前只能对消息的发送进行监听处理,对于消息的已读、处理是无法感知的。
demo地址:demo-passportmessage-event-provider(1)、三组常见引入JS和CSS的插件接口对比
免责声明:所有文档中的开源示例,均为开发者自行开发并提供。仅用于参考和学习使用,开发者和官方均无义务对开源案例所涉及的所有成果进行教学和指导。若作为商用一切后果责任由使用者自行承担。
demodecision-custom-passportdemo-ldaps-passportmessage-event