package com.malk.server.integration; import com.malk.server.common.McException; import com.malk.server.common.VenR; import lombok.Data; import lombok.NoArgsConstructor; import java.util.Map; /** * 集成平台统一响应包装 *

* 服务端返回结构: *

 * {
 *   "result": true|false,
 *   "error": "ERROR_CODE",
 *   "error_description": "可读错误描述",
 *   "data": {...} | [...]
 * }
 * 
*/ @Data @NoArgsConstructor public class INTPR extends VenR { /** * 业务成功标记 */ private boolean result; /** * 错误代码(result=false 时有值) */ private String error; /** * 错误描述(result=false 时有值) */ private String error_description; /** * 业务数据 */ private T data; /** * OAuth2 token endpoint 直接返回字段(非包装结构) */ private String access_token; private String token_type; private Integer expires_in; private String scope; /** * 断言错误信息 */ @Override public void assertSuccess() { // ppExt: token endpoint 不走包装结构,access_token 非空即视为成功 if (access_token != null) { return; } McException.assertException(!result, error, error_description, "integration"); } /// ---------- 静态请求入口 ---------- public static INTPR doPost(String url, Map header, Map param, Map body) { return (INTPR) VenR.doPost(url, header, param, body, VenR.RC_INTP); } public static INTPR doGet(String url, Map header, Map param) { return (INTPR) VenR.doGet(url, header, param, VenR.RC_INTP); } }