DDInterActiveCard.java 947 B

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