package com.newyetai.sdk.common.dto; import java.io.Serializable; import java.util.Date; import com.newyetai.common.util.RandomUtils; import lombok.AllArgsConstructor; import lombok.Builder.Default; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; /** * sdk 调用日志对象 * * @author sr on 2021-01-27 */ @Data @NoArgsConstructor @AllArgsConstructor @SuperBuilder public class AbstractSdkInvokeLogDTO implements Serializable { /** **/ private static final long serialVersionUID = 4230907893212819576L; /** 请求对象 **/ private Object requestData; /** 结果对象 **/ private Object responseData; /** 请求时间 **/ @Default private Date requestDate = new Date(); /** 请求标识 **/ @Default private String requestId = RandomUtils.generateUUID(); /** 具体方法类型 **/ private String methodType; /** 调用耗时(单位毫秒) **/ private Long useTime; public String getMethodType() { if (methodType == null && requestData != null) { methodType = requestData instanceof ISdkRequest ? ((ISdkRequest) requestData).getMethodName() : requestData.getClass().getSimpleName(); } return methodType; } }