package com.malk.server.dingtalk; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializerFeature; import com.malk.utils.UtilMap; import org.apache.commons.collections4.map.HashedMap; import java.util.Map; public class DDInterActiveCard { /** * 格式交互卡片, 表格数据类型 [兼容多表格], 格式详见 DDClient_Extension 发送卡片 */ public static Map formCardDataForTable(Map data, String... props) { Map cardData = new HashedMap(); for (String prop : props) { cardData.put(prop, UtilMap.map("data, meta", data.get(prop), data.get("meta"))); } /// fastjson 避免循环引用: 当一个对象包含另一个对象时 或 当一个对象和另一个对象完全相同时 return UtilMap.map("cardParamMap", UtilMap.map("sys_full_json_obj", JSON.toJSONString(cardData, SerializerFeature.DisableCircularReferenceDetect))); } }