TBConf.java 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. package com.malk.server.teambition;
  2. import com.malk.utils.UtilMap;
  3. import lombok.Data;
  4. import org.apache.commons.lang3.StringUtils;
  5. import org.springframework.boot.context.properties.ConfigurationProperties;
  6. import org.springframework.stereotype.Component;
  7. import java.util.*;
  8. /**
  9. * 读取配置文件参考FilePah
  10. */
  11. @Data
  12. @Component
  13. @ConfigurationProperties(prefix = "teambition")
  14. public class TBConf {
  15. private String AppID;
  16. private String AppSecret;
  17. private String TenantId;
  18. private String OperatorId;
  19. private String ApiHost;
  20. public String getApiHost() {
  21. if (StringUtils.isNotBlank(ApiHost)) {
  22. return ApiHost;
  23. }
  24. return "https://open.teambition.com/api"; // 公有云环境
  25. }
  26. /**
  27. * UtilToken namespace(按 vendor 隔离 cache key)
  28. */
  29. public static final String NS = "teambition";
  30. /**
  31. * 一个分页数量上限 [上限 1000]
  32. */
  33. public static final Integer PAGE_SIZE_LIMIT = 1000;
  34. /**
  35. * 租户类型: 默认是组织
  36. */
  37. public static final String TENANT_TYPE = "organization";
  38. /**
  39. * 推送事件验证
  40. */
  41. public static final String EVENT_VERIFY_HOOK = "VERIFY_HOOK";
  42. /// 获取任务字段值
  43. public static List<Map> getTaskFieldValue(List<Map> customfields, String fieldId) {
  44. Optional optional = customfields.stream().filter(item -> fieldId.equals(item.get("cfId"))).findAny();
  45. if (optional.isPresent()) {
  46. return UtilMap.getList((Map) optional.get(), "value");
  47. }
  48. return new ArrayList<>();
  49. }
  50. /// 获取任务字段集合第一个值
  51. public static String getTaskFieldValue_First(List<Map> customfields, String fieldId) {
  52. List<Map> value = getTaskFieldValue(customfields, fieldId);
  53. if (value.size() > 0) {
  54. return String.valueOf(value.get(0).get("title"));
  55. }
  56. return "";
  57. }
  58. /// 更新任务自定义字段值 [ppExt: 富文本不能解析, 知识库可写入] - todo 不支持多参, 参考知识库版本管理更新
  59. public static Map assembleCustomField(String fieldName, String fieldValue, String value, Object meta) {
  60. Map body = UtilMap.map(fieldName, fieldValue);
  61. Map data = UtilMap.map("title", (Object) value);
  62. UtilMap.putNotNull(data, "meta", meta);
  63. body.put("value", Arrays.asList(data));
  64. return body;
  65. }
  66. public static Map assembleCustomFieldName(String fieldValue, String value) {
  67. return assembleCustomField("customfieldName", fieldValue, value, null);
  68. }
  69. public static Map assembleCustomFieldId(String fieldValue, String value) {
  70. return assembleCustomField("customfieldId", fieldValue, value, null);
  71. }
  72. // 数据清空
  73. public static Map assembleCustomFieldName(String fieldValue) {
  74. return UtilMap.map("customfieldName, value", fieldValue,Arrays.asList());
  75. }
  76. }