业务场景:用于在金蝶EAS客户端消息中心中的即时消息。
通过代码可以给特定用户发送通知消息,用户登录系统后在消息中心可以查看到。
/** * 系统通知,用于后台 * @param ctx 上下文 * @param sender 发送人(用户名称) * @param title 消息标题 * @param body 消息内容 * @param receiver 接收人(用户主键,多个时用分号分割) * */ public static void notice(Context ctx, String sender, String title, String body, String receiver){ SenderAgent service = SenderAgent.getSenderAgent(); Message message = MessageFactory.newMessage("kingdee.workflow"); Locale[] locales = getContextLocale(ctx); for(int i = 0; i < locales.length; i++){ // 此处循环设置多语言消息 Locale locale = locales[i]; message.setLocaleStringHeader("sender", sender, locale); //发送人名称 message.setLocaleStringHeader("title", title, locale); //消息标题 message.setLocaleStringHeader("body", body, locale); //消息内容 } message.setIntHeader("type", MsgType.NOTICE_VALUE); //消息类型,通知 message.setIntHeader("bizType", MsgBizType.XITONGOFFICE_VALUE); //业务类型 message.setIntHeader("sourceStatus", MsgSourceStatus.EMPTY_VALUE); //任务状态 message.setIntHeader("priority", MsgPriority.HIGH_VALUE); //优先级 message.setStringHeader("databaseCenter", ctx.getAIS()); //数据中心 message.setStringHeader("solution", ctx.getSolution()); //解决方案 message.setStringHeader("receiver", receiver); //接收人 service.sendMessage(message); } /** * 系统通知,用于后台 * @param ctx 上下文 * @param sender 发送人(用户名称) * @param title 消息标题 * @param body 消息内容 * @param receiver 接收人(用户主键,多个时用分号分割) * */ public static void notice(Context ctx, String sender, String title, StringBuffer body, String receiver){ SenderAgent service = SenderAgent.getSenderAgent(); Message message = MessageFactory.newMessage("kingdee.workflow"); Locale[] locales = getContextLocale(ctx); for(int i = 0; i < locales.length; i++){ // 此处循环设置多语言消息 Locale locale = locales[i]; message.setLocaleStringHeader("sender", sender, locale); //发送人名称 message.setLocaleStringHeader("title", title, locale); //消息标题 message.setLocaleStringHeader("body", body.toString(), locale); //消息内容 } message.setIntHeader("type", MsgType.NOTICE_VALUE); //消息类型,通知 message.setIntHeader("bizType", MsgBizType.XITONGOFFICE_VALUE); //业务类型 message.setIntHeader("sourceStatus", MsgSourceStatus.EMPTY_VALUE); //任务状态 message.setIntHeader("priority", MsgPriority.HIGH_VALUE); //优先级 message.setStringHeader("databaseCenter", ctx.getAIS()); //数据中心 message.setStringHeader("solution", ctx.getSolution()); //解决方案 message.setStringHeader("receiver", receiver); //接收人 service.sendMessage(message); }