package cn.lili.modules.permission.entity.vo; import cn.lili.common.utils.ObjectUtil; import cn.lili.elasticsearch.EsSuffix; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.NoArgsConstructor; import lombok.ToString; import lombok.experimental.Accessors; import org.springframework.data.annotation.Id; import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.elasticsearch.annotations.Field; import org.springframework.data.elasticsearch.annotations.FieldType; import java.io.Serializable; import java.util.Date; import java.util.Map; /** * 日志 * * @author Chopper * @since 2020/12/2 17:50 */ @Data @Document(indexName = "#{@elasticsearchProperties.indexPrefix}_" + EsSuffix.LOGS_INDEX_NAME) @ToString @NoArgsConstructor @Accessors(chain = true) public class SystemLogVO implements Serializable { private static final long serialVersionUID = -8995552592401630086L; @Id @ApiModelProperty(value = "id") private String id; @ApiModelProperty(value = "日志记录时间") @Field(type = FieldType.Long) private Long createTime = new Date().getTime(); @ApiModelProperty(value = "请求用户") @Field(type = FieldType.Text) private String username; @ApiModelProperty(value = "请求路径") @Field(type = FieldType.Text) private String requestUrl; @ApiModelProperty(value = "请求参数") @Field(type = FieldType.Text) private String requestParam; @ApiModelProperty(value = "响应参数") @Field(type = FieldType.Text) private String responseBody; @ApiModelProperty(value = "ip") @Field(type = FieldType.Keyword) private String ip; @ApiModelProperty(value = "方法操作名称") @Field(type = FieldType.Keyword) private String name; @ApiModelProperty(value = "请求类型") @Field(type = FieldType.Keyword) private String requestType; @ApiModelProperty(value = "自定义日志内容") @Field(type = FieldType.Text) private String customerLog; @ApiModelProperty(value = "ip信息") @Field(type = FieldType.Text) private String ipInfo; @ApiModelProperty(value = "花费时间") @Field(type = FieldType.Integer) private Integer costTime; @ApiModelProperty(value = "商家") @Field(type = FieldType.Long) private Long storeId = -1L; /** * 转换请求参数为Json * * @param paramMap */ public void setMapToParams(Map paramMap) { this.requestParam = ObjectUtil.mapToString(paramMap); } }