All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy