package com.malk.server.dingtalk; import cn.hutool.core.util.ObjectUtil; import com.malk.server.common.McException; import com.malk.server.common.VenR; import lombok.Data; import lombok.NoArgsConstructor; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * 返回值配置参考McR */ @Data @NoArgsConstructor public class DDR_New extends VenR { private String code; private String message; private Object data; private boolean success; private T result; /** * 无权限对应CODE */ private Map accessdenieddetail; /** * 离职记录列表 */ private List> records; /** * 审批实例id */ private String instanceId; //// 宜搭数据 //// /** * 列表查询数据 */ private long pageNumber; private long totalCount; /** * 实例ID详情 */ private Map originator; private String modifiedTimeGMT; private String formInstId; private Map formData; /** * 变更记录 */ private Map operationLogMap; //// 储存空间 //// /** * 上传唯一标识 */ private String uploadKey; /** * 文件存储类型。DINGTALK:钉钉统一存储驱动, ALIDOC:钉钉文档存储驱动, UNKNOWN:未知驱动 */ private String storageDriver; /** * 上传协议。HEADER_SIGNATURE:Header加签 */ private String protocol; /** * Header加签上传信息。说明: 当protocol参数传HEADER_SIGNATURE时,返回该字段 */ private Map headerSignatureInfo; /** * 文件信息 */ private Map dentry; /** * 钉盘: 下一页的游标,为空字符串则表示分页结束 */ private String nextToken; /// 空间列表 private List spaces; /// 文件或文件夹列表 private List dentries; /// 知识库 private List workspaces; private List items; private Map workspace; // 知识库 [创建文件/文件夹] private String workspaceId; private String dentryUuid; private String nodeId; private String url; // 知识库 [复制文件/文件夹] private String dentryId; // nodeId private String spaceId; private String name; // 知识库 [节点信息] private Map creator; private Map updater; //// 专属钉 //// // 避免无数据返回空 private List list = new ArrayList<>(); // 成功状态标记 [氚云] private final static String SUC_CODE = "success"; /** * 断言错误信息 * - * 新版本: 若存在code则失败, 否则直接返回请求字段, 无状态包装 [已冗余全部字段] */ @Override public void assertSuccess() { if (ObjectUtil.isNotNull(accessdenieddetail)) { message = "没有调用该接口的权限: " + accessdenieddetail; } McException.assertException(ObjectUtil.isNotNull(code) && !SUC_CODE.equals(code), code, message, "dingtalk_new"); } /** * 通用post请求 */ public static DDR_New doPost(String url, Map header, Map param, Map body) { return (DDR_New) DDR.doPost(url, header, param, body, VenR.RC_DD_New); } /** * 通用get请求 */ public static DDR_New doGet(String url, Map header, Map param) { return (DDR_New) DDR.doGet(url, header, param, VenR.RC_DD_New); } }