package com.deloitte.system.request; import com.alibaba.fastjson.JSONObject; import lombok.Data; import java.util.ArrayList; import java.util.List; /** * 邮件内容同步至SF request * * @author Ali * Created on 22/03/2022 */ @Data public class SfCompositeRequest { private boolean allOrNone = true; private List compositeRequest = new ArrayList<>(); private List fileAddressList = new ArrayList<>(); public void addMailMerge(SFMessageVo messageVo){ JSONObject jsonObject = new JSONObject(); jsonObject.put("method","POST"); jsonObject.put("referenceId","NewMailMerge"); jsonObject.put("url","/services/data/v53.0/sobjects/Mail_Merge__c/"); jsonObject.put("body",messageVo); compositeRequest.add(jsonObject); } public void addFileAddress(List fileAddressVos){ for (SFFileAddressVo fileAddressVo:fileAddressVos) { JSONObject jsonObject = new JSONObject(); jsonObject.put("method","POST"); String referenceId = "NewFileAddress"; if(fileAddressList!=null && fileAddressList.size()>0){ referenceId+=fileAddressList.size(); } jsonObject.put("referenceId",referenceId); jsonObject.put("url","/services/data/v53.0/sobjects/FileAddress__c"); jsonObject.put("body",fileAddressVo); fileAddressList.add(fileAddressVo); compositeRequest.add(jsonObject); } } // 获取请求json public String toJsonString() { return "{" + "\"allOrNone\":" + allOrNone + ", \"compositeRequest\":" + compositeRequest + '}'; } }