feat: 系统操作日志切面
This commit is contained in:
parent
3177886653
commit
c0b6847fd9
|
@ -1,56 +0,0 @@
|
||||||
package io.metersphere.system.domain;
|
|
||||||
|
|
||||||
import io.metersphere.validation.groups.*;
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
|
||||||
import jakarta.validation.constraints.*;
|
|
||||||
import java.io.Serializable;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
public class OperatingLog implements Serializable {
|
|
||||||
@Schema(title = "ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
||||||
@NotBlank(message = "{operating_log.id.not_blank}", groups = {Updated.class})
|
|
||||||
@Size(min = 1, max = 50, message = "{operating_log.id.length_range}", groups = {Created.class, Updated.class})
|
|
||||||
private String id;
|
|
||||||
|
|
||||||
@Schema(title = "项目ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
||||||
@NotBlank(message = "{operating_log.project_id.not_blank}", groups = {Created.class})
|
|
||||||
@Size(min = 1, max = 50, message = "{operating_log.project_id.length_range}", groups = {Created.class, Updated.class})
|
|
||||||
private String projectId;
|
|
||||||
|
|
||||||
@Schema(title = "operating method")
|
|
||||||
private String operMethod;
|
|
||||||
|
|
||||||
@Schema(title = "创建人")
|
|
||||||
private String createUser;
|
|
||||||
|
|
||||||
@Schema(title = "操作人")
|
|
||||||
private String operUser;
|
|
||||||
|
|
||||||
@Schema(title = "资源ID")
|
|
||||||
private String sourceId;
|
|
||||||
|
|
||||||
@Schema(title = "操作类型")
|
|
||||||
private String operType;
|
|
||||||
|
|
||||||
@Schema(title = "操作模块")
|
|
||||||
private String operModule;
|
|
||||||
|
|
||||||
@Schema(title = "操作标题")
|
|
||||||
private String operTitle;
|
|
||||||
|
|
||||||
@Schema(title = "操作路径")
|
|
||||||
private String operPath;
|
|
||||||
|
|
||||||
@Schema(title = "操作时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
||||||
@NotNull(message = "{operating_log.oper_time.not_blank}", groups = {Created.class})
|
|
||||||
private Long operTime;
|
|
||||||
|
|
||||||
@Schema(title = "操作内容")
|
|
||||||
private byte[] operContent;
|
|
||||||
|
|
||||||
@Schema(title = "操作参数")
|
|
||||||
private byte[] operParams;
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
}
|
|
|
@ -1,27 +0,0 @@
|
||||||
package io.metersphere.system.domain;
|
|
||||||
|
|
||||||
import io.metersphere.validation.groups.*;
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
|
||||||
import jakarta.validation.constraints.*;
|
|
||||||
import java.io.Serializable;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
public class OperatingLogResource implements Serializable {
|
|
||||||
@Schema(title = "ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
||||||
@NotBlank(message = "{operating_log_resource.id.not_blank}", groups = {Updated.class})
|
|
||||||
@Size(min = 1, max = 50, message = "{operating_log_resource.id.length_range}", groups = {Created.class, Updated.class})
|
|
||||||
private String id;
|
|
||||||
|
|
||||||
@Schema(title = "Operating log ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
||||||
@NotBlank(message = "{operating_log_resource.operating_log_id.not_blank}", groups = {Created.class})
|
|
||||||
@Size(min = 1, max = 50, message = "{operating_log_resource.operating_log_id.length_range}", groups = {Created.class, Updated.class})
|
|
||||||
private String operatingLogId;
|
|
||||||
|
|
||||||
@Schema(title = "operating source id", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
||||||
@NotBlank(message = "{operating_log_resource.source_id.not_blank}", groups = {Created.class})
|
|
||||||
@Size(min = 1, max = 50, message = "{operating_log_resource.source_id.length_range}", groups = {Created.class, Updated.class})
|
|
||||||
private String sourceId;
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
}
|
|
|
@ -1,410 +0,0 @@
|
||||||
package io.metersphere.system.domain;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class OperatingLogResourceExample {
|
|
||||||
protected String orderByClause;
|
|
||||||
|
|
||||||
protected boolean distinct;
|
|
||||||
|
|
||||||
protected List<Criteria> oredCriteria;
|
|
||||||
|
|
||||||
public OperatingLogResourceExample() {
|
|
||||||
oredCriteria = new ArrayList<Criteria>();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOrderByClause(String orderByClause) {
|
|
||||||
this.orderByClause = orderByClause;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getOrderByClause() {
|
|
||||||
return orderByClause;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDistinct(boolean distinct) {
|
|
||||||
this.distinct = distinct;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isDistinct() {
|
|
||||||
return distinct;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<Criteria> getOredCriteria() {
|
|
||||||
return oredCriteria;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void or(Criteria criteria) {
|
|
||||||
oredCriteria.add(criteria);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria or() {
|
|
||||||
Criteria criteria = createCriteriaInternal();
|
|
||||||
oredCriteria.add(criteria);
|
|
||||||
return criteria;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria createCriteria() {
|
|
||||||
Criteria criteria = createCriteriaInternal();
|
|
||||||
if (oredCriteria.size() == 0) {
|
|
||||||
oredCriteria.add(criteria);
|
|
||||||
}
|
|
||||||
return criteria;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected Criteria createCriteriaInternal() {
|
|
||||||
Criteria criteria = new Criteria();
|
|
||||||
return criteria;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void clear() {
|
|
||||||
oredCriteria.clear();
|
|
||||||
orderByClause = null;
|
|
||||||
distinct = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected abstract static class GeneratedCriteria {
|
|
||||||
protected List<Criterion> criteria;
|
|
||||||
|
|
||||||
protected GeneratedCriteria() {
|
|
||||||
super();
|
|
||||||
criteria = new ArrayList<Criterion>();
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isValid() {
|
|
||||||
return criteria.size() > 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<Criterion> getAllCriteria() {
|
|
||||||
return criteria;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<Criterion> getCriteria() {
|
|
||||||
return criteria;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void addCriterion(String condition) {
|
|
||||||
if (condition == null) {
|
|
||||||
throw new RuntimeException("Value for condition cannot be null");
|
|
||||||
}
|
|
||||||
criteria.add(new Criterion(condition));
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void addCriterion(String condition, Object value, String property) {
|
|
||||||
if (value == null) {
|
|
||||||
throw new RuntimeException("Value for " + property + " cannot be null");
|
|
||||||
}
|
|
||||||
criteria.add(new Criterion(condition, value));
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void addCriterion(String condition, Object value1, Object value2, String property) {
|
|
||||||
if (value1 == null || value2 == null) {
|
|
||||||
throw new RuntimeException("Between values for " + property + " cannot be null");
|
|
||||||
}
|
|
||||||
criteria.add(new Criterion(condition, value1, value2));
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andIdIsNull() {
|
|
||||||
addCriterion("id is null");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andIdIsNotNull() {
|
|
||||||
addCriterion("id is not null");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andIdEqualTo(String value) {
|
|
||||||
addCriterion("id =", value, "id");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andIdNotEqualTo(String value) {
|
|
||||||
addCriterion("id <>", value, "id");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andIdGreaterThan(String value) {
|
|
||||||
addCriterion("id >", value, "id");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andIdGreaterThanOrEqualTo(String value) {
|
|
||||||
addCriterion("id >=", value, "id");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andIdLessThan(String value) {
|
|
||||||
addCriterion("id <", value, "id");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andIdLessThanOrEqualTo(String value) {
|
|
||||||
addCriterion("id <=", value, "id");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andIdLike(String value) {
|
|
||||||
addCriterion("id like", value, "id");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andIdNotLike(String value) {
|
|
||||||
addCriterion("id not like", value, "id");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andIdIn(List<String> values) {
|
|
||||||
addCriterion("id in", values, "id");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andIdNotIn(List<String> values) {
|
|
||||||
addCriterion("id not in", values, "id");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andIdBetween(String value1, String value2) {
|
|
||||||
addCriterion("id between", value1, value2, "id");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andIdNotBetween(String value1, String value2) {
|
|
||||||
addCriterion("id not between", value1, value2, "id");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperatingLogIdIsNull() {
|
|
||||||
addCriterion("operating_log_id is null");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperatingLogIdIsNotNull() {
|
|
||||||
addCriterion("operating_log_id is not null");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperatingLogIdEqualTo(String value) {
|
|
||||||
addCriterion("operating_log_id =", value, "operatingLogId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperatingLogIdNotEqualTo(String value) {
|
|
||||||
addCriterion("operating_log_id <>", value, "operatingLogId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperatingLogIdGreaterThan(String value) {
|
|
||||||
addCriterion("operating_log_id >", value, "operatingLogId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperatingLogIdGreaterThanOrEqualTo(String value) {
|
|
||||||
addCriterion("operating_log_id >=", value, "operatingLogId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperatingLogIdLessThan(String value) {
|
|
||||||
addCriterion("operating_log_id <", value, "operatingLogId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperatingLogIdLessThanOrEqualTo(String value) {
|
|
||||||
addCriterion("operating_log_id <=", value, "operatingLogId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperatingLogIdLike(String value) {
|
|
||||||
addCriterion("operating_log_id like", value, "operatingLogId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperatingLogIdNotLike(String value) {
|
|
||||||
addCriterion("operating_log_id not like", value, "operatingLogId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperatingLogIdIn(List<String> values) {
|
|
||||||
addCriterion("operating_log_id in", values, "operatingLogId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperatingLogIdNotIn(List<String> values) {
|
|
||||||
addCriterion("operating_log_id not in", values, "operatingLogId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperatingLogIdBetween(String value1, String value2) {
|
|
||||||
addCriterion("operating_log_id between", value1, value2, "operatingLogId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperatingLogIdNotBetween(String value1, String value2) {
|
|
||||||
addCriterion("operating_log_id not between", value1, value2, "operatingLogId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andSourceIdIsNull() {
|
|
||||||
addCriterion("source_id is null");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andSourceIdIsNotNull() {
|
|
||||||
addCriterion("source_id is not null");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andSourceIdEqualTo(String value) {
|
|
||||||
addCriterion("source_id =", value, "sourceId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andSourceIdNotEqualTo(String value) {
|
|
||||||
addCriterion("source_id <>", value, "sourceId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andSourceIdGreaterThan(String value) {
|
|
||||||
addCriterion("source_id >", value, "sourceId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andSourceIdGreaterThanOrEqualTo(String value) {
|
|
||||||
addCriterion("source_id >=", value, "sourceId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andSourceIdLessThan(String value) {
|
|
||||||
addCriterion("source_id <", value, "sourceId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andSourceIdLessThanOrEqualTo(String value) {
|
|
||||||
addCriterion("source_id <=", value, "sourceId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andSourceIdLike(String value) {
|
|
||||||
addCriterion("source_id like", value, "sourceId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andSourceIdNotLike(String value) {
|
|
||||||
addCriterion("source_id not like", value, "sourceId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andSourceIdIn(List<String> values) {
|
|
||||||
addCriterion("source_id in", values, "sourceId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andSourceIdNotIn(List<String> values) {
|
|
||||||
addCriterion("source_id not in", values, "sourceId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andSourceIdBetween(String value1, String value2) {
|
|
||||||
addCriterion("source_id between", value1, value2, "sourceId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andSourceIdNotBetween(String value1, String value2) {
|
|
||||||
addCriterion("source_id not between", value1, value2, "sourceId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class Criteria extends GeneratedCriteria {
|
|
||||||
|
|
||||||
protected Criteria() {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class Criterion {
|
|
||||||
private String condition;
|
|
||||||
|
|
||||||
private Object value;
|
|
||||||
|
|
||||||
private Object secondValue;
|
|
||||||
|
|
||||||
private boolean noValue;
|
|
||||||
|
|
||||||
private boolean singleValue;
|
|
||||||
|
|
||||||
private boolean betweenValue;
|
|
||||||
|
|
||||||
private boolean listValue;
|
|
||||||
|
|
||||||
private String typeHandler;
|
|
||||||
|
|
||||||
public String getCondition() {
|
|
||||||
return condition;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Object getValue() {
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Object getSecondValue() {
|
|
||||||
return secondValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isNoValue() {
|
|
||||||
return noValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isSingleValue() {
|
|
||||||
return singleValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isBetweenValue() {
|
|
||||||
return betweenValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isListValue() {
|
|
||||||
return listValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTypeHandler() {
|
|
||||||
return typeHandler;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected Criterion(String condition) {
|
|
||||||
super();
|
|
||||||
this.condition = condition;
|
|
||||||
this.typeHandler = null;
|
|
||||||
this.noValue = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected Criterion(String condition, Object value, String typeHandler) {
|
|
||||||
super();
|
|
||||||
this.condition = condition;
|
|
||||||
this.value = value;
|
|
||||||
this.typeHandler = typeHandler;
|
|
||||||
if (value instanceof List<?>) {
|
|
||||||
this.listValue = true;
|
|
||||||
} else {
|
|
||||||
this.singleValue = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected Criterion(String condition, Object value) {
|
|
||||||
this(condition, value, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
|
|
||||||
super();
|
|
||||||
this.condition = condition;
|
|
||||||
this.value = value;
|
|
||||||
this.secondValue = secondValue;
|
|
||||||
this.typeHandler = typeHandler;
|
|
||||||
this.betweenValue = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected Criterion(String condition, Object value, Object secondValue) {
|
|
||||||
this(condition, value, secondValue, null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,53 @@
|
||||||
|
package io.metersphere.system.domain;
|
||||||
|
|
||||||
|
import io.metersphere.validation.groups.Created;
|
||||||
|
import io.metersphere.validation.groups.Updated;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
import jakarta.validation.constraints.Size;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class OperationLog implements Serializable {
|
||||||
|
@Schema(title = "主键", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
|
@NotBlank(message = "{operation_log.id.not_blank}", groups = {Updated.class})
|
||||||
|
@Size(min = 1, max = 50, message = "{operation_log.id.length_range}", groups = {Created.class, Updated.class})
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
@Schema(title = "项目id", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
|
@NotBlank(message = "{operation_log.project_id.not_blank}", groups = {Created.class})
|
||||||
|
@Size(min = 1, max = 50, message = "{operation_log.project_id.length_range}", groups = {Created.class, Updated.class})
|
||||||
|
private String projectId;
|
||||||
|
|
||||||
|
@Schema(title = "操作时间")
|
||||||
|
private Long createTime;
|
||||||
|
|
||||||
|
@Schema(title = "操作人")
|
||||||
|
private String createUser;
|
||||||
|
|
||||||
|
@Schema(title = "资源id")
|
||||||
|
private String sourceId;
|
||||||
|
|
||||||
|
@Schema(title = "操作方法", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
|
@NotBlank(message = "{operation_log.method.not_blank}", groups = {Created.class})
|
||||||
|
@Size(min = 1, max = 255, message = "{operation_log.method.length_range}", groups = {Created.class, Updated.class})
|
||||||
|
private String method;
|
||||||
|
|
||||||
|
@Schema(title = "操作类型/add/update/delete", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
|
@NotBlank(message = "{operation_log.type.not_blank}", groups = {Created.class})
|
||||||
|
@Size(min = 1, max = 20, message = "{operation_log.type.length_range}", groups = {Created.class, Updated.class})
|
||||||
|
private String type;
|
||||||
|
|
||||||
|
@Schema(title = "操作模块/api/case/scenario/ui")
|
||||||
|
private String module;
|
||||||
|
|
||||||
|
@Schema(title = "操作详情")
|
||||||
|
private String details;
|
||||||
|
|
||||||
|
@Schema(title = "操作路径")
|
||||||
|
private String path;
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
}
|
|
@ -3,14 +3,14 @@ package io.metersphere.system.domain;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class OperatingLogExample {
|
public class OperationLogExample {
|
||||||
protected String orderByClause;
|
protected String orderByClause;
|
||||||
|
|
||||||
protected boolean distinct;
|
protected boolean distinct;
|
||||||
|
|
||||||
protected List<Criteria> oredCriteria;
|
protected List<Criteria> oredCriteria;
|
||||||
|
|
||||||
public OperatingLogExample() {
|
public OperationLogExample() {
|
||||||
oredCriteria = new ArrayList<Criteria>();
|
oredCriteria = new ArrayList<Criteria>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -244,73 +244,63 @@ public class OperatingLogExample {
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperMethodIsNull() {
|
public Criteria andCreateTimeIsNull() {
|
||||||
addCriterion("oper_method is null");
|
addCriterion("create_time is null");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperMethodIsNotNull() {
|
public Criteria andCreateTimeIsNotNull() {
|
||||||
addCriterion("oper_method is not null");
|
addCriterion("create_time is not null");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperMethodEqualTo(String value) {
|
public Criteria andCreateTimeEqualTo(Long value) {
|
||||||
addCriterion("oper_method =", value, "operMethod");
|
addCriterion("create_time =", value, "createTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperMethodNotEqualTo(String value) {
|
public Criteria andCreateTimeNotEqualTo(Long value) {
|
||||||
addCriterion("oper_method <>", value, "operMethod");
|
addCriterion("create_time <>", value, "createTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperMethodGreaterThan(String value) {
|
public Criteria andCreateTimeGreaterThan(Long value) {
|
||||||
addCriterion("oper_method >", value, "operMethod");
|
addCriterion("create_time >", value, "createTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperMethodGreaterThanOrEqualTo(String value) {
|
public Criteria andCreateTimeGreaterThanOrEqualTo(Long value) {
|
||||||
addCriterion("oper_method >=", value, "operMethod");
|
addCriterion("create_time >=", value, "createTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperMethodLessThan(String value) {
|
public Criteria andCreateTimeLessThan(Long value) {
|
||||||
addCriterion("oper_method <", value, "operMethod");
|
addCriterion("create_time <", value, "createTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperMethodLessThanOrEqualTo(String value) {
|
public Criteria andCreateTimeLessThanOrEqualTo(Long value) {
|
||||||
addCriterion("oper_method <=", value, "operMethod");
|
addCriterion("create_time <=", value, "createTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperMethodLike(String value) {
|
public Criteria andCreateTimeIn(List<Long> values) {
|
||||||
addCriterion("oper_method like", value, "operMethod");
|
addCriterion("create_time in", values, "createTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperMethodNotLike(String value) {
|
public Criteria andCreateTimeNotIn(List<Long> values) {
|
||||||
addCriterion("oper_method not like", value, "operMethod");
|
addCriterion("create_time not in", values, "createTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperMethodIn(List<String> values) {
|
public Criteria andCreateTimeBetween(Long value1, Long value2) {
|
||||||
addCriterion("oper_method in", values, "operMethod");
|
addCriterion("create_time between", value1, value2, "createTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperMethodNotIn(List<String> values) {
|
public Criteria andCreateTimeNotBetween(Long value1, Long value2) {
|
||||||
addCriterion("oper_method not in", values, "operMethod");
|
addCriterion("create_time not between", value1, value2, "createTime");
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperMethodBetween(String value1, String value2) {
|
|
||||||
addCriterion("oper_method between", value1, value2, "operMethod");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperMethodNotBetween(String value1, String value2) {
|
|
||||||
addCriterion("oper_method not between", value1, value2, "operMethod");
|
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -384,76 +374,6 @@ public class OperatingLogExample {
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperUserIsNull() {
|
|
||||||
addCriterion("oper_user is null");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperUserIsNotNull() {
|
|
||||||
addCriterion("oper_user is not null");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperUserEqualTo(String value) {
|
|
||||||
addCriterion("oper_user =", value, "operUser");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperUserNotEqualTo(String value) {
|
|
||||||
addCriterion("oper_user <>", value, "operUser");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperUserGreaterThan(String value) {
|
|
||||||
addCriterion("oper_user >", value, "operUser");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperUserGreaterThanOrEqualTo(String value) {
|
|
||||||
addCriterion("oper_user >=", value, "operUser");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperUserLessThan(String value) {
|
|
||||||
addCriterion("oper_user <", value, "operUser");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperUserLessThanOrEqualTo(String value) {
|
|
||||||
addCriterion("oper_user <=", value, "operUser");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperUserLike(String value) {
|
|
||||||
addCriterion("oper_user like", value, "operUser");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperUserNotLike(String value) {
|
|
||||||
addCriterion("oper_user not like", value, "operUser");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperUserIn(List<String> values) {
|
|
||||||
addCriterion("oper_user in", values, "operUser");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperUserNotIn(List<String> values) {
|
|
||||||
addCriterion("oper_user not in", values, "operUser");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperUserBetween(String value1, String value2) {
|
|
||||||
addCriterion("oper_user between", value1, value2, "operUser");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andOperUserNotBetween(String value1, String value2) {
|
|
||||||
addCriterion("oper_user not between", value1, value2, "operUser");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andSourceIdIsNull() {
|
public Criteria andSourceIdIsNull() {
|
||||||
addCriterion("source_id is null");
|
addCriterion("source_id is null");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
|
@ -524,343 +444,353 @@ public class OperatingLogExample {
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTypeIsNull() {
|
public Criteria andMethodIsNull() {
|
||||||
addCriterion("oper_type is null");
|
addCriterion("`method` is null");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTypeIsNotNull() {
|
public Criteria andMethodIsNotNull() {
|
||||||
addCriterion("oper_type is not null");
|
addCriterion("`method` is not null");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTypeEqualTo(String value) {
|
public Criteria andMethodEqualTo(String value) {
|
||||||
addCriterion("oper_type =", value, "operType");
|
addCriterion("`method` =", value, "method");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTypeNotEqualTo(String value) {
|
public Criteria andMethodNotEqualTo(String value) {
|
||||||
addCriterion("oper_type <>", value, "operType");
|
addCriterion("`method` <>", value, "method");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTypeGreaterThan(String value) {
|
public Criteria andMethodGreaterThan(String value) {
|
||||||
addCriterion("oper_type >", value, "operType");
|
addCriterion("`method` >", value, "method");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTypeGreaterThanOrEqualTo(String value) {
|
public Criteria andMethodGreaterThanOrEqualTo(String value) {
|
||||||
addCriterion("oper_type >=", value, "operType");
|
addCriterion("`method` >=", value, "method");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTypeLessThan(String value) {
|
public Criteria andMethodLessThan(String value) {
|
||||||
addCriterion("oper_type <", value, "operType");
|
addCriterion("`method` <", value, "method");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTypeLessThanOrEqualTo(String value) {
|
public Criteria andMethodLessThanOrEqualTo(String value) {
|
||||||
addCriterion("oper_type <=", value, "operType");
|
addCriterion("`method` <=", value, "method");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTypeLike(String value) {
|
public Criteria andMethodLike(String value) {
|
||||||
addCriterion("oper_type like", value, "operType");
|
addCriterion("`method` like", value, "method");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTypeNotLike(String value) {
|
public Criteria andMethodNotLike(String value) {
|
||||||
addCriterion("oper_type not like", value, "operType");
|
addCriterion("`method` not like", value, "method");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTypeIn(List<String> values) {
|
public Criteria andMethodIn(List<String> values) {
|
||||||
addCriterion("oper_type in", values, "operType");
|
addCriterion("`method` in", values, "method");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTypeNotIn(List<String> values) {
|
public Criteria andMethodNotIn(List<String> values) {
|
||||||
addCriterion("oper_type not in", values, "operType");
|
addCriterion("`method` not in", values, "method");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTypeBetween(String value1, String value2) {
|
public Criteria andMethodBetween(String value1, String value2) {
|
||||||
addCriterion("oper_type between", value1, value2, "operType");
|
addCriterion("`method` between", value1, value2, "method");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTypeNotBetween(String value1, String value2) {
|
public Criteria andMethodNotBetween(String value1, String value2) {
|
||||||
addCriterion("oper_type not between", value1, value2, "operType");
|
addCriterion("`method` not between", value1, value2, "method");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperModuleIsNull() {
|
public Criteria andTypeIsNull() {
|
||||||
addCriterion("oper_module is null");
|
addCriterion("`type` is null");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperModuleIsNotNull() {
|
public Criteria andTypeIsNotNull() {
|
||||||
addCriterion("oper_module is not null");
|
addCriterion("`type` is not null");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperModuleEqualTo(String value) {
|
public Criteria andTypeEqualTo(String value) {
|
||||||
addCriterion("oper_module =", value, "operModule");
|
addCriterion("`type` =", value, "type");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperModuleNotEqualTo(String value) {
|
public Criteria andTypeNotEqualTo(String value) {
|
||||||
addCriterion("oper_module <>", value, "operModule");
|
addCriterion("`type` <>", value, "type");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperModuleGreaterThan(String value) {
|
public Criteria andTypeGreaterThan(String value) {
|
||||||
addCriterion("oper_module >", value, "operModule");
|
addCriterion("`type` >", value, "type");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperModuleGreaterThanOrEqualTo(String value) {
|
public Criteria andTypeGreaterThanOrEqualTo(String value) {
|
||||||
addCriterion("oper_module >=", value, "operModule");
|
addCriterion("`type` >=", value, "type");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperModuleLessThan(String value) {
|
public Criteria andTypeLessThan(String value) {
|
||||||
addCriterion("oper_module <", value, "operModule");
|
addCriterion("`type` <", value, "type");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperModuleLessThanOrEqualTo(String value) {
|
public Criteria andTypeLessThanOrEqualTo(String value) {
|
||||||
addCriterion("oper_module <=", value, "operModule");
|
addCriterion("`type` <=", value, "type");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperModuleLike(String value) {
|
public Criteria andTypeLike(String value) {
|
||||||
addCriterion("oper_module like", value, "operModule");
|
addCriterion("`type` like", value, "type");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperModuleNotLike(String value) {
|
public Criteria andTypeNotLike(String value) {
|
||||||
addCriterion("oper_module not like", value, "operModule");
|
addCriterion("`type` not like", value, "type");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperModuleIn(List<String> values) {
|
public Criteria andTypeIn(List<String> values) {
|
||||||
addCriterion("oper_module in", values, "operModule");
|
addCriterion("`type` in", values, "type");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperModuleNotIn(List<String> values) {
|
public Criteria andTypeNotIn(List<String> values) {
|
||||||
addCriterion("oper_module not in", values, "operModule");
|
addCriterion("`type` not in", values, "type");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperModuleBetween(String value1, String value2) {
|
public Criteria andTypeBetween(String value1, String value2) {
|
||||||
addCriterion("oper_module between", value1, value2, "operModule");
|
addCriterion("`type` between", value1, value2, "type");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperModuleNotBetween(String value1, String value2) {
|
public Criteria andTypeNotBetween(String value1, String value2) {
|
||||||
addCriterion("oper_module not between", value1, value2, "operModule");
|
addCriterion("`type` not between", value1, value2, "type");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTitleIsNull() {
|
public Criteria andModuleIsNull() {
|
||||||
addCriterion("oper_title is null");
|
addCriterion("`module` is null");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTitleIsNotNull() {
|
public Criteria andModuleIsNotNull() {
|
||||||
addCriterion("oper_title is not null");
|
addCriterion("`module` is not null");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTitleEqualTo(String value) {
|
public Criteria andModuleEqualTo(String value) {
|
||||||
addCriterion("oper_title =", value, "operTitle");
|
addCriterion("`module` =", value, "module");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTitleNotEqualTo(String value) {
|
public Criteria andModuleNotEqualTo(String value) {
|
||||||
addCriterion("oper_title <>", value, "operTitle");
|
addCriterion("`module` <>", value, "module");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTitleGreaterThan(String value) {
|
public Criteria andModuleGreaterThan(String value) {
|
||||||
addCriterion("oper_title >", value, "operTitle");
|
addCriterion("`module` >", value, "module");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTitleGreaterThanOrEqualTo(String value) {
|
public Criteria andModuleGreaterThanOrEqualTo(String value) {
|
||||||
addCriterion("oper_title >=", value, "operTitle");
|
addCriterion("`module` >=", value, "module");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTitleLessThan(String value) {
|
public Criteria andModuleLessThan(String value) {
|
||||||
addCriterion("oper_title <", value, "operTitle");
|
addCriterion("`module` <", value, "module");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTitleLessThanOrEqualTo(String value) {
|
public Criteria andModuleLessThanOrEqualTo(String value) {
|
||||||
addCriterion("oper_title <=", value, "operTitle");
|
addCriterion("`module` <=", value, "module");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTitleLike(String value) {
|
public Criteria andModuleLike(String value) {
|
||||||
addCriterion("oper_title like", value, "operTitle");
|
addCriterion("`module` like", value, "module");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTitleNotLike(String value) {
|
public Criteria andModuleNotLike(String value) {
|
||||||
addCriterion("oper_title not like", value, "operTitle");
|
addCriterion("`module` not like", value, "module");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTitleIn(List<String> values) {
|
public Criteria andModuleIn(List<String> values) {
|
||||||
addCriterion("oper_title in", values, "operTitle");
|
addCriterion("`module` in", values, "module");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTitleNotIn(List<String> values) {
|
public Criteria andModuleNotIn(List<String> values) {
|
||||||
addCriterion("oper_title not in", values, "operTitle");
|
addCriterion("`module` not in", values, "module");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTitleBetween(String value1, String value2) {
|
public Criteria andModuleBetween(String value1, String value2) {
|
||||||
addCriterion("oper_title between", value1, value2, "operTitle");
|
addCriterion("`module` between", value1, value2, "module");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTitleNotBetween(String value1, String value2) {
|
public Criteria andModuleNotBetween(String value1, String value2) {
|
||||||
addCriterion("oper_title not between", value1, value2, "operTitle");
|
addCriterion("`module` not between", value1, value2, "module");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperPathIsNull() {
|
public Criteria andDetailsIsNull() {
|
||||||
addCriterion("oper_path is null");
|
addCriterion("details is null");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperPathIsNotNull() {
|
public Criteria andDetailsIsNotNull() {
|
||||||
addCriterion("oper_path is not null");
|
addCriterion("details is not null");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperPathEqualTo(String value) {
|
public Criteria andDetailsEqualTo(String value) {
|
||||||
addCriterion("oper_path =", value, "operPath");
|
addCriterion("details =", value, "details");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperPathNotEqualTo(String value) {
|
public Criteria andDetailsNotEqualTo(String value) {
|
||||||
addCriterion("oper_path <>", value, "operPath");
|
addCriterion("details <>", value, "details");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperPathGreaterThan(String value) {
|
public Criteria andDetailsGreaterThan(String value) {
|
||||||
addCriterion("oper_path >", value, "operPath");
|
addCriterion("details >", value, "details");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperPathGreaterThanOrEqualTo(String value) {
|
public Criteria andDetailsGreaterThanOrEqualTo(String value) {
|
||||||
addCriterion("oper_path >=", value, "operPath");
|
addCriterion("details >=", value, "details");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperPathLessThan(String value) {
|
public Criteria andDetailsLessThan(String value) {
|
||||||
addCriterion("oper_path <", value, "operPath");
|
addCriterion("details <", value, "details");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperPathLessThanOrEqualTo(String value) {
|
public Criteria andDetailsLessThanOrEqualTo(String value) {
|
||||||
addCriterion("oper_path <=", value, "operPath");
|
addCriterion("details <=", value, "details");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperPathLike(String value) {
|
public Criteria andDetailsLike(String value) {
|
||||||
addCriterion("oper_path like", value, "operPath");
|
addCriterion("details like", value, "details");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperPathNotLike(String value) {
|
public Criteria andDetailsNotLike(String value) {
|
||||||
addCriterion("oper_path not like", value, "operPath");
|
addCriterion("details not like", value, "details");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperPathIn(List<String> values) {
|
public Criteria andDetailsIn(List<String> values) {
|
||||||
addCriterion("oper_path in", values, "operPath");
|
addCriterion("details in", values, "details");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperPathNotIn(List<String> values) {
|
public Criteria andDetailsNotIn(List<String> values) {
|
||||||
addCriterion("oper_path not in", values, "operPath");
|
addCriterion("details not in", values, "details");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperPathBetween(String value1, String value2) {
|
public Criteria andDetailsBetween(String value1, String value2) {
|
||||||
addCriterion("oper_path between", value1, value2, "operPath");
|
addCriterion("details between", value1, value2, "details");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperPathNotBetween(String value1, String value2) {
|
public Criteria andDetailsNotBetween(String value1, String value2) {
|
||||||
addCriterion("oper_path not between", value1, value2, "operPath");
|
addCriterion("details not between", value1, value2, "details");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTimeIsNull() {
|
public Criteria andPathIsNull() {
|
||||||
addCriterion("oper_time is null");
|
addCriterion("`path` is null");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTimeIsNotNull() {
|
public Criteria andPathIsNotNull() {
|
||||||
addCriterion("oper_time is not null");
|
addCriterion("`path` is not null");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTimeEqualTo(Long value) {
|
public Criteria andPathEqualTo(String value) {
|
||||||
addCriterion("oper_time =", value, "operTime");
|
addCriterion("`path` =", value, "path");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTimeNotEqualTo(Long value) {
|
public Criteria andPathNotEqualTo(String value) {
|
||||||
addCriterion("oper_time <>", value, "operTime");
|
addCriterion("`path` <>", value, "path");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTimeGreaterThan(Long value) {
|
public Criteria andPathGreaterThan(String value) {
|
||||||
addCriterion("oper_time >", value, "operTime");
|
addCriterion("`path` >", value, "path");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTimeGreaterThanOrEqualTo(Long value) {
|
public Criteria andPathGreaterThanOrEqualTo(String value) {
|
||||||
addCriterion("oper_time >=", value, "operTime");
|
addCriterion("`path` >=", value, "path");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTimeLessThan(Long value) {
|
public Criteria andPathLessThan(String value) {
|
||||||
addCriterion("oper_time <", value, "operTime");
|
addCriterion("`path` <", value, "path");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTimeLessThanOrEqualTo(Long value) {
|
public Criteria andPathLessThanOrEqualTo(String value) {
|
||||||
addCriterion("oper_time <=", value, "operTime");
|
addCriterion("`path` <=", value, "path");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTimeIn(List<Long> values) {
|
public Criteria andPathLike(String value) {
|
||||||
addCriterion("oper_time in", values, "operTime");
|
addCriterion("`path` like", value, "path");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTimeNotIn(List<Long> values) {
|
public Criteria andPathNotLike(String value) {
|
||||||
addCriterion("oper_time not in", values, "operTime");
|
addCriterion("`path` not like", value, "path");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTimeBetween(Long value1, Long value2) {
|
public Criteria andPathIn(List<String> values) {
|
||||||
addCriterion("oper_time between", value1, value2, "operTime");
|
addCriterion("`path` in", values, "path");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andOperTimeNotBetween(Long value1, Long value2) {
|
public Criteria andPathNotIn(List<String> values) {
|
||||||
addCriterion("oper_time not between", value1, value2, "operTime");
|
addCriterion("`path` not in", values, "path");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andPathBetween(String value1, String value2) {
|
||||||
|
addCriterion("`path` between", value1, value2, "path");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andPathNotBetween(String value1, String value2) {
|
||||||
|
addCriterion("`path` not between", value1, value2, "path");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,36 +0,0 @@
|
||||||
package io.metersphere.system.mapper;
|
|
||||||
|
|
||||||
import io.metersphere.system.domain.OperatingLog;
|
|
||||||
import io.metersphere.system.domain.OperatingLogExample;
|
|
||||||
import java.util.List;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
public interface OperatingLogMapper {
|
|
||||||
long countByExample(OperatingLogExample example);
|
|
||||||
|
|
||||||
int deleteByExample(OperatingLogExample example);
|
|
||||||
|
|
||||||
int deleteByPrimaryKey(String id);
|
|
||||||
|
|
||||||
int insert(OperatingLog record);
|
|
||||||
|
|
||||||
int insertSelective(OperatingLog record);
|
|
||||||
|
|
||||||
List<OperatingLog> selectByExampleWithBLOBs(OperatingLogExample example);
|
|
||||||
|
|
||||||
List<OperatingLog> selectByExample(OperatingLogExample example);
|
|
||||||
|
|
||||||
OperatingLog selectByPrimaryKey(String id);
|
|
||||||
|
|
||||||
int updateByExampleSelective(@Param("record") OperatingLog record, @Param("example") OperatingLogExample example);
|
|
||||||
|
|
||||||
int updateByExampleWithBLOBs(@Param("record") OperatingLog record, @Param("example") OperatingLogExample example);
|
|
||||||
|
|
||||||
int updateByExample(@Param("record") OperatingLog record, @Param("example") OperatingLogExample example);
|
|
||||||
|
|
||||||
int updateByPrimaryKeySelective(OperatingLog record);
|
|
||||||
|
|
||||||
int updateByPrimaryKeyWithBLOBs(OperatingLog record);
|
|
||||||
|
|
||||||
int updateByPrimaryKey(OperatingLog record);
|
|
||||||
}
|
|
|
@ -1,392 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
||||||
<mapper namespace="io.metersphere.system.mapper.OperatingLogMapper">
|
|
||||||
<resultMap id="BaseResultMap" type="io.metersphere.system.domain.OperatingLog">
|
|
||||||
<id column="id" jdbcType="VARCHAR" property="id" />
|
|
||||||
<result column="project_id" jdbcType="VARCHAR" property="projectId" />
|
|
||||||
<result column="oper_method" jdbcType="VARCHAR" property="operMethod" />
|
|
||||||
<result column="create_user" jdbcType="VARCHAR" property="createUser" />
|
|
||||||
<result column="oper_user" jdbcType="VARCHAR" property="operUser" />
|
|
||||||
<result column="source_id" jdbcType="VARCHAR" property="sourceId" />
|
|
||||||
<result column="oper_type" jdbcType="VARCHAR" property="operType" />
|
|
||||||
<result column="oper_module" jdbcType="VARCHAR" property="operModule" />
|
|
||||||
<result column="oper_title" jdbcType="VARCHAR" property="operTitle" />
|
|
||||||
<result column="oper_path" jdbcType="VARCHAR" property="operPath" />
|
|
||||||
<result column="oper_time" jdbcType="BIGINT" property="operTime" />
|
|
||||||
</resultMap>
|
|
||||||
<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="io.metersphere.system.domain.OperatingLog">
|
|
||||||
<result column="oper_content" jdbcType="LONGVARBINARY" property="operContent" />
|
|
||||||
<result column="oper_params" jdbcType="LONGVARBINARY" property="operParams" />
|
|
||||||
</resultMap>
|
|
||||||
<sql id="Example_Where_Clause">
|
|
||||||
<where>
|
|
||||||
<foreach collection="oredCriteria" item="criteria" separator="or">
|
|
||||||
<if test="criteria.valid">
|
|
||||||
<trim prefix="(" prefixOverrides="and" suffix=")">
|
|
||||||
<foreach collection="criteria.criteria" item="criterion">
|
|
||||||
<choose>
|
|
||||||
<when test="criterion.noValue">
|
|
||||||
and ${criterion.condition}
|
|
||||||
</when>
|
|
||||||
<when test="criterion.singleValue">
|
|
||||||
and ${criterion.condition} #{criterion.value}
|
|
||||||
</when>
|
|
||||||
<when test="criterion.betweenValue">
|
|
||||||
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
|
|
||||||
</when>
|
|
||||||
<when test="criterion.listValue">
|
|
||||||
and ${criterion.condition}
|
|
||||||
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
|
|
||||||
#{listItem}
|
|
||||||
</foreach>
|
|
||||||
</when>
|
|
||||||
</choose>
|
|
||||||
</foreach>
|
|
||||||
</trim>
|
|
||||||
</if>
|
|
||||||
</foreach>
|
|
||||||
</where>
|
|
||||||
</sql>
|
|
||||||
<sql id="Update_By_Example_Where_Clause">
|
|
||||||
<where>
|
|
||||||
<foreach collection="example.oredCriteria" item="criteria" separator="or">
|
|
||||||
<if test="criteria.valid">
|
|
||||||
<trim prefix="(" prefixOverrides="and" suffix=")">
|
|
||||||
<foreach collection="criteria.criteria" item="criterion">
|
|
||||||
<choose>
|
|
||||||
<when test="criterion.noValue">
|
|
||||||
and ${criterion.condition}
|
|
||||||
</when>
|
|
||||||
<when test="criterion.singleValue">
|
|
||||||
and ${criterion.condition} #{criterion.value}
|
|
||||||
</when>
|
|
||||||
<when test="criterion.betweenValue">
|
|
||||||
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
|
|
||||||
</when>
|
|
||||||
<when test="criterion.listValue">
|
|
||||||
and ${criterion.condition}
|
|
||||||
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
|
|
||||||
#{listItem}
|
|
||||||
</foreach>
|
|
||||||
</when>
|
|
||||||
</choose>
|
|
||||||
</foreach>
|
|
||||||
</trim>
|
|
||||||
</if>
|
|
||||||
</foreach>
|
|
||||||
</where>
|
|
||||||
</sql>
|
|
||||||
<sql id="Base_Column_List">
|
|
||||||
id, project_id, oper_method, create_user, oper_user, source_id, oper_type, oper_module,
|
|
||||||
oper_title, oper_path, oper_time
|
|
||||||
</sql>
|
|
||||||
<sql id="Blob_Column_List">
|
|
||||||
oper_content, oper_params
|
|
||||||
</sql>
|
|
||||||
<select id="selectByExampleWithBLOBs" parameterType="io.metersphere.system.domain.OperatingLogExample" resultMap="ResultMapWithBLOBs">
|
|
||||||
select
|
|
||||||
<if test="distinct">
|
|
||||||
distinct
|
|
||||||
</if>
|
|
||||||
<include refid="Base_Column_List" />
|
|
||||||
,
|
|
||||||
<include refid="Blob_Column_List" />
|
|
||||||
from operating_log
|
|
||||||
<if test="_parameter != null">
|
|
||||||
<include refid="Example_Where_Clause" />
|
|
||||||
</if>
|
|
||||||
<if test="orderByClause != null">
|
|
||||||
order by ${orderByClause}
|
|
||||||
</if>
|
|
||||||
</select>
|
|
||||||
<select id="selectByExample" parameterType="io.metersphere.system.domain.OperatingLogExample" resultMap="BaseResultMap">
|
|
||||||
select
|
|
||||||
<if test="distinct">
|
|
||||||
distinct
|
|
||||||
</if>
|
|
||||||
<include refid="Base_Column_List" />
|
|
||||||
from operating_log
|
|
||||||
<if test="_parameter != null">
|
|
||||||
<include refid="Example_Where_Clause" />
|
|
||||||
</if>
|
|
||||||
<if test="orderByClause != null">
|
|
||||||
order by ${orderByClause}
|
|
||||||
</if>
|
|
||||||
</select>
|
|
||||||
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="ResultMapWithBLOBs">
|
|
||||||
select
|
|
||||||
<include refid="Base_Column_List" />
|
|
||||||
,
|
|
||||||
<include refid="Blob_Column_List" />
|
|
||||||
from operating_log
|
|
||||||
where id = #{id,jdbcType=VARCHAR}
|
|
||||||
</select>
|
|
||||||
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
|
|
||||||
delete from operating_log
|
|
||||||
where id = #{id,jdbcType=VARCHAR}
|
|
||||||
</delete>
|
|
||||||
<delete id="deleteByExample" parameterType="io.metersphere.system.domain.OperatingLogExample">
|
|
||||||
delete from operating_log
|
|
||||||
<if test="_parameter != null">
|
|
||||||
<include refid="Example_Where_Clause" />
|
|
||||||
</if>
|
|
||||||
</delete>
|
|
||||||
<insert id="insert" parameterType="io.metersphere.system.domain.OperatingLog">
|
|
||||||
insert into operating_log (id, project_id, oper_method,
|
|
||||||
create_user, oper_user, source_id,
|
|
||||||
oper_type, oper_module, oper_title,
|
|
||||||
oper_path, oper_time, oper_content,
|
|
||||||
oper_params)
|
|
||||||
values (#{id,jdbcType=VARCHAR}, #{projectId,jdbcType=VARCHAR}, #{operMethod,jdbcType=VARCHAR},
|
|
||||||
#{createUser,jdbcType=VARCHAR}, #{operUser,jdbcType=VARCHAR}, #{sourceId,jdbcType=VARCHAR},
|
|
||||||
#{operType,jdbcType=VARCHAR}, #{operModule,jdbcType=VARCHAR}, #{operTitle,jdbcType=VARCHAR},
|
|
||||||
#{operPath,jdbcType=VARCHAR}, #{operTime,jdbcType=BIGINT}, #{operContent,jdbcType=LONGVARBINARY},
|
|
||||||
#{operParams,jdbcType=LONGVARBINARY})
|
|
||||||
</insert>
|
|
||||||
<insert id="insertSelective" parameterType="io.metersphere.system.domain.OperatingLog">
|
|
||||||
insert into operating_log
|
|
||||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
||||||
<if test="id != null">
|
|
||||||
id,
|
|
||||||
</if>
|
|
||||||
<if test="projectId != null">
|
|
||||||
project_id,
|
|
||||||
</if>
|
|
||||||
<if test="operMethod != null">
|
|
||||||
oper_method,
|
|
||||||
</if>
|
|
||||||
<if test="createUser != null">
|
|
||||||
create_user,
|
|
||||||
</if>
|
|
||||||
<if test="operUser != null">
|
|
||||||
oper_user,
|
|
||||||
</if>
|
|
||||||
<if test="sourceId != null">
|
|
||||||
source_id,
|
|
||||||
</if>
|
|
||||||
<if test="operType != null">
|
|
||||||
oper_type,
|
|
||||||
</if>
|
|
||||||
<if test="operModule != null">
|
|
||||||
oper_module,
|
|
||||||
</if>
|
|
||||||
<if test="operTitle != null">
|
|
||||||
oper_title,
|
|
||||||
</if>
|
|
||||||
<if test="operPath != null">
|
|
||||||
oper_path,
|
|
||||||
</if>
|
|
||||||
<if test="operTime != null">
|
|
||||||
oper_time,
|
|
||||||
</if>
|
|
||||||
<if test="operContent != null">
|
|
||||||
oper_content,
|
|
||||||
</if>
|
|
||||||
<if test="operParams != null">
|
|
||||||
oper_params,
|
|
||||||
</if>
|
|
||||||
</trim>
|
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
|
||||||
<if test="id != null">
|
|
||||||
#{id,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="projectId != null">
|
|
||||||
#{projectId,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="operMethod != null">
|
|
||||||
#{operMethod,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="createUser != null">
|
|
||||||
#{createUser,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="operUser != null">
|
|
||||||
#{operUser,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="sourceId != null">
|
|
||||||
#{sourceId,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="operType != null">
|
|
||||||
#{operType,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="operModule != null">
|
|
||||||
#{operModule,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="operTitle != null">
|
|
||||||
#{operTitle,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="operPath != null">
|
|
||||||
#{operPath,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="operTime != null">
|
|
||||||
#{operTime,jdbcType=BIGINT},
|
|
||||||
</if>
|
|
||||||
<if test="operContent != null">
|
|
||||||
#{operContent,jdbcType=LONGVARBINARY},
|
|
||||||
</if>
|
|
||||||
<if test="operParams != null">
|
|
||||||
#{operParams,jdbcType=LONGVARBINARY},
|
|
||||||
</if>
|
|
||||||
</trim>
|
|
||||||
</insert>
|
|
||||||
<select id="countByExample" parameterType="io.metersphere.system.domain.OperatingLogExample" resultType="java.lang.Long">
|
|
||||||
select count(*) from operating_log
|
|
||||||
<if test="_parameter != null">
|
|
||||||
<include refid="Example_Where_Clause" />
|
|
||||||
</if>
|
|
||||||
</select>
|
|
||||||
<update id="updateByExampleSelective" parameterType="map">
|
|
||||||
update operating_log
|
|
||||||
<set>
|
|
||||||
<if test="record.id != null">
|
|
||||||
id = #{record.id,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="record.projectId != null">
|
|
||||||
project_id = #{record.projectId,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="record.operMethod != null">
|
|
||||||
oper_method = #{record.operMethod,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="record.createUser != null">
|
|
||||||
create_user = #{record.createUser,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="record.operUser != null">
|
|
||||||
oper_user = #{record.operUser,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="record.sourceId != null">
|
|
||||||
source_id = #{record.sourceId,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="record.operType != null">
|
|
||||||
oper_type = #{record.operType,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="record.operModule != null">
|
|
||||||
oper_module = #{record.operModule,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="record.operTitle != null">
|
|
||||||
oper_title = #{record.operTitle,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="record.operPath != null">
|
|
||||||
oper_path = #{record.operPath,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="record.operTime != null">
|
|
||||||
oper_time = #{record.operTime,jdbcType=BIGINT},
|
|
||||||
</if>
|
|
||||||
<if test="record.operContent != null">
|
|
||||||
oper_content = #{record.operContent,jdbcType=LONGVARBINARY},
|
|
||||||
</if>
|
|
||||||
<if test="record.operParams != null">
|
|
||||||
oper_params = #{record.operParams,jdbcType=LONGVARBINARY},
|
|
||||||
</if>
|
|
||||||
</set>
|
|
||||||
<if test="_parameter != null">
|
|
||||||
<include refid="Update_By_Example_Where_Clause" />
|
|
||||||
</if>
|
|
||||||
</update>
|
|
||||||
<update id="updateByExampleWithBLOBs" parameterType="map">
|
|
||||||
update operating_log
|
|
||||||
set id = #{record.id,jdbcType=VARCHAR},
|
|
||||||
project_id = #{record.projectId,jdbcType=VARCHAR},
|
|
||||||
oper_method = #{record.operMethod,jdbcType=VARCHAR},
|
|
||||||
create_user = #{record.createUser,jdbcType=VARCHAR},
|
|
||||||
oper_user = #{record.operUser,jdbcType=VARCHAR},
|
|
||||||
source_id = #{record.sourceId,jdbcType=VARCHAR},
|
|
||||||
oper_type = #{record.operType,jdbcType=VARCHAR},
|
|
||||||
oper_module = #{record.operModule,jdbcType=VARCHAR},
|
|
||||||
oper_title = #{record.operTitle,jdbcType=VARCHAR},
|
|
||||||
oper_path = #{record.operPath,jdbcType=VARCHAR},
|
|
||||||
oper_time = #{record.operTime,jdbcType=BIGINT},
|
|
||||||
oper_content = #{record.operContent,jdbcType=LONGVARBINARY},
|
|
||||||
oper_params = #{record.operParams,jdbcType=LONGVARBINARY}
|
|
||||||
<if test="_parameter != null">
|
|
||||||
<include refid="Update_By_Example_Where_Clause" />
|
|
||||||
</if>
|
|
||||||
</update>
|
|
||||||
<update id="updateByExample" parameterType="map">
|
|
||||||
update operating_log
|
|
||||||
set id = #{record.id,jdbcType=VARCHAR},
|
|
||||||
project_id = #{record.projectId,jdbcType=VARCHAR},
|
|
||||||
oper_method = #{record.operMethod,jdbcType=VARCHAR},
|
|
||||||
create_user = #{record.createUser,jdbcType=VARCHAR},
|
|
||||||
oper_user = #{record.operUser,jdbcType=VARCHAR},
|
|
||||||
source_id = #{record.sourceId,jdbcType=VARCHAR},
|
|
||||||
oper_type = #{record.operType,jdbcType=VARCHAR},
|
|
||||||
oper_module = #{record.operModule,jdbcType=VARCHAR},
|
|
||||||
oper_title = #{record.operTitle,jdbcType=VARCHAR},
|
|
||||||
oper_path = #{record.operPath,jdbcType=VARCHAR},
|
|
||||||
oper_time = #{record.operTime,jdbcType=BIGINT}
|
|
||||||
<if test="_parameter != null">
|
|
||||||
<include refid="Update_By_Example_Where_Clause" />
|
|
||||||
</if>
|
|
||||||
</update>
|
|
||||||
<update id="updateByPrimaryKeySelective" parameterType="io.metersphere.system.domain.OperatingLog">
|
|
||||||
update operating_log
|
|
||||||
<set>
|
|
||||||
<if test="projectId != null">
|
|
||||||
project_id = #{projectId,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="operMethod != null">
|
|
||||||
oper_method = #{operMethod,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="createUser != null">
|
|
||||||
create_user = #{createUser,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="operUser != null">
|
|
||||||
oper_user = #{operUser,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="sourceId != null">
|
|
||||||
source_id = #{sourceId,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="operType != null">
|
|
||||||
oper_type = #{operType,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="operModule != null">
|
|
||||||
oper_module = #{operModule,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="operTitle != null">
|
|
||||||
oper_title = #{operTitle,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="operPath != null">
|
|
||||||
oper_path = #{operPath,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="operTime != null">
|
|
||||||
oper_time = #{operTime,jdbcType=BIGINT},
|
|
||||||
</if>
|
|
||||||
<if test="operContent != null">
|
|
||||||
oper_content = #{operContent,jdbcType=LONGVARBINARY},
|
|
||||||
</if>
|
|
||||||
<if test="operParams != null">
|
|
||||||
oper_params = #{operParams,jdbcType=LONGVARBINARY},
|
|
||||||
</if>
|
|
||||||
</set>
|
|
||||||
where id = #{id,jdbcType=VARCHAR}
|
|
||||||
</update>
|
|
||||||
<update id="updateByPrimaryKeyWithBLOBs" parameterType="io.metersphere.system.domain.OperatingLog">
|
|
||||||
update operating_log
|
|
||||||
set project_id = #{projectId,jdbcType=VARCHAR},
|
|
||||||
oper_method = #{operMethod,jdbcType=VARCHAR},
|
|
||||||
create_user = #{createUser,jdbcType=VARCHAR},
|
|
||||||
oper_user = #{operUser,jdbcType=VARCHAR},
|
|
||||||
source_id = #{sourceId,jdbcType=VARCHAR},
|
|
||||||
oper_type = #{operType,jdbcType=VARCHAR},
|
|
||||||
oper_module = #{operModule,jdbcType=VARCHAR},
|
|
||||||
oper_title = #{operTitle,jdbcType=VARCHAR},
|
|
||||||
oper_path = #{operPath,jdbcType=VARCHAR},
|
|
||||||
oper_time = #{operTime,jdbcType=BIGINT},
|
|
||||||
oper_content = #{operContent,jdbcType=LONGVARBINARY},
|
|
||||||
oper_params = #{operParams,jdbcType=LONGVARBINARY}
|
|
||||||
where id = #{id,jdbcType=VARCHAR}
|
|
||||||
</update>
|
|
||||||
<update id="updateByPrimaryKey" parameterType="io.metersphere.system.domain.OperatingLog">
|
|
||||||
update operating_log
|
|
||||||
set project_id = #{projectId,jdbcType=VARCHAR},
|
|
||||||
oper_method = #{operMethod,jdbcType=VARCHAR},
|
|
||||||
create_user = #{createUser,jdbcType=VARCHAR},
|
|
||||||
oper_user = #{operUser,jdbcType=VARCHAR},
|
|
||||||
source_id = #{sourceId,jdbcType=VARCHAR},
|
|
||||||
oper_type = #{operType,jdbcType=VARCHAR},
|
|
||||||
oper_module = #{operModule,jdbcType=VARCHAR},
|
|
||||||
oper_title = #{operTitle,jdbcType=VARCHAR},
|
|
||||||
oper_path = #{operPath,jdbcType=VARCHAR},
|
|
||||||
oper_time = #{operTime,jdbcType=BIGINT}
|
|
||||||
where id = #{id,jdbcType=VARCHAR}
|
|
||||||
</update>
|
|
||||||
</mapper>
|
|
|
@ -1,30 +0,0 @@
|
||||||
package io.metersphere.system.mapper;
|
|
||||||
|
|
||||||
import io.metersphere.system.domain.OperatingLogResource;
|
|
||||||
import io.metersphere.system.domain.OperatingLogResourceExample;
|
|
||||||
import java.util.List;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
public interface OperatingLogResourceMapper {
|
|
||||||
long countByExample(OperatingLogResourceExample example);
|
|
||||||
|
|
||||||
int deleteByExample(OperatingLogResourceExample example);
|
|
||||||
|
|
||||||
int deleteByPrimaryKey(String id);
|
|
||||||
|
|
||||||
int insert(OperatingLogResource record);
|
|
||||||
|
|
||||||
int insertSelective(OperatingLogResource record);
|
|
||||||
|
|
||||||
List<OperatingLogResource> selectByExample(OperatingLogResourceExample example);
|
|
||||||
|
|
||||||
OperatingLogResource selectByPrimaryKey(String id);
|
|
||||||
|
|
||||||
int updateByExampleSelective(@Param("record") OperatingLogResource record, @Param("example") OperatingLogResourceExample example);
|
|
||||||
|
|
||||||
int updateByExample(@Param("record") OperatingLogResource record, @Param("example") OperatingLogResourceExample example);
|
|
||||||
|
|
||||||
int updateByPrimaryKeySelective(OperatingLogResource record);
|
|
||||||
|
|
||||||
int updateByPrimaryKey(OperatingLogResource record);
|
|
||||||
}
|
|
|
@ -1,181 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
||||||
<mapper namespace="io.metersphere.system.mapper.OperatingLogResourceMapper">
|
|
||||||
<resultMap id="BaseResultMap" type="io.metersphere.system.domain.OperatingLogResource">
|
|
||||||
<id column="id" jdbcType="VARCHAR" property="id" />
|
|
||||||
<result column="operating_log_id" jdbcType="VARCHAR" property="operatingLogId" />
|
|
||||||
<result column="source_id" jdbcType="VARCHAR" property="sourceId" />
|
|
||||||
</resultMap>
|
|
||||||
<sql id="Example_Where_Clause">
|
|
||||||
<where>
|
|
||||||
<foreach collection="oredCriteria" item="criteria" separator="or">
|
|
||||||
<if test="criteria.valid">
|
|
||||||
<trim prefix="(" prefixOverrides="and" suffix=")">
|
|
||||||
<foreach collection="criteria.criteria" item="criterion">
|
|
||||||
<choose>
|
|
||||||
<when test="criterion.noValue">
|
|
||||||
and ${criterion.condition}
|
|
||||||
</when>
|
|
||||||
<when test="criterion.singleValue">
|
|
||||||
and ${criterion.condition} #{criterion.value}
|
|
||||||
</when>
|
|
||||||
<when test="criterion.betweenValue">
|
|
||||||
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
|
|
||||||
</when>
|
|
||||||
<when test="criterion.listValue">
|
|
||||||
and ${criterion.condition}
|
|
||||||
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
|
|
||||||
#{listItem}
|
|
||||||
</foreach>
|
|
||||||
</when>
|
|
||||||
</choose>
|
|
||||||
</foreach>
|
|
||||||
</trim>
|
|
||||||
</if>
|
|
||||||
</foreach>
|
|
||||||
</where>
|
|
||||||
</sql>
|
|
||||||
<sql id="Update_By_Example_Where_Clause">
|
|
||||||
<where>
|
|
||||||
<foreach collection="example.oredCriteria" item="criteria" separator="or">
|
|
||||||
<if test="criteria.valid">
|
|
||||||
<trim prefix="(" prefixOverrides="and" suffix=")">
|
|
||||||
<foreach collection="criteria.criteria" item="criterion">
|
|
||||||
<choose>
|
|
||||||
<when test="criterion.noValue">
|
|
||||||
and ${criterion.condition}
|
|
||||||
</when>
|
|
||||||
<when test="criterion.singleValue">
|
|
||||||
and ${criterion.condition} #{criterion.value}
|
|
||||||
</when>
|
|
||||||
<when test="criterion.betweenValue">
|
|
||||||
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
|
|
||||||
</when>
|
|
||||||
<when test="criterion.listValue">
|
|
||||||
and ${criterion.condition}
|
|
||||||
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
|
|
||||||
#{listItem}
|
|
||||||
</foreach>
|
|
||||||
</when>
|
|
||||||
</choose>
|
|
||||||
</foreach>
|
|
||||||
</trim>
|
|
||||||
</if>
|
|
||||||
</foreach>
|
|
||||||
</where>
|
|
||||||
</sql>
|
|
||||||
<sql id="Base_Column_List">
|
|
||||||
id, operating_log_id, source_id
|
|
||||||
</sql>
|
|
||||||
<select id="selectByExample" parameterType="io.metersphere.system.domain.OperatingLogResourceExample" resultMap="BaseResultMap">
|
|
||||||
select
|
|
||||||
<if test="distinct">
|
|
||||||
distinct
|
|
||||||
</if>
|
|
||||||
<include refid="Base_Column_List" />
|
|
||||||
from operating_log_resource
|
|
||||||
<if test="_parameter != null">
|
|
||||||
<include refid="Example_Where_Clause" />
|
|
||||||
</if>
|
|
||||||
<if test="orderByClause != null">
|
|
||||||
order by ${orderByClause}
|
|
||||||
</if>
|
|
||||||
</select>
|
|
||||||
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
|
|
||||||
select
|
|
||||||
<include refid="Base_Column_List" />
|
|
||||||
from operating_log_resource
|
|
||||||
where id = #{id,jdbcType=VARCHAR}
|
|
||||||
</select>
|
|
||||||
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
|
|
||||||
delete from operating_log_resource
|
|
||||||
where id = #{id,jdbcType=VARCHAR}
|
|
||||||
</delete>
|
|
||||||
<delete id="deleteByExample" parameterType="io.metersphere.system.domain.OperatingLogResourceExample">
|
|
||||||
delete from operating_log_resource
|
|
||||||
<if test="_parameter != null">
|
|
||||||
<include refid="Example_Where_Clause" />
|
|
||||||
</if>
|
|
||||||
</delete>
|
|
||||||
<insert id="insert" parameterType="io.metersphere.system.domain.OperatingLogResource">
|
|
||||||
insert into operating_log_resource (id, operating_log_id, source_id
|
|
||||||
)
|
|
||||||
values (#{id,jdbcType=VARCHAR}, #{operatingLogId,jdbcType=VARCHAR}, #{sourceId,jdbcType=VARCHAR}
|
|
||||||
)
|
|
||||||
</insert>
|
|
||||||
<insert id="insertSelective" parameterType="io.metersphere.system.domain.OperatingLogResource">
|
|
||||||
insert into operating_log_resource
|
|
||||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
||||||
<if test="id != null">
|
|
||||||
id,
|
|
||||||
</if>
|
|
||||||
<if test="operatingLogId != null">
|
|
||||||
operating_log_id,
|
|
||||||
</if>
|
|
||||||
<if test="sourceId != null">
|
|
||||||
source_id,
|
|
||||||
</if>
|
|
||||||
</trim>
|
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
|
||||||
<if test="id != null">
|
|
||||||
#{id,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="operatingLogId != null">
|
|
||||||
#{operatingLogId,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="sourceId != null">
|
|
||||||
#{sourceId,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
</trim>
|
|
||||||
</insert>
|
|
||||||
<select id="countByExample" parameterType="io.metersphere.system.domain.OperatingLogResourceExample" resultType="java.lang.Long">
|
|
||||||
select count(*) from operating_log_resource
|
|
||||||
<if test="_parameter != null">
|
|
||||||
<include refid="Example_Where_Clause" />
|
|
||||||
</if>
|
|
||||||
</select>
|
|
||||||
<update id="updateByExampleSelective" parameterType="map">
|
|
||||||
update operating_log_resource
|
|
||||||
<set>
|
|
||||||
<if test="record.id != null">
|
|
||||||
id = #{record.id,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="record.operatingLogId != null">
|
|
||||||
operating_log_id = #{record.operatingLogId,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="record.sourceId != null">
|
|
||||||
source_id = #{record.sourceId,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
</set>
|
|
||||||
<if test="_parameter != null">
|
|
||||||
<include refid="Update_By_Example_Where_Clause" />
|
|
||||||
</if>
|
|
||||||
</update>
|
|
||||||
<update id="updateByExample" parameterType="map">
|
|
||||||
update operating_log_resource
|
|
||||||
set id = #{record.id,jdbcType=VARCHAR},
|
|
||||||
operating_log_id = #{record.operatingLogId,jdbcType=VARCHAR},
|
|
||||||
source_id = #{record.sourceId,jdbcType=VARCHAR}
|
|
||||||
<if test="_parameter != null">
|
|
||||||
<include refid="Update_By_Example_Where_Clause" />
|
|
||||||
</if>
|
|
||||||
</update>
|
|
||||||
<update id="updateByPrimaryKeySelective" parameterType="io.metersphere.system.domain.OperatingLogResource">
|
|
||||||
update operating_log_resource
|
|
||||||
<set>
|
|
||||||
<if test="operatingLogId != null">
|
|
||||||
operating_log_id = #{operatingLogId,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="sourceId != null">
|
|
||||||
source_id = #{sourceId,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
</set>
|
|
||||||
where id = #{id,jdbcType=VARCHAR}
|
|
||||||
</update>
|
|
||||||
<update id="updateByPrimaryKey" parameterType="io.metersphere.system.domain.OperatingLogResource">
|
|
||||||
update operating_log_resource
|
|
||||||
set operating_log_id = #{operatingLogId,jdbcType=VARCHAR},
|
|
||||||
source_id = #{sourceId,jdbcType=VARCHAR}
|
|
||||||
where id = #{id,jdbcType=VARCHAR}
|
|
||||||
</update>
|
|
||||||
</mapper>
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
package io.metersphere.system.mapper;
|
||||||
|
|
||||||
|
import io.metersphere.system.domain.OperationLog;
|
||||||
|
import io.metersphere.system.domain.OperationLogExample;
|
||||||
|
import java.util.List;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
public interface OperationLogMapper {
|
||||||
|
long countByExample(OperationLogExample example);
|
||||||
|
|
||||||
|
int deleteByExample(OperationLogExample example);
|
||||||
|
|
||||||
|
int deleteByPrimaryKey(String id);
|
||||||
|
|
||||||
|
int insert(OperationLog record);
|
||||||
|
|
||||||
|
int insertSelective(OperationLog record);
|
||||||
|
|
||||||
|
List<OperationLog> selectByExample(OperationLogExample example);
|
||||||
|
|
||||||
|
OperationLog selectByPrimaryKey(String id);
|
||||||
|
|
||||||
|
int updateByExampleSelective(@Param("record") OperationLog record, @Param("example") OperationLogExample example);
|
||||||
|
|
||||||
|
int updateByExample(@Param("record") OperationLog record, @Param("example") OperationLogExample example);
|
||||||
|
|
||||||
|
int updateByPrimaryKeySelective(OperationLog record);
|
||||||
|
|
||||||
|
int updateByPrimaryKey(OperationLog record);
|
||||||
|
}
|
|
@ -0,0 +1,291 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="io.metersphere.system.mapper.OperationLogMapper">
|
||||||
|
<resultMap id="BaseResultMap" type="io.metersphere.system.domain.OperationLog">
|
||||||
|
<id column="id" jdbcType="VARCHAR" property="id" />
|
||||||
|
<result column="project_id" jdbcType="VARCHAR" property="projectId" />
|
||||||
|
<result column="create_time" jdbcType="BIGINT" property="createTime" />
|
||||||
|
<result column="create_user" jdbcType="VARCHAR" property="createUser" />
|
||||||
|
<result column="source_id" jdbcType="VARCHAR" property="sourceId" />
|
||||||
|
<result column="method" jdbcType="VARCHAR" property="method" />
|
||||||
|
<result column="type" jdbcType="VARCHAR" property="type" />
|
||||||
|
<result column="module" jdbcType="VARCHAR" property="module" />
|
||||||
|
<result column="details" jdbcType="VARCHAR" property="details" />
|
||||||
|
<result column="path" jdbcType="VARCHAR" property="path" />
|
||||||
|
</resultMap>
|
||||||
|
<sql id="Example_Where_Clause">
|
||||||
|
<where>
|
||||||
|
<foreach collection="oredCriteria" item="criteria" separator="or">
|
||||||
|
<if test="criteria.valid">
|
||||||
|
<trim prefix="(" prefixOverrides="and" suffix=")">
|
||||||
|
<foreach collection="criteria.criteria" item="criterion">
|
||||||
|
<choose>
|
||||||
|
<when test="criterion.noValue">
|
||||||
|
and ${criterion.condition}
|
||||||
|
</when>
|
||||||
|
<when test="criterion.singleValue">
|
||||||
|
and ${criterion.condition} #{criterion.value}
|
||||||
|
</when>
|
||||||
|
<when test="criterion.betweenValue">
|
||||||
|
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
|
||||||
|
</when>
|
||||||
|
<when test="criterion.listValue">
|
||||||
|
and ${criterion.condition}
|
||||||
|
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
|
||||||
|
#{listItem}
|
||||||
|
</foreach>
|
||||||
|
</when>
|
||||||
|
</choose>
|
||||||
|
</foreach>
|
||||||
|
</trim>
|
||||||
|
</if>
|
||||||
|
</foreach>
|
||||||
|
</where>
|
||||||
|
</sql>
|
||||||
|
<sql id="Update_By_Example_Where_Clause">
|
||||||
|
<where>
|
||||||
|
<foreach collection="example.oredCriteria" item="criteria" separator="or">
|
||||||
|
<if test="criteria.valid">
|
||||||
|
<trim prefix="(" prefixOverrides="and" suffix=")">
|
||||||
|
<foreach collection="criteria.criteria" item="criterion">
|
||||||
|
<choose>
|
||||||
|
<when test="criterion.noValue">
|
||||||
|
and ${criterion.condition}
|
||||||
|
</when>
|
||||||
|
<when test="criterion.singleValue">
|
||||||
|
and ${criterion.condition} #{criterion.value}
|
||||||
|
</when>
|
||||||
|
<when test="criterion.betweenValue">
|
||||||
|
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
|
||||||
|
</when>
|
||||||
|
<when test="criterion.listValue">
|
||||||
|
and ${criterion.condition}
|
||||||
|
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
|
||||||
|
#{listItem}
|
||||||
|
</foreach>
|
||||||
|
</when>
|
||||||
|
</choose>
|
||||||
|
</foreach>
|
||||||
|
</trim>
|
||||||
|
</if>
|
||||||
|
</foreach>
|
||||||
|
</where>
|
||||||
|
</sql>
|
||||||
|
<sql id="Base_Column_List">
|
||||||
|
id, project_id, create_time, create_user, source_id, `method`, `type`, `module`,
|
||||||
|
details, `path`
|
||||||
|
</sql>
|
||||||
|
<select id="selectByExample" parameterType="io.metersphere.system.domain.OperationLogExample" resultMap="BaseResultMap">
|
||||||
|
select
|
||||||
|
<if test="distinct">
|
||||||
|
distinct
|
||||||
|
</if>
|
||||||
|
<include refid="Base_Column_List" />
|
||||||
|
from operation_log
|
||||||
|
<if test="_parameter != null">
|
||||||
|
<include refid="Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
<if test="orderByClause != null">
|
||||||
|
order by ${orderByClause}
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
|
||||||
|
select
|
||||||
|
<include refid="Base_Column_List" />
|
||||||
|
from operation_log
|
||||||
|
where id = #{id,jdbcType=VARCHAR}
|
||||||
|
</select>
|
||||||
|
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
|
||||||
|
delete from operation_log
|
||||||
|
where id = #{id,jdbcType=VARCHAR}
|
||||||
|
</delete>
|
||||||
|
<delete id="deleteByExample" parameterType="io.metersphere.system.domain.OperationLogExample">
|
||||||
|
delete from operation_log
|
||||||
|
<if test="_parameter != null">
|
||||||
|
<include refid="Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
</delete>
|
||||||
|
<insert id="insert" parameterType="io.metersphere.system.domain.OperationLog">
|
||||||
|
insert into operation_log (id, project_id, create_time,
|
||||||
|
create_user, source_id, `method`,
|
||||||
|
`type`, `module`, details,
|
||||||
|
`path`)
|
||||||
|
values (#{id,jdbcType=VARCHAR}, #{projectId,jdbcType=VARCHAR}, #{createTime,jdbcType=BIGINT},
|
||||||
|
#{createUser,jdbcType=VARCHAR}, #{sourceId,jdbcType=VARCHAR}, #{method,jdbcType=VARCHAR},
|
||||||
|
#{type,jdbcType=VARCHAR}, #{module,jdbcType=VARCHAR}, #{details,jdbcType=VARCHAR},
|
||||||
|
#{path,jdbcType=VARCHAR})
|
||||||
|
</insert>
|
||||||
|
<insert id="insertSelective" parameterType="io.metersphere.system.domain.OperationLog">
|
||||||
|
insert into operation_log
|
||||||
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="id != null">
|
||||||
|
id,
|
||||||
|
</if>
|
||||||
|
<if test="projectId != null">
|
||||||
|
project_id,
|
||||||
|
</if>
|
||||||
|
<if test="createTime != null">
|
||||||
|
create_time,
|
||||||
|
</if>
|
||||||
|
<if test="createUser != null">
|
||||||
|
create_user,
|
||||||
|
</if>
|
||||||
|
<if test="sourceId != null">
|
||||||
|
source_id,
|
||||||
|
</if>
|
||||||
|
<if test="method != null">
|
||||||
|
`method`,
|
||||||
|
</if>
|
||||||
|
<if test="type != null">
|
||||||
|
`type`,
|
||||||
|
</if>
|
||||||
|
<if test="module != null">
|
||||||
|
`module`,
|
||||||
|
</if>
|
||||||
|
<if test="details != null">
|
||||||
|
details,
|
||||||
|
</if>
|
||||||
|
<if test="path != null">
|
||||||
|
`path`,
|
||||||
|
</if>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="id != null">
|
||||||
|
#{id,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="projectId != null">
|
||||||
|
#{projectId,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="createTime != null">
|
||||||
|
#{createTime,jdbcType=BIGINT},
|
||||||
|
</if>
|
||||||
|
<if test="createUser != null">
|
||||||
|
#{createUser,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="sourceId != null">
|
||||||
|
#{sourceId,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="method != null">
|
||||||
|
#{method,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="type != null">
|
||||||
|
#{type,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="module != null">
|
||||||
|
#{module,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="details != null">
|
||||||
|
#{details,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="path != null">
|
||||||
|
#{path,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
</trim>
|
||||||
|
</insert>
|
||||||
|
<select id="countByExample" parameterType="io.metersphere.system.domain.OperationLogExample" resultType="java.lang.Long">
|
||||||
|
select count(*) from operation_log
|
||||||
|
<if test="_parameter != null">
|
||||||
|
<include refid="Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
<update id="updateByExampleSelective" parameterType="map">
|
||||||
|
update operation_log
|
||||||
|
<set>
|
||||||
|
<if test="record.id != null">
|
||||||
|
id = #{record.id,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="record.projectId != null">
|
||||||
|
project_id = #{record.projectId,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="record.createTime != null">
|
||||||
|
create_time = #{record.createTime,jdbcType=BIGINT},
|
||||||
|
</if>
|
||||||
|
<if test="record.createUser != null">
|
||||||
|
create_user = #{record.createUser,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="record.sourceId != null">
|
||||||
|
source_id = #{record.sourceId,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="record.method != null">
|
||||||
|
`method` = #{record.method,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="record.type != null">
|
||||||
|
`type` = #{record.type,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="record.module != null">
|
||||||
|
`module` = #{record.module,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="record.details != null">
|
||||||
|
details = #{record.details,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="record.path != null">
|
||||||
|
`path` = #{record.path,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
</set>
|
||||||
|
<if test="_parameter != null">
|
||||||
|
<include refid="Update_By_Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
</update>
|
||||||
|
<update id="updateByExample" parameterType="map">
|
||||||
|
update operation_log
|
||||||
|
set id = #{record.id,jdbcType=VARCHAR},
|
||||||
|
project_id = #{record.projectId,jdbcType=VARCHAR},
|
||||||
|
create_time = #{record.createTime,jdbcType=BIGINT},
|
||||||
|
create_user = #{record.createUser,jdbcType=VARCHAR},
|
||||||
|
source_id = #{record.sourceId,jdbcType=VARCHAR},
|
||||||
|
`method` = #{record.method,jdbcType=VARCHAR},
|
||||||
|
`type` = #{record.type,jdbcType=VARCHAR},
|
||||||
|
`module` = #{record.module,jdbcType=VARCHAR},
|
||||||
|
details = #{record.details,jdbcType=VARCHAR},
|
||||||
|
`path` = #{record.path,jdbcType=VARCHAR}
|
||||||
|
<if test="_parameter != null">
|
||||||
|
<include refid="Update_By_Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
</update>
|
||||||
|
<update id="updateByPrimaryKeySelective" parameterType="io.metersphere.system.domain.OperationLog">
|
||||||
|
update operation_log
|
||||||
|
<set>
|
||||||
|
<if test="projectId != null">
|
||||||
|
project_id = #{projectId,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="createTime != null">
|
||||||
|
create_time = #{createTime,jdbcType=BIGINT},
|
||||||
|
</if>
|
||||||
|
<if test="createUser != null">
|
||||||
|
create_user = #{createUser,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="sourceId != null">
|
||||||
|
source_id = #{sourceId,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="method != null">
|
||||||
|
`method` = #{method,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="type != null">
|
||||||
|
`type` = #{type,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="module != null">
|
||||||
|
`module` = #{module,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="details != null">
|
||||||
|
details = #{details,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="path != null">
|
||||||
|
`path` = #{path,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
</set>
|
||||||
|
where id = #{id,jdbcType=VARCHAR}
|
||||||
|
</update>
|
||||||
|
<update id="updateByPrimaryKey" parameterType="io.metersphere.system.domain.OperationLog">
|
||||||
|
update operation_log
|
||||||
|
set project_id = #{projectId,jdbcType=VARCHAR},
|
||||||
|
create_time = #{createTime,jdbcType=BIGINT},
|
||||||
|
create_user = #{createUser,jdbcType=VARCHAR},
|
||||||
|
source_id = #{sourceId,jdbcType=VARCHAR},
|
||||||
|
`method` = #{method,jdbcType=VARCHAR},
|
||||||
|
`type` = #{type,jdbcType=VARCHAR},
|
||||||
|
`module` = #{module,jdbcType=VARCHAR},
|
||||||
|
details = #{details,jdbcType=VARCHAR},
|
||||||
|
`path` = #{path,jdbcType=VARCHAR}
|
||||||
|
where id = #{id,jdbcType=VARCHAR}
|
||||||
|
</update>
|
||||||
|
</mapper>
|
|
@ -120,46 +120,29 @@ CREATE TABLE novice_statistics
|
||||||
DEFAULT CHARSET = utf8mb4
|
DEFAULT CHARSET = utf8mb4
|
||||||
COLLATE = utf8mb4_general_ci COMMENT = '新手村';
|
COLLATE = utf8mb4_general_ci COMMENT = '新手村';
|
||||||
|
|
||||||
DROP TABLE IF EXISTS operating_log;
|
DROP TABLE IF EXISTS operation_log;
|
||||||
CREATE TABLE operating_log
|
CREATE TABLE operation_log(
|
||||||
(
|
`id` VARCHAR(50) NOT NULL COMMENT '主键' ,
|
||||||
`id` VARCHAR(50) NOT NULL COMMENT 'ID',
|
`project_id` VARCHAR(50) NOT NULL DEFAULT 'NONE' COMMENT '项目id' ,
|
||||||
`project_id` VARCHAR(50) NOT NULL COMMENT '项目ID',
|
`create_time` BIGINT NOT NULL COMMENT '操作时间' ,
|
||||||
`oper_method` VARCHAR(500) COMMENT 'operating method',
|
`create_user` VARCHAR(50) COMMENT '操作人' ,
|
||||||
`create_user` VARCHAR(100) COMMENT '创建人',
|
`source_id` VARCHAR(50) COMMENT '资源id' ,
|
||||||
`oper_user` VARCHAR(50) COMMENT '操作人',
|
`method` VARCHAR(255) NOT NULL COMMENT '操作方法' ,
|
||||||
`source_id` VARCHAR(6000) COMMENT '资源ID',
|
`type` VARCHAR(20) NOT NULL COMMENT '操作类型/add/update/delete' ,
|
||||||
`oper_type` VARCHAR(100) COMMENT '操作类型',
|
`module` VARCHAR(20) COMMENT '操作模块/api/case/scenario/ui' ,
|
||||||
`oper_module` VARCHAR(100) COMMENT '操作模块',
|
`details` VARCHAR(1000) COMMENT '操作详情' ,
|
||||||
`oper_title` VARCHAR(6000) COMMENT '操作标题',
|
`path` VARCHAR(255) COMMENT '操作路径' ,
|
||||||
`oper_path` VARCHAR(500) COMMENT '操作路径',
|
PRIMARY KEY (id)
|
||||||
`oper_content` LONGBLOB COMMENT '操作内容',
|
|
||||||
`oper_params` LONGBLOB COMMENT '操作参数',
|
|
||||||
`oper_time` BIGINT NOT NULL COMMENT '操作时间',
|
|
||||||
PRIMARY KEY (id)
|
|
||||||
) ENGINE = InnoDB
|
) ENGINE = InnoDB
|
||||||
DEFAULT CHARSET = utf8mb4
|
DEFAULT CHARSET = utf8mb4
|
||||||
COLLATE = utf8mb4_general_ci COMMENT = '操作日志';
|
COLLATE = utf8mb4_general_ci COMMENT = '操作日志';
|
||||||
|
|
||||||
|
CREATE INDEX idx_create_time ON operation_log(`create_time`);
|
||||||
CREATE INDEX idx_oper_module ON operating_log (`oper_module`);
|
CREATE INDEX idx_create_user ON operation_log(`create_user`);
|
||||||
CREATE INDEX idx_oper_project_id ON operating_log (`project_id`);
|
CREATE INDEX idx_method ON operation_log(`method`);
|
||||||
CREATE INDEX idx_oper_time_index ON operating_log (`oper_time`);
|
CREATE INDEX idx_module ON operation_log(`module`);
|
||||||
|
CREATE INDEX idx_project_id ON operation_log(`project_id`);
|
||||||
DROP TABLE IF EXISTS operating_log_resource;
|
CREATE INDEX idx_type ON operation_log(`type`);
|
||||||
CREATE TABLE operating_log_resource
|
|
||||||
(
|
|
||||||
`id` VARCHAR(50) NOT NULL COMMENT 'ID',
|
|
||||||
`operating_log_id` VARCHAR(50) NOT NULL COMMENT 'Operating log ID',
|
|
||||||
`source_id` VARCHAR(50) NOT NULL COMMENT 'operating source id',
|
|
||||||
PRIMARY KEY (id)
|
|
||||||
) ENGINE = InnoDB
|
|
||||||
DEFAULT CHARSET = utf8mb4
|
|
||||||
COLLATE = utf8mb4_general_ci COMMENT = '操作日志关系记录';
|
|
||||||
|
|
||||||
|
|
||||||
CREATE INDEX operating_log_id_index ON operating_log_resource (`operating_log_id`);
|
|
||||||
CREATE INDEX source_id_index ON operating_log_resource (`source_id`);
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS plugin;
|
DROP TABLE IF EXISTS plugin;
|
||||||
CREATE TABLE plugin
|
CREATE TABLE plugin
|
||||||
|
|
|
@ -18,8 +18,6 @@ public class SystemInterceptor {
|
||||||
configList.add(new MybatisInterceptorConfig(TestResource.class, "configuration", CompressUtils.class, "zip", "unzip"));
|
configList.add(new MybatisInterceptorConfig(TestResource.class, "configuration", CompressUtils.class, "zip", "unzip"));
|
||||||
configList.add(new MybatisInterceptorConfig(AuthSource.class, "configuration", CompressUtils.class, "zip", "unzip"));
|
configList.add(new MybatisInterceptorConfig(AuthSource.class, "configuration", CompressUtils.class, "zip", "unzip"));
|
||||||
configList.add(new MybatisInterceptorConfig(NoviceStatistics.class, "dataOption", CompressUtils.class, "zip", "unzip"));
|
configList.add(new MybatisInterceptorConfig(NoviceStatistics.class, "dataOption", CompressUtils.class, "zip", "unzip"));
|
||||||
configList.add(new MybatisInterceptorConfig(OperatingLog.class, "operContent", CompressUtils.class, "zip", "unzip"));
|
|
||||||
configList.add(new MybatisInterceptorConfig(OperatingLog.class, "operParams", CompressUtils.class, "zip", "unzip"));
|
|
||||||
configList.add(new MybatisInterceptorConfig(PluginBlob.class, "formOption", CompressUtils.class, "zip", "unzip"));
|
configList.add(new MybatisInterceptorConfig(PluginBlob.class, "formOption", CompressUtils.class, "zip", "unzip"));
|
||||||
configList.add(new MybatisInterceptorConfig(PluginBlob.class, "formScript", CompressUtils.class, "zip", "unzip"));
|
configList.add(new MybatisInterceptorConfig(PluginBlob.class, "formScript", CompressUtils.class, "zip", "unzip"));
|
||||||
configList.add(new MybatisInterceptorConfig(ServiceIntegration.class, "configuration", CompressUtils.class, "zip", "unzip"));
|
configList.add(new MybatisInterceptorConfig(ServiceIntegration.class, "configuration", CompressUtils.class, "zip", "unzip"));
|
||||||
|
|
|
@ -0,0 +1,76 @@
|
||||||
|
package io.metersphere.sdk.log.annotation;
|
||||||
|
|
||||||
|
import io.metersphere.sdk.log.constants.OperationLogModule;
|
||||||
|
import io.metersphere.sdk.log.constants.OperationLogType;
|
||||||
|
|
||||||
|
import java.lang.annotation.*;
|
||||||
|
|
||||||
|
@Target({ElementType.TYPE, ElementType.METHOD})
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@Documented
|
||||||
|
/**
|
||||||
|
* 操作日志注解类
|
||||||
|
* @author mr.zhao
|
||||||
|
*/
|
||||||
|
public @interface RequestLog {
|
||||||
|
/**
|
||||||
|
* 功能模块
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
String module() default OperationLogModule.UNKNOWN_MODULE;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
String projectId() default "default";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 操作类型
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
OperationLogType type() default OperationLogType.SELECT;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 资源ID
|
||||||
|
*/
|
||||||
|
String sourceId() default "";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建用户
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
String createUser() default "";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 操作内容
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
String details() default "";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否是批量删除操作
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
boolean isBatch() default false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 操作前触发内容
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
String event() default "";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 传入执行类
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Class[] msClass() default {};
|
||||||
|
}
|
|
@ -0,0 +1,216 @@
|
||||||
|
package io.metersphere.sdk.log.aspect;
|
||||||
|
|
||||||
|
import io.metersphere.sdk.log.annotation.RequestLog;
|
||||||
|
import io.metersphere.sdk.log.service.OperationLogService;
|
||||||
|
import io.metersphere.sdk.util.LogUtils;
|
||||||
|
import io.metersphere.sdk.util.SessionUtils;
|
||||||
|
import io.metersphere.system.domain.OperationLog;
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.aspectj.lang.JoinPoint;
|
||||||
|
import org.aspectj.lang.annotation.AfterReturning;
|
||||||
|
import org.aspectj.lang.annotation.Aspect;
|
||||||
|
import org.aspectj.lang.annotation.Before;
|
||||||
|
import org.aspectj.lang.annotation.Pointcut;
|
||||||
|
import org.aspectj.lang.reflect.MethodSignature;
|
||||||
|
import org.springframework.context.ApplicationContext;
|
||||||
|
import org.springframework.core.StandardReflectionParameterNameDiscoverer;
|
||||||
|
import org.springframework.expression.EvaluationContext;
|
||||||
|
import org.springframework.expression.Expression;
|
||||||
|
import org.springframework.expression.ExpressionParser;
|
||||||
|
import org.springframework.expression.spel.standard.SpelExpressionParser;
|
||||||
|
import org.springframework.expression.spel.support.StandardEvaluationContext;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.web.context.request.RequestContextHolder;
|
||||||
|
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||||
|
|
||||||
|
import java.lang.reflect.Method;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 系统日志:切面处理类
|
||||||
|
*/
|
||||||
|
@Aspect
|
||||||
|
@Component
|
||||||
|
public class OperationLogAspect {
|
||||||
|
/**
|
||||||
|
* 解析spell表达式
|
||||||
|
*/
|
||||||
|
ExpressionParser parser = new SpelExpressionParser();
|
||||||
|
/**
|
||||||
|
* 将方法参数纳入Spring管理
|
||||||
|
*/
|
||||||
|
private final StandardReflectionParameterNameDiscoverer
|
||||||
|
discoverer = new StandardReflectionParameterNameDiscoverer();
|
||||||
|
@Resource
|
||||||
|
private ApplicationContext applicationContext;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private OperationLogService operationLogService;
|
||||||
|
|
||||||
|
private ThreadLocal<List<OperationLog>> beforeValue = new ThreadLocal<>();
|
||||||
|
private ThreadLocal<String> localUser = new ThreadLocal<>();
|
||||||
|
|
||||||
|
private final String[] methodNames = new String[]{"delete", "update", "add"};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 定义切点 @Pointcut 在注解的位置切入代码
|
||||||
|
*/
|
||||||
|
@Pointcut("@annotation(io.metersphere.sdk.log.annotation.RequestLog)")
|
||||||
|
public void logPointCut() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Before("logPointCut()")
|
||||||
|
public void before(JoinPoint joinPoint) {
|
||||||
|
try {
|
||||||
|
//从切面织入点处通过反射机制获取织入点处的方法
|
||||||
|
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
|
||||||
|
//获取切入点所在的方法
|
||||||
|
Method method = signature.getMethod();
|
||||||
|
RequestLog msLog = method.getAnnotation(RequestLog.class);
|
||||||
|
if (msLog != null && StringUtils.isNotEmpty(msLog.event())) {
|
||||||
|
//获取参数对象数组
|
||||||
|
Object[] args = joinPoint.getArgs();
|
||||||
|
//获取方法参数名
|
||||||
|
String[] params = discoverer.getParameterNames(method);
|
||||||
|
//将参数纳入Spring管理
|
||||||
|
EvaluationContext context = new StandardEvaluationContext();
|
||||||
|
for (int len = 0; len < params.length; len++) {
|
||||||
|
context.setVariable(params[len], args[len]);
|
||||||
|
}
|
||||||
|
boolean isNext = false;
|
||||||
|
for (Class clazz : msLog.msClass()) {
|
||||||
|
if (clazz.getName().endsWith("SessionUtils")) {
|
||||||
|
localUser.set(SessionUtils.getUserId());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
context.setVariable("msClass", applicationContext.getBean(clazz));
|
||||||
|
isNext = true;
|
||||||
|
}
|
||||||
|
if (isNext) {
|
||||||
|
Expression expression = parser.parseExpression(msLog.event());
|
||||||
|
List<OperationLog> beforeContent = expression.getValue(context, List.class);
|
||||||
|
beforeValue.set(beforeContent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
LogUtils.error("操作日志写入异常:" + joinPoint.getSignature());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isMatch(String keyword) {
|
||||||
|
return Arrays.stream(methodNames)
|
||||||
|
.anyMatch(input -> input.contains(keyword));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void add(OperationLog operationLog, RequestLog msLog, JoinPoint joinPoint) {
|
||||||
|
//从切面织入点处通过反射机制获取织入点处的方法
|
||||||
|
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
|
||||||
|
//获取切入点所在的方法
|
||||||
|
Method method = signature.getMethod();
|
||||||
|
//获取参数对象数组
|
||||||
|
Object[] args = joinPoint.getArgs();
|
||||||
|
// 操作类型
|
||||||
|
operationLog.setType(msLog.type().name());
|
||||||
|
// 创建用户
|
||||||
|
if (StringUtils.isNotBlank(msLog.createUser())) {
|
||||||
|
operationLog.setCreateUser(msLog.createUser());
|
||||||
|
}
|
||||||
|
// 项目ID
|
||||||
|
operationLog.setProjectId(msLog.projectId());
|
||||||
|
operationLog.setModule(msLog.module());
|
||||||
|
//获取方法参数名
|
||||||
|
String[] params = discoverer.getParameterNames(method);
|
||||||
|
//将参数纳入Spring管理
|
||||||
|
EvaluationContext context = new StandardEvaluationContext();
|
||||||
|
for (int len = 0; len < params.length; len++) {
|
||||||
|
context.setVariable(params[len], args[len]);
|
||||||
|
}
|
||||||
|
for (Class clazz : msLog.msClass()) {
|
||||||
|
context.setVariable("msClass", applicationContext.getBean(clazz));
|
||||||
|
}
|
||||||
|
// 批量编辑操作
|
||||||
|
if (msLog.isBatch()) {
|
||||||
|
operationLogService.batchAdd(beforeValue.get());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// 项目ID表达式
|
||||||
|
try {
|
||||||
|
Expression titleExp = parser.parseExpression(msLog.projectId());
|
||||||
|
String project = titleExp.getValue(context, String.class);
|
||||||
|
operationLog.setProjectId(project);
|
||||||
|
} catch (Exception e) {
|
||||||
|
operationLog.setProjectId(msLog.projectId());
|
||||||
|
}
|
||||||
|
// 标题
|
||||||
|
if (StringUtils.isNotEmpty(msLog.details())) {
|
||||||
|
String details = msLog.details();
|
||||||
|
try {
|
||||||
|
Expression titleExp = parser.parseExpression(details);
|
||||||
|
details = titleExp.getValue(context, String.class);
|
||||||
|
operationLog.setDetails(details);
|
||||||
|
} catch (Exception e) {
|
||||||
|
operationLog.setDetails(details);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 资源ID
|
||||||
|
if (StringUtils.isNotEmpty(msLog.sourceId())) {
|
||||||
|
try {
|
||||||
|
String sourceId = msLog.sourceId();
|
||||||
|
Expression titleExp = parser.parseExpression(sourceId);
|
||||||
|
sourceId = titleExp.getValue(context, String.class);
|
||||||
|
operationLog.setSourceId(sourceId);
|
||||||
|
} catch (Exception e) {
|
||||||
|
operationLog.setSourceId(msLog.sourceId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isBlank(operationLog.getCreateUser())) {
|
||||||
|
operationLog.setCreateUser(localUser.get());
|
||||||
|
}
|
||||||
|
operationLogService.add(operationLog);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 切面 配置通知
|
||||||
|
*/
|
||||||
|
@AfterReturning(value = "logPointCut()", returning = "result")
|
||||||
|
public void saveLog(JoinPoint joinPoint, Object result) {
|
||||||
|
try {
|
||||||
|
//从切面织入点处通过反射机制获取织入点处的方法
|
||||||
|
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
|
||||||
|
//获取切入点所在的方法
|
||||||
|
Method method = signature.getMethod();
|
||||||
|
//保存日志
|
||||||
|
OperationLog operationLog = new OperationLog();
|
||||||
|
//保存获取的操作
|
||||||
|
operationLog.setId(UUID.randomUUID().toString());
|
||||||
|
String className = joinPoint.getTarget().getClass().getName();
|
||||||
|
operationLog.setMethod(StringUtils.join(className, ".", method.getName()));
|
||||||
|
operationLog.setCreateTime(System.currentTimeMillis());
|
||||||
|
operationLog.setCreateUser(SessionUtils.getUserId());
|
||||||
|
HttpServletRequest request = ((ServletRequestAttributes)
|
||||||
|
RequestContextHolder.getRequestAttributes()).getRequest();
|
||||||
|
String path = request.getServletPath();
|
||||||
|
operationLog.setPath(path);
|
||||||
|
|
||||||
|
// 获取操作
|
||||||
|
RequestLog msLog = method.getAnnotation(RequestLog.class);
|
||||||
|
if (msLog != null) {
|
||||||
|
add(operationLog, msLog, joinPoint);
|
||||||
|
}
|
||||||
|
// 兼容遗漏注解的内容
|
||||||
|
else if (isMatch(method.getName())) {
|
||||||
|
operationLogService.add(operationLog);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
LogUtils.error("操作日志写入异常:", e);
|
||||||
|
} finally {
|
||||||
|
localUser.remove();
|
||||||
|
beforeValue.remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,49 @@
|
||||||
|
package io.metersphere.sdk.log.constants;
|
||||||
|
|
||||||
|
public class OperationLogModule {
|
||||||
|
public static final String UNKNOWN_MODULE = "UNKNOWN_MODULE";
|
||||||
|
public static final String SYSTEM_PARAMETER_SETTING = "SYSTEM_PARAMETER_SETTING";
|
||||||
|
public static final String SYSTEM_TEST_RESOURCE = "SYSTEM_TEST_RESOURCE";
|
||||||
|
public static final String SYSTEM_USER = "SYSTEM_USER";
|
||||||
|
public static final String SYSTEM_WORKSPACE = "SYSTEM_WORKSPACE";
|
||||||
|
public static final String WORKSPACE_TEMPLATE_SETTINGS = "WORKSPACE_TEMPLATE_SETTINGS";
|
||||||
|
public static final String WORKSPACE_MESSAGE_SETTINGS = "WORKSPACE_MESSAGE_SETTINGS";
|
||||||
|
public static final String WORKSPACE_TEMPLATE_SETTINGS_FIELD = "WORKSPACE_TEMPLATE_SETTINGS_FIELD";
|
||||||
|
public static final String WORKSPACE_TEMPLATE_SETTINGS_ISSUE = "WORKSPACE_TEMPLATE_SETTINGS_ISSUE";
|
||||||
|
public static final String WORKSPACE_SERVICE_INTEGRATION = "WORKSPACE_SERVICE_INTEGRATION";
|
||||||
|
public static final String WORKSPACE_TEMPLATE_SETTINGS_CASE = "WORKSPACE_TEMPLATE_SETTINGS_CASE";
|
||||||
|
public static final String WORKSPACE_TEMPLATE_SETTINGS_API = "WORKSPACE_TEMPLATE_SETTINGS_API";
|
||||||
|
public static final String WORKSPACE_MEMBER = "WORKSPACE_MEMBER";
|
||||||
|
public static final String API_AUTOMATION = "API_AUTOMATION";
|
||||||
|
public static final String API_AUTOMATION_SCHEDULE = "API_AUTOMATION_SCHEDULE";
|
||||||
|
public static final String API_AUTOMATION_REPORT = "API_AUTOMATION_REPORT";
|
||||||
|
public static final String API_DEFINITION = "API_DEFINITION";
|
||||||
|
public static final String API_DEFINITION_CASE = "API_DEFINITION_CASE";
|
||||||
|
public static final String TRACK_TEST_PLAN = "TRACK_TEST_PLAN";
|
||||||
|
public static final String TRACK_TEST_PLAN_SCHEDULE = "TRACK_TEST_PLAN_SCHEDULE";
|
||||||
|
public static final String TRACK_BUG = "TRACK_BUG";
|
||||||
|
public static final String TRACK_TEST_CASE_REVIEW = "TRACK_TEST_CASE_REVIEW";
|
||||||
|
public static final String TRACK_TEST_CASE = "TRACK_TEST_CASE";
|
||||||
|
public static final String TRACK_REPORT = "TRACK_REPORT";
|
||||||
|
public static final String AUTH_TITLE = "AUTH_TITLE";
|
||||||
|
public static final String PROJECT_PROJECT_JAR = "PROJECT_PROJECT_JAR";
|
||||||
|
public static final String PROJECT_ENVIRONMENT_SETTING = "PROJECT_ENVIRONMENT_SETTING";
|
||||||
|
public static final String PROJECT_PROJECT_MANAGER = "PROJECT_PROJECT_MANAGER";
|
||||||
|
public static final String PROJECT_FILE_MANAGEMENT = "PROJECT_FILE_MANAGEMENT";
|
||||||
|
public static final String PROJECT_TEMPLATE_MANAGEMENT = "PROJECT_TEMPLATE_MANAGEMENT";
|
||||||
|
public static final String PROJECT_PROJECT_MEMBER = "PROJECT_PROJECT_MEMBER";
|
||||||
|
public static final String PERSONAL_INFORMATION_PERSONAL_SETTINGS = "PERSONAL_INFORMATION_PERSONAL_SETTINGS";
|
||||||
|
public static final String PERSONAL_INFORMATION_APIKEYS = "PERSONAL_INFORMATION_APIKEYS";
|
||||||
|
public static final String GROUP_PERMISSION = "GROUP_PERMISSION";
|
||||||
|
public static final String PERFORMANCE_TEST_REPORT = "PERFORMANCE_TEST_REPORT";
|
||||||
|
public static final String PERFORMANCE_TEST = "PERFORMANCE_TEST";
|
||||||
|
public static final String ERROR_REPORT_LIBRARY = "ERROR_REPORT_LIBRARY";
|
||||||
|
public static final String SYSTEM_QUOTA_MANAGEMENT = "SYSTEM_QUOTA_MANAGEMENT";
|
||||||
|
public static final String ENTERPRISE_TEST_REPORT = "ENTERPRISE_TEST_REPORT";
|
||||||
|
public static final String SYSTEM_AUTHORIZATION_MANAGEMENT = "SYSTEM_AUTHORIZATION_MANAGEMENT";
|
||||||
|
public static final String UI_ELEMENT = "UI_ELEMENT";
|
||||||
|
public static final String UI_AUTOMATION = "UI_AUTOMATION";
|
||||||
|
public static final String UI_AUTOMATION_REPORT = "UI_AUTOMATION_REPORT";
|
||||||
|
public static final String UI_AUTOMATION_SCHEDULE = "UI_AUTOMATION_SCHEDULE";
|
||||||
|
public static final String PLUGIN_MANAGE = "PLUGIN_MANAGE";
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
package io.metersphere.sdk.log.constants;
|
||||||
|
|
||||||
|
public enum OperationLogType {
|
||||||
|
ADD,
|
||||||
|
DELETE,
|
||||||
|
UPDATE,
|
||||||
|
DEBUG,
|
||||||
|
REVIEW,
|
||||||
|
COPY,
|
||||||
|
EXECUTE,
|
||||||
|
SHARE,
|
||||||
|
RESTORE,
|
||||||
|
IMPORT,
|
||||||
|
EXPORT,
|
||||||
|
LOGIN,
|
||||||
|
SELECT
|
||||||
|
}
|
|
@ -0,0 +1,55 @@
|
||||||
|
package io.metersphere.sdk.log.service;
|
||||||
|
|
||||||
|
import io.metersphere.system.domain.OperationLog;
|
||||||
|
import io.metersphere.system.mapper.OperationLogMapper;
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.apache.ibatis.session.ExecutorType;
|
||||||
|
import org.apache.ibatis.session.SqlSession;
|
||||||
|
import org.apache.ibatis.session.SqlSessionFactory;
|
||||||
|
import org.mybatis.spring.SqlSessionUtils;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public class OperationLogService {
|
||||||
|
@Resource
|
||||||
|
private OperationLogMapper operationLogMapper;
|
||||||
|
@Resource
|
||||||
|
private SqlSessionFactory sqlSessionFactory;
|
||||||
|
|
||||||
|
public void add(OperationLog log) {
|
||||||
|
if (StringUtils.isBlank(log.getProjectId())) {
|
||||||
|
log.setProjectId("none");
|
||||||
|
}
|
||||||
|
if (StringUtils.isBlank(log.getCreateUser())) {
|
||||||
|
log.setCreateUser("admin");
|
||||||
|
}
|
||||||
|
// 限制长度
|
||||||
|
if (StringUtils.isNotBlank(log.getDetails()) && log.getDetails().length() > 1000) {
|
||||||
|
log.setDetails(log.getDetails().substring(0, 1000));
|
||||||
|
}
|
||||||
|
operationLogMapper.insert(log);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void batchAdd(List<OperationLog> logs) {
|
||||||
|
if (CollectionUtils.isEmpty(logs)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH);
|
||||||
|
OperationLogMapper logMapper = sqlSession.getMapper(OperationLogMapper.class);
|
||||||
|
if (CollectionUtils.isNotEmpty(logs)) {
|
||||||
|
logs.forEach(item -> {
|
||||||
|
logMapper.insert(item);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
sqlSession.flushStatements();
|
||||||
|
if (sqlSession != null && sqlSessionFactory != null) {
|
||||||
|
SqlSessionUtils.closeSqlSession(sqlSession, sqlSessionFactory);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -7,6 +7,9 @@ import io.metersphere.api.dto.definition.ApiDefinitionDTO;
|
||||||
import io.metersphere.api.dto.definition.ListRequestDTO;
|
import io.metersphere.api.dto.definition.ListRequestDTO;
|
||||||
import io.metersphere.api.service.ApiDefinitionService;
|
import io.metersphere.api.service.ApiDefinitionService;
|
||||||
import io.metersphere.sdk.constants.PermissionConstants;
|
import io.metersphere.sdk.constants.PermissionConstants;
|
||||||
|
import io.metersphere.sdk.log.annotation.RequestLog;
|
||||||
|
import io.metersphere.sdk.log.constants.OperationLogModule;
|
||||||
|
import io.metersphere.sdk.log.constants.OperationLogType;
|
||||||
import io.metersphere.sdk.util.PageUtils;
|
import io.metersphere.sdk.util.PageUtils;
|
||||||
import io.metersphere.sdk.util.Pager;
|
import io.metersphere.sdk.util.Pager;
|
||||||
import io.metersphere.validation.groups.Created;
|
import io.metersphere.validation.groups.Created;
|
||||||
|
@ -29,11 +32,20 @@ public class ApiDefinitionController {
|
||||||
|
|
||||||
@PostMapping(value = "/add", consumes = MediaType.APPLICATION_JSON_VALUE)
|
@PostMapping(value = "/add", consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||||
@RequiresPermissions(PermissionConstants.PROJECT_API_DEFINITION_READ_ADD_API)
|
@RequiresPermissions(PermissionConstants.PROJECT_API_DEFINITION_READ_ADD_API)
|
||||||
public ApiDefinitionDTO create(@Validated({Created.class}) @RequestBody ApiDefinitionDTO request,
|
@RequestLog(type = OperationLogType.ADD, module = OperationLogModule.API_DEFINITION,
|
||||||
@RequestParam(value = "files") List<MultipartFile> bodyFiles) {
|
sourceId = "#request.id", projectId = "#request.projectId", details = "#request.name")
|
||||||
|
public ApiDefinitionDTO add(@Validated({Created.class}) @RequestBody ApiDefinitionDTO request,
|
||||||
|
@RequestParam(value = "files") List<MultipartFile> bodyFiles) {
|
||||||
return apiDefinitionService.create(request, bodyFiles);
|
return apiDefinitionService.create(request, bodyFiles);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping(value = "/batch-del")
|
||||||
|
@RequiresPermissions(PermissionConstants.PROJECT_API_REPORT_READ_DELETE)
|
||||||
|
@RequestLog(isBatch = true, event = "#msClass.getLogs(#ids)", msClass = ApiDefinitionService.class)
|
||||||
|
public void batchDelete(@RequestBody List<String> ids) {
|
||||||
|
apiDefinitionService.batchDelete(ids);
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping(value = "/page")
|
@PostMapping(value = "/page")
|
||||||
@RequiresPermissions(PermissionConstants.PROJECT_API_DEFINITION_READ)
|
@RequiresPermissions(PermissionConstants.PROJECT_API_DEFINITION_READ)
|
||||||
public Pager<List<ApiDefinition>> list(@Validated @RequestBody ListRequestDTO request) {
|
public Pager<List<ApiDefinition>> list(@Validated @RequestBody ListRequestDTO request) {
|
||||||
|
|
|
@ -5,13 +5,19 @@ import io.metersphere.api.domain.ApiDefinitionExample;
|
||||||
import io.metersphere.api.dto.definition.ApiDefinitionDTO;
|
import io.metersphere.api.dto.definition.ApiDefinitionDTO;
|
||||||
import io.metersphere.api.dto.definition.ListRequestDTO;
|
import io.metersphere.api.dto.definition.ListRequestDTO;
|
||||||
import io.metersphere.api.mapper.ApiDefinitionMapper;
|
import io.metersphere.api.mapper.ApiDefinitionMapper;
|
||||||
|
import io.metersphere.sdk.log.constants.OperationLogModule;
|
||||||
|
import io.metersphere.sdk.log.constants.OperationLogType;
|
||||||
|
import io.metersphere.system.domain.OperationLog;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class ApiDefinitionService {
|
public class ApiDefinitionService {
|
||||||
|
@ -23,7 +29,6 @@ public class ApiDefinitionService {
|
||||||
return request;
|
return request;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public List<ApiDefinition> list(@NotNull ListRequestDTO request) {
|
public List<ApiDefinition> list(@NotNull ListRequestDTO request) {
|
||||||
ApiDefinitionExample example = new ApiDefinitionExample();
|
ApiDefinitionExample example = new ApiDefinitionExample();
|
||||||
ApiDefinitionExample.Criteria criteria = example.createCriteria();
|
ApiDefinitionExample.Criteria criteria = example.createCriteria();
|
||||||
|
@ -42,8 +47,37 @@ public class ApiDefinitionService {
|
||||||
if (StringUtils.isNotBlank(request.getProtocol())) {
|
if (StringUtils.isNotBlank(request.getProtocol())) {
|
||||||
criteria.andProtocolEqualTo(request.getProtocol());
|
criteria.andProtocolEqualTo(request.getProtocol());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return apiDefinitionMapper.selectByExample(example);
|
return apiDefinitionMapper.selectByExample(example);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void batchDelete(List<String> ids) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量操作日志,由切面触发
|
||||||
|
*
|
||||||
|
* @param ids
|
||||||
|
*/
|
||||||
|
public List<OperationLog> getLogs(List<String> ids) {
|
||||||
|
if (CollectionUtils.isEmpty(ids)) {
|
||||||
|
return new ArrayList<>();
|
||||||
|
}
|
||||||
|
List<OperationLog> logs = new ArrayList<>();
|
||||||
|
ApiDefinitionExample example = new ApiDefinitionExample();
|
||||||
|
example.createCriteria().andIdIn(ids);
|
||||||
|
List<ApiDefinition> definitions = apiDefinitionMapper.selectByExample(example);
|
||||||
|
definitions.forEach(definition -> {
|
||||||
|
OperationLog log = new OperationLog();
|
||||||
|
log.setId(UUID.randomUUID().toString());
|
||||||
|
log.setCreateUser(definition.getUpdateUser());
|
||||||
|
log.setProjectId(definition.getProjectId());
|
||||||
|
log.setType(OperationLogType.DELETE.name());
|
||||||
|
log.setModule(OperationLogModule.API_DEFINITION);
|
||||||
|
log.setSourceId(definition.getId());
|
||||||
|
log.setDetails(definition.getName());
|
||||||
|
logs.add(log);
|
||||||
|
});
|
||||||
|
return logs;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,6 @@ import io.metersphere.sdk.util.LogUtils;
|
||||||
import io.metersphere.sdk.util.Pager;
|
import io.metersphere.sdk.util.Pager;
|
||||||
import io.metersphere.utils.JsonUtils;
|
import io.metersphere.utils.JsonUtils;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import org.junit.Before;
|
|
||||||
import org.junit.jupiter.api.*;
|
import org.junit.jupiter.api.*;
|
||||||
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
|
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
@ -24,6 +23,7 @@ import org.springframework.test.web.servlet.MockMvc;
|
||||||
import org.springframework.test.web.servlet.MvcResult;
|
import org.springframework.test.web.servlet.MvcResult;
|
||||||
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
|
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
|
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
|
||||||
|
@ -39,13 +39,8 @@ public class ApiDefinitionControllerTests {
|
||||||
private static String sessionId;
|
private static String sessionId;
|
||||||
private static String csrfToken;
|
private static String csrfToken;
|
||||||
|
|
||||||
@Before
|
|
||||||
public void init() {
|
|
||||||
LogUtils.info("init base api test");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Order(0)
|
@BeforeEach
|
||||||
public void login() throws Exception {
|
public void login() throws Exception {
|
||||||
MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders.post("/login")
|
MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders.post("/login")
|
||||||
.content("{\"username\":\"admin\",\"password\":\"metersphere\"}")
|
.content("{\"username\":\"admin\",\"password\":\"metersphere\"}")
|
||||||
|
@ -173,4 +168,19 @@ public class ApiDefinitionControllerTests {
|
||||||
.andExpect(status().isBadRequest());
|
.andExpect(status().isBadRequest());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@Order(4)
|
||||||
|
public void testBatchDel() throws Exception {
|
||||||
|
LogUtils.info("delete api test");
|
||||||
|
List<String> tests = new ArrayList<>();
|
||||||
|
tests.add("test-api-id");
|
||||||
|
|
||||||
|
mockMvc.perform(MockMvcRequestBuilders.multipart(prefix + "/batch-del")
|
||||||
|
.contentType(MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
.content(JSON.toJSONString(tests))
|
||||||
|
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
||||||
|
.header(SessionConstants.CSRF_TOKEN, csrfToken))
|
||||||
|
.andExpect(status().isOk());
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue