Salesforce 发送公共信息

来源:互联网 发布:mahout算法库 编辑:程序博客网 时间:2024/06/07 07:01
public class ChatterSender {    /*     * 发送chatter消息公共类     * userId:@对象     * text:消息文本     * objectId:相关记录     */    //@对象为一用户    public static void send(Id userId,String text,Id objectId){                ConnectApi.FeedItemInput feedItemInput = new ConnectApi.FeedItemInput();//富文本消息体        ConnectApi.MentionSegmentInput mentionSegmentInput = new ConnectApi.MentionSegmentInput();//@对象        ConnectApi.MessageBodyInput messageBodyInput = new ConnectApi.MessageBodyInput();//消息体        ConnectApi.TextSegmentInput textSegmentInput = new ConnectApi.TextSegmentInput();//消息文本        messageBodyInput.messageSegments = new List<ConnectApi.MessageSegmentInput>();//消息体的消息文本        textSegmentInput.text=text;//消息文本赋值        messageBodyInput.messageSegments.add(textSegmentInput);//消息体的消息文本赋值              mentionSegmentInput.id = userId;//@对象赋值        messageBodyInput.messageSegments.add(mentionSegmentInput);////消息体的消息文本增加@对象        feedItemInput.body = messageBodyInput;//富文本消息体赋值        feedItemInput.feedElementType = ConnectApi.FeedElementType.FeedItem;//类型        feedItemInput.subjectId = objectId;//关联记录        try{            ConnectApi.FeedElement feedElement = ConnectApi.ChatterFeeds.postFeedElement(Network.getNetworkId(), feedItemInput, null);//post消息            }catch(Exception e){            if(e.getTypeName().contains('ConnectApi.NotFoundException')){                feedItemInput.subjectId = userId;//删除时,post对象设置为上级                ConnectApi.FeedElement feedElement = ConnectApi.ChatterFeeds.postFeedElement(Network.getNetworkId(), feedItemInput, null);//post消息              }        }       }    //@对象为多个用户    public static void send(Set<Id> userIdSet,String text,Id objectId){                ConnectApi.FeedItemInput feedItemInput = new ConnectApi.FeedItemInput();//富文本消息体        ConnectApi.MessageBodyInput messageBodyInput = new ConnectApi.MessageBodyInput();//消息体        ConnectApi.TextSegmentInput textSegmentInput = new ConnectApi.TextSegmentInput();//消息文本        messageBodyInput.messageSegments = new List<ConnectApi.MessageSegmentInput>();//消息体的消息文本        textSegmentInput.text=text;//消息文本赋值        messageBodyInput.messageSegments.add(textSegmentInput);//消息体的消息文本赋值        //添加@对象        for(Id usrId : userIdSet){            ConnectApi.MentionSegmentInput mentionSegmentInput = new ConnectApi.MentionSegmentInput();//@对象            mentionSegmentInput.id = usrId;//@对象赋值            messageBodyInput.messageSegments.add(mentionSegmentInput);//消息体的消息文本增加@对象        }        feedItemInput.body = messageBodyInput;//富文本消息体赋值        feedItemInput.feedElementType = ConnectApi.FeedElementType.FeedItem;//类型        feedItemInput.subjectId = objectId;//关联记录        try{            ConnectApi.FeedElement feedElement = ConnectApi.ChatterFeeds.postFeedElement(Network.getNetworkId(), feedItemInput, null);//post消息          }catch(Exception e){            if(e.getTypeName().contains('ConnectApi.NotFoundException')){                if(userIdSet.size() > 0){                    for(Id usrId : userIdSet){                        feedItemInput.subjectId = usrId;//删除时,post对象设置为上级                        ConnectApi.FeedElement feedElement = ConnectApi.ChatterFeeds.postFeedElement(Network.getNetworkId(), feedItemInput, null);//post消息                      }                }            }         }        }}
0 0