package cn.exrick.xboot.core.entity.elasticsearch;
|
|
import cn.exrick.xboot.core.common.constant.CommonConstant;
|
import cn.exrick.xboot.core.common.utils.ObjectUtil;
|
import cn.exrick.xboot.core.common.utils.SnowFlakeUtil;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
import io.swagger.annotations.ApiModelProperty;
|
import lombok.Data;
|
import org.springframework.data.elasticsearch.annotations.DateFormat;
|
import org.springframework.data.elasticsearch.annotations.Document;
|
import org.springframework.data.elasticsearch.annotations.Field;
|
import org.springframework.data.elasticsearch.annotations.FieldType;
|
|
import javax.persistence.Id;
|
import java.io.Serializable;
|
import java.util.Date;
|
import java.util.Map;
|
|
|
/**
|
* Elasticsearch文档实体类
|
* @author Exrickx
|
*/
|
@Data
|
@Document(indexName = "log", replicas = 0, refreshInterval = "1m")
|
public class EsLog implements Serializable {
|
|
private static final long serialVersionUID = 1L;
|
|
@Id
|
@ApiModelProperty(value = "唯一标识")
|
private String id = SnowFlakeUtil.nextId().toString();
|
|
@ApiModelProperty(value = "创建者")
|
private String createBy;
|
|
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
@ApiModelProperty(value = "创建时间")
|
@Field(type = FieldType.Date, index = false, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
|
private Date createTime = new Date();
|
|
@ApiModelProperty(value = "时间戳 查询时间范围时使用")
|
private Long timeMillis = System.currentTimeMillis();
|
|
@ApiModelProperty(value = "更新者")
|
private String updateBy;
|
|
@ApiModelProperty(value = "删除标志 默认0")
|
private Integer delFlag = CommonConstant.STATUS_NORMAL;
|
|
@ApiModelProperty(value = "方法操作名称")
|
private String name;
|
|
@ApiModelProperty(value = "日志类型 0登陆日志 1操作日志")
|
private Integer logType;
|
|
@ApiModelProperty(value = "请求路径")
|
private String requestUrl;
|
|
@ApiModelProperty(value = "请求类型")
|
private String requestType;
|
|
@ApiModelProperty(value = "请求参数")
|
private String requestParam;
|
|
@ApiModelProperty(value = "请求用户")
|
private String username;
|
|
@ApiModelProperty(value = "ip")
|
private String ip;
|
|
@ApiModelProperty(value = "ip信息")
|
private String ipInfo;
|
|
@ApiModelProperty(value = "设备信息")
|
private String device;
|
|
@ApiModelProperty(value = "花费时间")
|
private Integer costTime;
|
|
/**
|
* 转换请求参数为Json
|
* @param paramMap
|
*/
|
public void setMapToParams(Map<String, String[]> paramMap) {
|
|
this.requestParam = ObjectUtil.mapToString(paramMap);
|
}
|
}
|