com.kalvan.client.context.RequestContext Maven / Gradle / Ivy
The newest version!
package com.kalvan.client.context;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang.StringUtils;
import java.util.HashMap;
/**
* request context 上下文
*
* @author kalvan
*/
@Setter
@Getter
public class RequestContext extends HashMap {
/**
* 语言
*/
private String language;
/**
* 应用ID
*/
private String appId;
/**
* 使用公钥加密过的AES key
*/
private String key;
/**
* 请求业务数据对象
*/
private String data;
/**
* 请求签名
*/
private String sign;
/**
* 报文明文
*/
private String msgContent;
/**
* 日志戳跨线程传递context时需要
*/
private String logTraceId = "";
/**
* 请求来源ip
*/
private String sourceIp;
/**
* 请求来源域名
*/
private String sourceDomain;
/**
* 请求服务名
*/
private String service;
/**
* 请求时间
*/
private long startTime;
/**
* 结束时间
*/
private long endTime;
/**
* 接口请求返回的具体状态
*
* @see com.kalvan.client.constant.CommonStateEnum
*/
private Integer state;
/**
* 接口请求成功默认通过state
*/
private boolean success;
/**
* 返回码
*/
private String responseCode;
/**
* 返回说明
*/
private String responseMessage;
/**
* 返回子系统
*/
private String responseSystem;
/**
* 数据操作是否需要审核
*/
private boolean audit;
/**
* 增强set方法
*
* @param language language
*/
public void setLanguage(String language) {
if (StringUtils.isNotBlank(language)) {
//zh-CN,zh;q=0.9,en;q=0.8
int split = language.indexOf(',');
if (split != -1) {
language = language.substring(0, split);
}
//zh_CN -> zh-CN
language = language.replace("_", "-");
}
this.language = language;
}
@Override
public boolean equals(Object obj) {
return super.equals(obj);
}
@Override
public int hashCode() {
return super.hashCode();
}
}