1.1.预警同步消息实现程序与二开扩展详细说明预警消息实现类和领域及二开扩展实现类如上图,平台提供了预警消息推送云之家标准接口作为规范1、接口信息类全名:com.kingdee.shr.base.syssetting.cloud.ISendForewarnMessage方法:/****预警消息推送方法(新)*@authorrd_tiangang_yang*@date2019年1月17日*@updaterrd_tiangang_yang*@date2019年1月17日*@paramctx*@parammessageAndReceivers*/publicvoidsendCloudMsg(Contextctx,ListmessageAndReceivers)throwsBOSException,EASBizException;领域或者二开可以直接实现此接口,来推送预警消息到云之家,不建议。2、平台抽象实现类类全名:com.kingdee.shr.base.syssetting.cloud.AbstractSendForewarnMessage方法:@OverridepublicvoidsendCloudMsg(Contextctx,ListmessageAndReceivers)throwsBOSException,EASBizException;/***初始化预警消息推送配置信息,方便子类调用*/protectedfinalvoidinitForewarnMessagePostConfig()throwsBOSException;/***组装推送数据信息*@paramctx*@paramuserList*@paramforewarnItemInfo*@return*/protectedabstractListinitData(Contextctx,ListmessageAndReceivers)throwsBOSException,EASBizException;/***获取消息分类*2:纯文本信息*5:文本链接信息*6:图文混排信息*@return*/protectedabstractintgetTextType();/***1:单条文本编排模板*2:单条图文混排模板*3:多条图文混排模板*4:应用消息模板*@return*/protectedabstractintgetModelType();/***组装第一层数据*@paramfrom*@paramto*@paramtype*@parammsg*@return*/protectedfinalJSONObjectgetData(JSONObjectfrom,JSONArrayto,Stringtype,JSONObjectmsg);/***组装from数据*@return*/protectedfinalJSONObjectgetFromData();/***接收者*@paramopenIds*@return*/protectedfinalJSONArraygetTo(SetopenIds);/***type2:纯文本信息*@paramtext*@return*/protectedfinalJSONObjectgetTextMsg(Stringtext);/***type5:文本链接信息*@paramtext文本消息内容,String*@paramurl文本链接地址,格式为经过URLENCODE编码的字符串,注意:只是参数值编码,不要编码全部路径或者路径包含非法字符,否则无法打开url*@paramappid如果打开的链接是轻应用,必须传入轻应用号讯通才能传入参数ticket,参考<轻应用框架>开发*@paramtodoint,必填,暂时只能为0,表示推送原公共号消息*@paramsourceid备用字段,暂时无用*@return*/protectedfinalJSONObjectgetTextLinkMsg(Stringtext,Stringurl,Stringappid,inttodo,Stringsourceid);/***type6:图文混排信息*@parammodel"排版展现模板,格式为整型"*1:单条文本编排模板*2:单条图文混排模板*3:多条图文混排模板*4:应用消息模板*@paramtodoint,必填,暂时只能为0,表示推送原公共号消息*@paramsourceid备用字段,暂时无用*@paramlist发布信息列表,格式为包含发布信息JSON对象的JSON数组*@return*/protectedfinalJSONObjectgetTextImageMsg(Stringmodel,inttodo,Stringsourceid,JSONArraylist);/***model为1时,list的定义*[*{*"date":"发布日期,格式为包含了'年月日时分秒'字符串",*"title":"消息标题,格式为字符串",*"text":"消息摘要,格式为字符串",*"zip":"内容压缩包二进制字节流,格式为经过BASE64编码的字符串",*"url":"原文链接,格式为经过URLENCODE编码的字符串",*"appid":如果打开的链接是轻应用,必须传入轻应用号讯通才能传入参数ticket,参考<轻应用框架>开发*}*]*@paramlist*@return*/protectedfinalJSONArraygetModelList(Listlist);/***model为2、3时,list的定义*[*{*"date":"发布日期,格式为包含了'年月日时分秒'字符串",*"title":"消息标题,格式为字符串",*"text":"消息摘要,格式为字符串",*"zip":"内容压缩包二进制字节流,格式为经过BASE64编码的字符串",*"url":"原文链接,格式为经过URLENCODE编码的字符串",*"appid":model为2时必填;model为2时,如果打开的链接是轻应用,必须传入轻应用号讯通才能传入参数ticket,参考<轻应用框架>开发。*"name":"图片的文件名,格式为字符串",*"pic":"图片的二进制字节流,格式为经过BASE64编码的字符串"*}*]*@paramlist*@return*/protectedfinalJSONArraygetModelListExt(Listlist);/***推送*@paramobj*/protectedfinalvoidsend(JSONObjectobj)throwsBOSException;/***根据单个用户ID,找到单个云之家用户的openId*@paramctx*@paramuserId*@return*@throwsBOSException*@throwsSQLException*/protectedfinalStringgetOpenId(Contextctx,StringuserId)throwsBOSException,SQLException;/***根据用户ID,找到云之家openId,集合*@paramctx*@paramuserList*@return*@throwsException*/protectedfinalSetgetOpenIds(Contextctx,Setusers)throwsBOSException,EASBizException;领域和二开可继承此抽象实现类来推送预警消息到云之家,建议使用此方案3、平台纯文本预警消息推送云之家实现类类全名:com.kingdee.shr.base.syssetting.cloud.biz.SendTextForewarnMessage大多预警推送云之家可以直接配置此类,将预警信息原封不动推送到云之家4、预警消息推送常量类com.kingdee.shr.base.syssetting.cloud.SendForewarnMessageConstant预警消息推送过程使用的常量5、预警消息推送工具类com.kingdee.shr.base.syssetting.cloud.HttpClientUtil此工具类基于基于HTTPClient4.5.2实现1.2.预警配置同步云之家预警中的消息里面,勾上云之家,在弹出框里面配置对应实现类通用的文本预警实现类为com.kingdee.shr.base.syssetting.cloud.biz.SendTextForewarnMessage特殊的同步类,自行开发实现后填入此处1.3.预警消息推送效果以员工生日预警为列,见如图