feat: 增加配额管理
This commit is contained in:
parent
468eea3b50
commit
3783d30d7e
|
@ -0,0 +1,29 @@
|
||||||
|
package io.metersphere.base.domain;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class Quota implements Serializable {
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
private Integer api;
|
||||||
|
|
||||||
|
private Integer performance;
|
||||||
|
|
||||||
|
private Integer maxThreads;
|
||||||
|
|
||||||
|
private Integer duration;
|
||||||
|
|
||||||
|
private String resourcePool;
|
||||||
|
|
||||||
|
private String organizationId;
|
||||||
|
|
||||||
|
private String workspaceId;
|
||||||
|
|
||||||
|
private Boolean useDefault;
|
||||||
|
|
||||||
|
private Long updateTime;
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
}
|
|
@ -0,0 +1,840 @@
|
||||||
|
package io.metersphere.base.domain;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class QuotaExample {
|
||||||
|
protected String orderByClause;
|
||||||
|
|
||||||
|
protected boolean distinct;
|
||||||
|
|
||||||
|
protected List<Criteria> oredCriteria;
|
||||||
|
|
||||||
|
public QuotaExample() {
|
||||||
|
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 andApiIsNull() {
|
||||||
|
addCriterion("api is null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andApiIsNotNull() {
|
||||||
|
addCriterion("api is not null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andApiEqualTo(Integer value) {
|
||||||
|
addCriterion("api =", value, "api");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andApiNotEqualTo(Integer value) {
|
||||||
|
addCriterion("api <>", value, "api");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andApiGreaterThan(Integer value) {
|
||||||
|
addCriterion("api >", value, "api");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andApiGreaterThanOrEqualTo(Integer value) {
|
||||||
|
addCriterion("api >=", value, "api");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andApiLessThan(Integer value) {
|
||||||
|
addCriterion("api <", value, "api");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andApiLessThanOrEqualTo(Integer value) {
|
||||||
|
addCriterion("api <=", value, "api");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andApiIn(List<Integer> values) {
|
||||||
|
addCriterion("api in", values, "api");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andApiNotIn(List<Integer> values) {
|
||||||
|
addCriterion("api not in", values, "api");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andApiBetween(Integer value1, Integer value2) {
|
||||||
|
addCriterion("api between", value1, value2, "api");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andApiNotBetween(Integer value1, Integer value2) {
|
||||||
|
addCriterion("api not between", value1, value2, "api");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andPerformanceIsNull() {
|
||||||
|
addCriterion("performance is null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andPerformanceIsNotNull() {
|
||||||
|
addCriterion("performance is not null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andPerformanceEqualTo(Integer value) {
|
||||||
|
addCriterion("performance =", value, "performance");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andPerformanceNotEqualTo(Integer value) {
|
||||||
|
addCriterion("performance <>", value, "performance");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andPerformanceGreaterThan(Integer value) {
|
||||||
|
addCriterion("performance >", value, "performance");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andPerformanceGreaterThanOrEqualTo(Integer value) {
|
||||||
|
addCriterion("performance >=", value, "performance");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andPerformanceLessThan(Integer value) {
|
||||||
|
addCriterion("performance <", value, "performance");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andPerformanceLessThanOrEqualTo(Integer value) {
|
||||||
|
addCriterion("performance <=", value, "performance");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andPerformanceIn(List<Integer> values) {
|
||||||
|
addCriterion("performance in", values, "performance");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andPerformanceNotIn(List<Integer> values) {
|
||||||
|
addCriterion("performance not in", values, "performance");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andPerformanceBetween(Integer value1, Integer value2) {
|
||||||
|
addCriterion("performance between", value1, value2, "performance");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andPerformanceNotBetween(Integer value1, Integer value2) {
|
||||||
|
addCriterion("performance not between", value1, value2, "performance");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andMaxThreadsIsNull() {
|
||||||
|
addCriterion("max_threads is null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andMaxThreadsIsNotNull() {
|
||||||
|
addCriterion("max_threads is not null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andMaxThreadsEqualTo(Integer value) {
|
||||||
|
addCriterion("max_threads =", value, "maxThreads");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andMaxThreadsNotEqualTo(Integer value) {
|
||||||
|
addCriterion("max_threads <>", value, "maxThreads");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andMaxThreadsGreaterThan(Integer value) {
|
||||||
|
addCriterion("max_threads >", value, "maxThreads");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andMaxThreadsGreaterThanOrEqualTo(Integer value) {
|
||||||
|
addCriterion("max_threads >=", value, "maxThreads");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andMaxThreadsLessThan(Integer value) {
|
||||||
|
addCriterion("max_threads <", value, "maxThreads");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andMaxThreadsLessThanOrEqualTo(Integer value) {
|
||||||
|
addCriterion("max_threads <=", value, "maxThreads");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andMaxThreadsIn(List<Integer> values) {
|
||||||
|
addCriterion("max_threads in", values, "maxThreads");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andMaxThreadsNotIn(List<Integer> values) {
|
||||||
|
addCriterion("max_threads not in", values, "maxThreads");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andMaxThreadsBetween(Integer value1, Integer value2) {
|
||||||
|
addCriterion("max_threads between", value1, value2, "maxThreads");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andMaxThreadsNotBetween(Integer value1, Integer value2) {
|
||||||
|
addCriterion("max_threads not between", value1, value2, "maxThreads");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andDurationIsNull() {
|
||||||
|
addCriterion("duration is null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andDurationIsNotNull() {
|
||||||
|
addCriterion("duration is not null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andDurationEqualTo(Integer value) {
|
||||||
|
addCriterion("duration =", value, "duration");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andDurationNotEqualTo(Integer value) {
|
||||||
|
addCriterion("duration <>", value, "duration");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andDurationGreaterThan(Integer value) {
|
||||||
|
addCriterion("duration >", value, "duration");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andDurationGreaterThanOrEqualTo(Integer value) {
|
||||||
|
addCriterion("duration >=", value, "duration");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andDurationLessThan(Integer value) {
|
||||||
|
addCriterion("duration <", value, "duration");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andDurationLessThanOrEqualTo(Integer value) {
|
||||||
|
addCriterion("duration <=", value, "duration");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andDurationIn(List<Integer> values) {
|
||||||
|
addCriterion("duration in", values, "duration");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andDurationNotIn(List<Integer> values) {
|
||||||
|
addCriterion("duration not in", values, "duration");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andDurationBetween(Integer value1, Integer value2) {
|
||||||
|
addCriterion("duration between", value1, value2, "duration");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andDurationNotBetween(Integer value1, Integer value2) {
|
||||||
|
addCriterion("duration not between", value1, value2, "duration");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andResourcePoolIsNull() {
|
||||||
|
addCriterion("resource_pool is null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andResourcePoolIsNotNull() {
|
||||||
|
addCriterion("resource_pool is not null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andResourcePoolEqualTo(String value) {
|
||||||
|
addCriterion("resource_pool =", value, "resourcePool");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andResourcePoolNotEqualTo(String value) {
|
||||||
|
addCriterion("resource_pool <>", value, "resourcePool");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andResourcePoolGreaterThan(String value) {
|
||||||
|
addCriterion("resource_pool >", value, "resourcePool");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andResourcePoolGreaterThanOrEqualTo(String value) {
|
||||||
|
addCriterion("resource_pool >=", value, "resourcePool");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andResourcePoolLessThan(String value) {
|
||||||
|
addCriterion("resource_pool <", value, "resourcePool");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andResourcePoolLessThanOrEqualTo(String value) {
|
||||||
|
addCriterion("resource_pool <=", value, "resourcePool");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andResourcePoolLike(String value) {
|
||||||
|
addCriterion("resource_pool like", value, "resourcePool");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andResourcePoolNotLike(String value) {
|
||||||
|
addCriterion("resource_pool not like", value, "resourcePool");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andResourcePoolIn(List<String> values) {
|
||||||
|
addCriterion("resource_pool in", values, "resourcePool");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andResourcePoolNotIn(List<String> values) {
|
||||||
|
addCriterion("resource_pool not in", values, "resourcePool");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andResourcePoolBetween(String value1, String value2) {
|
||||||
|
addCriterion("resource_pool between", value1, value2, "resourcePool");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andResourcePoolNotBetween(String value1, String value2) {
|
||||||
|
addCriterion("resource_pool not between", value1, value2, "resourcePool");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andOrganizationIdIsNull() {
|
||||||
|
addCriterion("organization_id is null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andOrganizationIdIsNotNull() {
|
||||||
|
addCriterion("organization_id is not null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andOrganizationIdEqualTo(String value) {
|
||||||
|
addCriterion("organization_id =", value, "organizationId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andOrganizationIdNotEqualTo(String value) {
|
||||||
|
addCriterion("organization_id <>", value, "organizationId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andOrganizationIdGreaterThan(String value) {
|
||||||
|
addCriterion("organization_id >", value, "organizationId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andOrganizationIdGreaterThanOrEqualTo(String value) {
|
||||||
|
addCriterion("organization_id >=", value, "organizationId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andOrganizationIdLessThan(String value) {
|
||||||
|
addCriterion("organization_id <", value, "organizationId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andOrganizationIdLessThanOrEqualTo(String value) {
|
||||||
|
addCriterion("organization_id <=", value, "organizationId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andOrganizationIdLike(String value) {
|
||||||
|
addCriterion("organization_id like", value, "organizationId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andOrganizationIdNotLike(String value) {
|
||||||
|
addCriterion("organization_id not like", value, "organizationId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andOrganizationIdIn(List<String> values) {
|
||||||
|
addCriterion("organization_id in", values, "organizationId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andOrganizationIdNotIn(List<String> values) {
|
||||||
|
addCriterion("organization_id not in", values, "organizationId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andOrganizationIdBetween(String value1, String value2) {
|
||||||
|
addCriterion("organization_id between", value1, value2, "organizationId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andOrganizationIdNotBetween(String value1, String value2) {
|
||||||
|
addCriterion("organization_id not between", value1, value2, "organizationId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andWorkspaceIdIsNull() {
|
||||||
|
addCriterion("workspace_id is null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andWorkspaceIdIsNotNull() {
|
||||||
|
addCriterion("workspace_id is not null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andWorkspaceIdEqualTo(String value) {
|
||||||
|
addCriterion("workspace_id =", value, "workspaceId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andWorkspaceIdNotEqualTo(String value) {
|
||||||
|
addCriterion("workspace_id <>", value, "workspaceId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andWorkspaceIdGreaterThan(String value) {
|
||||||
|
addCriterion("workspace_id >", value, "workspaceId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andWorkspaceIdGreaterThanOrEqualTo(String value) {
|
||||||
|
addCriterion("workspace_id >=", value, "workspaceId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andWorkspaceIdLessThan(String value) {
|
||||||
|
addCriterion("workspace_id <", value, "workspaceId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andWorkspaceIdLessThanOrEqualTo(String value) {
|
||||||
|
addCriterion("workspace_id <=", value, "workspaceId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andWorkspaceIdLike(String value) {
|
||||||
|
addCriterion("workspace_id like", value, "workspaceId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andWorkspaceIdNotLike(String value) {
|
||||||
|
addCriterion("workspace_id not like", value, "workspaceId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andWorkspaceIdIn(List<String> values) {
|
||||||
|
addCriterion("workspace_id in", values, "workspaceId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andWorkspaceIdNotIn(List<String> values) {
|
||||||
|
addCriterion("workspace_id not in", values, "workspaceId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andWorkspaceIdBetween(String value1, String value2) {
|
||||||
|
addCriterion("workspace_id between", value1, value2, "workspaceId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andWorkspaceIdNotBetween(String value1, String value2) {
|
||||||
|
addCriterion("workspace_id not between", value1, value2, "workspaceId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUseDefaultIsNull() {
|
||||||
|
addCriterion("use_default is null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUseDefaultIsNotNull() {
|
||||||
|
addCriterion("use_default is not null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUseDefaultEqualTo(Boolean value) {
|
||||||
|
addCriterion("use_default =", value, "useDefault");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUseDefaultNotEqualTo(Boolean value) {
|
||||||
|
addCriterion("use_default <>", value, "useDefault");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUseDefaultGreaterThan(Boolean value) {
|
||||||
|
addCriterion("use_default >", value, "useDefault");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUseDefaultGreaterThanOrEqualTo(Boolean value) {
|
||||||
|
addCriterion("use_default >=", value, "useDefault");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUseDefaultLessThan(Boolean value) {
|
||||||
|
addCriterion("use_default <", value, "useDefault");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUseDefaultLessThanOrEqualTo(Boolean value) {
|
||||||
|
addCriterion("use_default <=", value, "useDefault");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUseDefaultIn(List<Boolean> values) {
|
||||||
|
addCriterion("use_default in", values, "useDefault");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUseDefaultNotIn(List<Boolean> values) {
|
||||||
|
addCriterion("use_default not in", values, "useDefault");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUseDefaultBetween(Boolean value1, Boolean value2) {
|
||||||
|
addCriterion("use_default between", value1, value2, "useDefault");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUseDefaultNotBetween(Boolean value1, Boolean value2) {
|
||||||
|
addCriterion("use_default not between", value1, value2, "useDefault");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUpdateTimeIsNull() {
|
||||||
|
addCriterion("update_time is null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUpdateTimeIsNotNull() {
|
||||||
|
addCriterion("update_time is not null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUpdateTimeEqualTo(Long value) {
|
||||||
|
addCriterion("update_time =", value, "updateTime");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUpdateTimeNotEqualTo(Long value) {
|
||||||
|
addCriterion("update_time <>", value, "updateTime");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUpdateTimeGreaterThan(Long value) {
|
||||||
|
addCriterion("update_time >", value, "updateTime");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUpdateTimeGreaterThanOrEqualTo(Long value) {
|
||||||
|
addCriterion("update_time >=", value, "updateTime");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUpdateTimeLessThan(Long value) {
|
||||||
|
addCriterion("update_time <", value, "updateTime");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUpdateTimeLessThanOrEqualTo(Long value) {
|
||||||
|
addCriterion("update_time <=", value, "updateTime");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUpdateTimeIn(List<Long> values) {
|
||||||
|
addCriterion("update_time in", values, "updateTime");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUpdateTimeNotIn(List<Long> values) {
|
||||||
|
addCriterion("update_time not in", values, "updateTime");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUpdateTimeBetween(Long value1, Long value2) {
|
||||||
|
addCriterion("update_time between", value1, value2, "updateTime");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUpdateTimeNotBetween(Long value1, Long value2) {
|
||||||
|
addCriterion("update_time not between", value1, value2, "updateTime");
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,8 +1,7 @@
|
||||||
package io.metersphere.base.domain;
|
package io.metersphere.base.domain;
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class Schedule implements Serializable {
|
public class Schedule implements Serializable {
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
package io.metersphere.base.mapper;
|
||||||
|
|
||||||
|
import io.metersphere.base.domain.Quota;
|
||||||
|
import io.metersphere.base.domain.QuotaExample;
|
||||||
|
import java.util.List;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
public interface QuotaMapper {
|
||||||
|
long countByExample(QuotaExample example);
|
||||||
|
|
||||||
|
int deleteByExample(QuotaExample example);
|
||||||
|
|
||||||
|
int deleteByPrimaryKey(String id);
|
||||||
|
|
||||||
|
int insert(Quota record);
|
||||||
|
|
||||||
|
int insertSelective(Quota record);
|
||||||
|
|
||||||
|
List<Quota> selectByExample(QuotaExample example);
|
||||||
|
|
||||||
|
Quota selectByPrimaryKey(String id);
|
||||||
|
|
||||||
|
int updateByExampleSelective(@Param("record") Quota record, @Param("example") QuotaExample example);
|
||||||
|
|
||||||
|
int updateByExample(@Param("record") Quota record, @Param("example") QuotaExample example);
|
||||||
|
|
||||||
|
int updateByPrimaryKeySelective(Quota record);
|
||||||
|
|
||||||
|
int updateByPrimaryKey(Quota 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.base.mapper.QuotaMapper">
|
||||||
|
<resultMap id="BaseResultMap" type="io.metersphere.base.domain.Quota">
|
||||||
|
<id column="id" jdbcType="VARCHAR" property="id" />
|
||||||
|
<result column="api" jdbcType="INTEGER" property="api" />
|
||||||
|
<result column="performance" jdbcType="INTEGER" property="performance" />
|
||||||
|
<result column="max_threads" jdbcType="INTEGER" property="maxThreads" />
|
||||||
|
<result column="duration" jdbcType="INTEGER" property="duration" />
|
||||||
|
<result column="resource_pool" jdbcType="VARCHAR" property="resourcePool" />
|
||||||
|
<result column="organization_id" jdbcType="VARCHAR" property="organizationId" />
|
||||||
|
<result column="workspace_id" jdbcType="VARCHAR" property="workspaceId" />
|
||||||
|
<result column="use_default" jdbcType="BIT" property="useDefault" />
|
||||||
|
<result column="update_time" jdbcType="BIGINT" property="updateTime" />
|
||||||
|
</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, api, performance, max_threads, duration, resource_pool, organization_id, workspace_id,
|
||||||
|
use_default, update_time
|
||||||
|
</sql>
|
||||||
|
<select id="selectByExample" parameterType="io.metersphere.base.domain.QuotaExample" resultMap="BaseResultMap">
|
||||||
|
select
|
||||||
|
<if test="distinct">
|
||||||
|
distinct
|
||||||
|
</if>
|
||||||
|
<include refid="Base_Column_List" />
|
||||||
|
from quota
|
||||||
|
<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 quota
|
||||||
|
where id = #{id,jdbcType=VARCHAR}
|
||||||
|
</select>
|
||||||
|
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
|
||||||
|
delete from quota
|
||||||
|
where id = #{id,jdbcType=VARCHAR}
|
||||||
|
</delete>
|
||||||
|
<delete id="deleteByExample" parameterType="io.metersphere.base.domain.QuotaExample">
|
||||||
|
delete from quota
|
||||||
|
<if test="_parameter != null">
|
||||||
|
<include refid="Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
</delete>
|
||||||
|
<insert id="insert" parameterType="io.metersphere.base.domain.Quota">
|
||||||
|
insert into quota (id, api, performance,
|
||||||
|
max_threads, duration, resource_pool,
|
||||||
|
organization_id, workspace_id, use_default,
|
||||||
|
update_time)
|
||||||
|
values (#{id,jdbcType=VARCHAR}, #{api,jdbcType=INTEGER}, #{performance,jdbcType=INTEGER},
|
||||||
|
#{maxThreads,jdbcType=INTEGER}, #{duration,jdbcType=INTEGER}, #{resourcePool,jdbcType=VARCHAR},
|
||||||
|
#{organizationId,jdbcType=VARCHAR}, #{workspaceId,jdbcType=VARCHAR}, #{useDefault,jdbcType=BIT},
|
||||||
|
#{updateTime,jdbcType=BIGINT})
|
||||||
|
</insert>
|
||||||
|
<insert id="insertSelective" parameterType="io.metersphere.base.domain.Quota">
|
||||||
|
insert into quota
|
||||||
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="id != null">
|
||||||
|
id,
|
||||||
|
</if>
|
||||||
|
<if test="api != null">
|
||||||
|
api,
|
||||||
|
</if>
|
||||||
|
<if test="performance != null">
|
||||||
|
performance,
|
||||||
|
</if>
|
||||||
|
<if test="maxThreads != null">
|
||||||
|
max_threads,
|
||||||
|
</if>
|
||||||
|
<if test="duration != null">
|
||||||
|
duration,
|
||||||
|
</if>
|
||||||
|
<if test="resourcePool != null">
|
||||||
|
resource_pool,
|
||||||
|
</if>
|
||||||
|
<if test="organizationId != null">
|
||||||
|
organization_id,
|
||||||
|
</if>
|
||||||
|
<if test="workspaceId != null">
|
||||||
|
workspace_id,
|
||||||
|
</if>
|
||||||
|
<if test="useDefault != null">
|
||||||
|
use_default,
|
||||||
|
</if>
|
||||||
|
<if test="updateTime != null">
|
||||||
|
update_time,
|
||||||
|
</if>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="id != null">
|
||||||
|
#{id,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="api != null">
|
||||||
|
#{api,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="performance != null">
|
||||||
|
#{performance,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="maxThreads != null">
|
||||||
|
#{maxThreads,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="duration != null">
|
||||||
|
#{duration,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="resourcePool != null">
|
||||||
|
#{resourcePool,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="organizationId != null">
|
||||||
|
#{organizationId,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="workspaceId != null">
|
||||||
|
#{workspaceId,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="useDefault != null">
|
||||||
|
#{useDefault,jdbcType=BIT},
|
||||||
|
</if>
|
||||||
|
<if test="updateTime != null">
|
||||||
|
#{updateTime,jdbcType=BIGINT},
|
||||||
|
</if>
|
||||||
|
</trim>
|
||||||
|
</insert>
|
||||||
|
<select id="countByExample" parameterType="io.metersphere.base.domain.QuotaExample" resultType="java.lang.Long">
|
||||||
|
select count(*) from quota
|
||||||
|
<if test="_parameter != null">
|
||||||
|
<include refid="Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
<update id="updateByExampleSelective" parameterType="map">
|
||||||
|
update quota
|
||||||
|
<set>
|
||||||
|
<if test="record.id != null">
|
||||||
|
id = #{record.id,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="record.api != null">
|
||||||
|
api = #{record.api,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="record.performance != null">
|
||||||
|
performance = #{record.performance,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="record.maxThreads != null">
|
||||||
|
max_threads = #{record.maxThreads,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="record.duration != null">
|
||||||
|
duration = #{record.duration,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="record.resourcePool != null">
|
||||||
|
resource_pool = #{record.resourcePool,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="record.organizationId != null">
|
||||||
|
organization_id = #{record.organizationId,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="record.workspaceId != null">
|
||||||
|
workspace_id = #{record.workspaceId,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="record.useDefault != null">
|
||||||
|
use_default = #{record.useDefault,jdbcType=BIT},
|
||||||
|
</if>
|
||||||
|
<if test="record.updateTime != null">
|
||||||
|
update_time = #{record.updateTime,jdbcType=BIGINT},
|
||||||
|
</if>
|
||||||
|
</set>
|
||||||
|
<if test="_parameter != null">
|
||||||
|
<include refid="Update_By_Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
</update>
|
||||||
|
<update id="updateByExample" parameterType="map">
|
||||||
|
update quota
|
||||||
|
set id = #{record.id,jdbcType=VARCHAR},
|
||||||
|
api = #{record.api,jdbcType=INTEGER},
|
||||||
|
performance = #{record.performance,jdbcType=INTEGER},
|
||||||
|
max_threads = #{record.maxThreads,jdbcType=INTEGER},
|
||||||
|
duration = #{record.duration,jdbcType=INTEGER},
|
||||||
|
resource_pool = #{record.resourcePool,jdbcType=VARCHAR},
|
||||||
|
organization_id = #{record.organizationId,jdbcType=VARCHAR},
|
||||||
|
workspace_id = #{record.workspaceId,jdbcType=VARCHAR},
|
||||||
|
use_default = #{record.useDefault,jdbcType=BIT},
|
||||||
|
update_time = #{record.updateTime,jdbcType=BIGINT}
|
||||||
|
<if test="_parameter != null">
|
||||||
|
<include refid="Update_By_Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
</update>
|
||||||
|
<update id="updateByPrimaryKeySelective" parameterType="io.metersphere.base.domain.Quota">
|
||||||
|
update quota
|
||||||
|
<set>
|
||||||
|
<if test="api != null">
|
||||||
|
api = #{api,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="performance != null">
|
||||||
|
performance = #{performance,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="maxThreads != null">
|
||||||
|
max_threads = #{maxThreads,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="duration != null">
|
||||||
|
duration = #{duration,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="resourcePool != null">
|
||||||
|
resource_pool = #{resourcePool,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="organizationId != null">
|
||||||
|
organization_id = #{organizationId,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="workspaceId != null">
|
||||||
|
workspace_id = #{workspaceId,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="useDefault != null">
|
||||||
|
use_default = #{useDefault,jdbcType=BIT},
|
||||||
|
</if>
|
||||||
|
<if test="updateTime != null">
|
||||||
|
update_time = #{updateTime,jdbcType=BIGINT},
|
||||||
|
</if>
|
||||||
|
</set>
|
||||||
|
where id = #{id,jdbcType=VARCHAR}
|
||||||
|
</update>
|
||||||
|
<update id="updateByPrimaryKey" parameterType="io.metersphere.base.domain.Quota">
|
||||||
|
update quota
|
||||||
|
set api = #{api,jdbcType=INTEGER},
|
||||||
|
performance = #{performance,jdbcType=INTEGER},
|
||||||
|
max_threads = #{maxThreads,jdbcType=INTEGER},
|
||||||
|
duration = #{duration,jdbcType=INTEGER},
|
||||||
|
resource_pool = #{resourcePool,jdbcType=VARCHAR},
|
||||||
|
organization_id = #{organizationId,jdbcType=VARCHAR},
|
||||||
|
workspace_id = #{workspaceId,jdbcType=VARCHAR},
|
||||||
|
use_default = #{useDefault,jdbcType=BIT},
|
||||||
|
update_time = #{updateTime,jdbcType=BIGINT}
|
||||||
|
where id = #{id,jdbcType=VARCHAR}
|
||||||
|
</update>
|
||||||
|
</mapper>
|
|
@ -2,18 +2,18 @@
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="io.metersphere.base.mapper.ScheduleMapper">
|
<mapper namespace="io.metersphere.base.mapper.ScheduleMapper">
|
||||||
<resultMap id="BaseResultMap" type="io.metersphere.base.domain.Schedule">
|
<resultMap id="BaseResultMap" type="io.metersphere.base.domain.Schedule">
|
||||||
<id column="id" jdbcType="VARCHAR" property="id"/>
|
<id column="id" jdbcType="VARCHAR" property="id" />
|
||||||
<result column="key" jdbcType="VARCHAR" property="key"/>
|
<result column="key" jdbcType="VARCHAR" property="key" />
|
||||||
<result column="type" jdbcType="VARCHAR" property="type"/>
|
<result column="type" jdbcType="VARCHAR" property="type" />
|
||||||
<result column="value" jdbcType="VARCHAR" property="value"/>
|
<result column="value" jdbcType="VARCHAR" property="value" />
|
||||||
<result column="group" jdbcType="VARCHAR" property="group"/>
|
<result column="group" jdbcType="VARCHAR" property="group" />
|
||||||
<result column="job" jdbcType="VARCHAR" property="job"/>
|
<result column="job" jdbcType="VARCHAR" property="job" />
|
||||||
<result column="enable" jdbcType="BIT" property="enable"/>
|
<result column="enable" jdbcType="BIT" property="enable" />
|
||||||
<result column="resource_id" jdbcType="VARCHAR" property="resourceId"/>
|
<result column="resource_id" jdbcType="VARCHAR" property="resourceId" />
|
||||||
<result column="user_id" jdbcType="VARCHAR" property="userId"/>
|
<result column="user_id" jdbcType="VARCHAR" property="userId" />
|
||||||
<result column="workspace_id" jdbcType="VARCHAR" property="workspaceId"/>
|
<result column="workspace_id" jdbcType="VARCHAR" property="workspaceId" />
|
||||||
<result column="create_time" jdbcType="BIGINT" property="createTime"/>
|
<result column="create_time" jdbcType="BIGINT" property="createTime" />
|
||||||
<result column="update_time" jdbcType="BIGINT" property="updateTime"/>
|
<result column="update_time" jdbcType="BIGINT" property="updateTime" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="io.metersphere.base.domain.Schedule">
|
<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="io.metersphere.base.domain.Schedule">
|
||||||
<result column="custom_data" jdbcType="LONGVARCHAR" property="customData" />
|
<result column="custom_data" jdbcType="LONGVARCHAR" property="customData" />
|
||||||
|
@ -284,18 +284,18 @@
|
||||||
<update id="updateByExampleWithBLOBs" parameterType="map">
|
<update id="updateByExampleWithBLOBs" parameterType="map">
|
||||||
update schedule
|
update schedule
|
||||||
set id = #{record.id,jdbcType=VARCHAR},
|
set id = #{record.id,jdbcType=VARCHAR},
|
||||||
`key` = #{record.key,jdbcType=VARCHAR},
|
`key` = #{record.key,jdbcType=VARCHAR},
|
||||||
`type` = #{record.type,jdbcType=VARCHAR},
|
`type` = #{record.type,jdbcType=VARCHAR},
|
||||||
`value` = #{record.value,jdbcType=VARCHAR},
|
`value` = #{record.value,jdbcType=VARCHAR},
|
||||||
`group` = #{record.group,jdbcType=VARCHAR},
|
`group` = #{record.group,jdbcType=VARCHAR},
|
||||||
job = #{record.job,jdbcType=VARCHAR},
|
job = #{record.job,jdbcType=VARCHAR},
|
||||||
`enable` = #{record.enable,jdbcType=BIT},
|
`enable` = #{record.enable,jdbcType=BIT},
|
||||||
resource_id = #{record.resourceId,jdbcType=VARCHAR},
|
resource_id = #{record.resourceId,jdbcType=VARCHAR},
|
||||||
user_id = #{record.userId,jdbcType=VARCHAR},
|
user_id = #{record.userId,jdbcType=VARCHAR},
|
||||||
workspace_id = #{record.workspaceId,jdbcType=VARCHAR},
|
workspace_id = #{record.workspaceId,jdbcType=VARCHAR},
|
||||||
create_time = #{record.createTime,jdbcType=BIGINT},
|
create_time = #{record.createTime,jdbcType=BIGINT},
|
||||||
update_time = #{record.updateTime,jdbcType=BIGINT},
|
update_time = #{record.updateTime,jdbcType=BIGINT},
|
||||||
custom_data = #{record.customData,jdbcType=LONGVARCHAR}
|
custom_data = #{record.customData,jdbcType=LONGVARCHAR}
|
||||||
<if test="_parameter != null">
|
<if test="_parameter != null">
|
||||||
<include refid="Update_By_Example_Where_Clause" />
|
<include refid="Update_By_Example_Where_Clause" />
|
||||||
</if>
|
</if>
|
||||||
|
@ -303,17 +303,17 @@
|
||||||
<update id="updateByExample" parameterType="map">
|
<update id="updateByExample" parameterType="map">
|
||||||
update schedule
|
update schedule
|
||||||
set id = #{record.id,jdbcType=VARCHAR},
|
set id = #{record.id,jdbcType=VARCHAR},
|
||||||
`key` = #{record.key,jdbcType=VARCHAR},
|
`key` = #{record.key,jdbcType=VARCHAR},
|
||||||
`type` = #{record.type,jdbcType=VARCHAR},
|
`type` = #{record.type,jdbcType=VARCHAR},
|
||||||
`value` = #{record.value,jdbcType=VARCHAR},
|
`value` = #{record.value,jdbcType=VARCHAR},
|
||||||
`group` = #{record.group,jdbcType=VARCHAR},
|
`group` = #{record.group,jdbcType=VARCHAR},
|
||||||
job = #{record.job,jdbcType=VARCHAR},
|
job = #{record.job,jdbcType=VARCHAR},
|
||||||
`enable` = #{record.enable,jdbcType=BIT},
|
`enable` = #{record.enable,jdbcType=BIT},
|
||||||
resource_id = #{record.resourceId,jdbcType=VARCHAR},
|
resource_id = #{record.resourceId,jdbcType=VARCHAR},
|
||||||
user_id = #{record.userId,jdbcType=VARCHAR},
|
user_id = #{record.userId,jdbcType=VARCHAR},
|
||||||
workspace_id = #{record.workspaceId,jdbcType=VARCHAR},
|
workspace_id = #{record.workspaceId,jdbcType=VARCHAR},
|
||||||
create_time = #{record.createTime,jdbcType=BIGINT},
|
create_time = #{record.createTime,jdbcType=BIGINT},
|
||||||
update_time = #{record.updateTime,jdbcType=BIGINT}
|
update_time = #{record.updateTime,jdbcType=BIGINT}
|
||||||
<if test="_parameter != null">
|
<if test="_parameter != null">
|
||||||
<include refid="Update_By_Example_Where_Clause" />
|
<include refid="Update_By_Example_Where_Clause" />
|
||||||
</if>
|
</if>
|
||||||
|
|
|
@ -91,7 +91,7 @@
|
||||||
</if>
|
</if>
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="list" resultMap="BaseResultMap" parameterType="io.metersphere.api.dto.APITestResult">
|
<select id="list" resultMap="BaseResultMap">
|
||||||
select api_test.*, project.name as project_name, user.name as user_name
|
select api_test.*, project.name as project_name, user.name as user_name
|
||||||
from api_test
|
from api_test
|
||||||
left join project on api_test.project_id = project.id
|
left join project on api_test.project_id = project.id
|
||||||
|
|
|
@ -18,7 +18,7 @@ import java.util.List;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@MapperScan(basePackages = "io.metersphere.base.mapper", sqlSessionFactoryRef = "sqlSessionFactory")
|
@MapperScan(basePackages = {"io.metersphere.base.mapper", "io.metersphere.xpack.mapper"}, sqlSessionFactoryRef = "sqlSessionFactory")
|
||||||
@EnableTransactionManagement
|
@EnableTransactionManagement
|
||||||
public class MybatisConfig {
|
public class MybatisConfig {
|
||||||
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 85f7879c49d2d3b2444d8dc250fa007da4fc8181
|
Subproject commit fadab72bb656a3a2644e43bf46783c1f6cd96d4f
|
|
@ -0,0 +1,15 @@
|
||||||
|
CREATE TABLE IF NOT EXISTS `quota`
|
||||||
|
(
|
||||||
|
`id` varchar(50) NOT NULL,
|
||||||
|
`api` int(10) DEFAULT NULL,
|
||||||
|
`performance` int(10) DEFAULT NULL,
|
||||||
|
`max_threads` int(10) DEFAULT NULL,
|
||||||
|
`duration` int(10) DEFAULT NULL,
|
||||||
|
`resource_pool` varchar(1000) DEFAULT NULL,
|
||||||
|
`organization_id` varchar(50) DEFAULT NULL,
|
||||||
|
`workspace_id` varchar(50) DEFAULT NULL,
|
||||||
|
`use_default` tinyint(1) DEFAULT NULL,
|
||||||
|
`update_time` bigint(13) DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE = InnoDB
|
||||||
|
DEFAULT CHARSET = utf8mb4
|
|
@ -1,20 +1,9 @@
|
||||||
import Vue from "vue";
|
import Vue from "vue";
|
||||||
import VueRouter from 'vue-router'
|
import VueRouter from 'vue-router'
|
||||||
import RouterSidebar from "./RouterSidebar";
|
import RouterSidebar from "./RouterSidebar";
|
||||||
import Setting from "../../settings/Setting";
|
|
||||||
import User from "../../settings/system/User";
|
|
||||||
import EditPerformanceTestPlan from "../../performance/test/EditPerformanceTestPlan";
|
import EditPerformanceTestPlan from "../../performance/test/EditPerformanceTestPlan";
|
||||||
import PerformanceTestPlan from "../../performance/test/PerformanceTestPlan";
|
import PerformanceTestPlan from "../../performance/test/PerformanceTestPlan";
|
||||||
import Organization from "../../settings/system/Organization";
|
|
||||||
import OrganizationMember from "../../settings/organization/OrganizationMember";
|
|
||||||
import Member from "../../settings/workspace/WorkspaceMember";
|
|
||||||
import TestCaseReportTemplate from "../../settings/workspace/TestCaseReportTemplate";
|
|
||||||
import TestResourcePool from "../../settings/system/TestResourcePool";
|
|
||||||
import SystemParameterSetting from "../../settings/system/SystemParameterSetting";
|
|
||||||
import MsProject from "../../project/MsProject";
|
import MsProject from "../../project/MsProject";
|
||||||
import OrganizationWorkspace from "../../settings/organization/OrganizationWorkspace";
|
|
||||||
import PersonSetting from "../../settings/personal/PersonSetting";
|
|
||||||
import SystemWorkspace from "../../settings/system/SystemWorkspace";
|
|
||||||
import PerformanceChart from "../../performance/report/components/PerformanceChart";
|
import PerformanceChart from "../../performance/report/components/PerformanceChart";
|
||||||
import PerformanceTestReport from "../../performance/report/PerformanceTestReport";
|
import PerformanceTestReport from "../../performance/report/PerformanceTestReport";
|
||||||
import ApiTest from "../../api/ApiTest";
|
import ApiTest from "../../api/ApiTest";
|
||||||
|
@ -32,10 +21,7 @@ import TestCase from "../../track/case/TestCase";
|
||||||
import TestTrack from "../../track/TestTrack";
|
import TestTrack from "../../track/TestTrack";
|
||||||
import ApiReportList from "../../api/report/ApiReportList";
|
import ApiReportList from "../../api/report/ApiReportList";
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import ApiKeys from "../../settings/personal/ApiKeys";
|
import Setting from "@/business/components/settings/router";
|
||||||
import ServiceIntegration from "../../settings/organization/ServiceIntegration";
|
|
||||||
|
|
||||||
const requireContext = require.context('@/business/components/xpack/', true, /router\.js$/)
|
|
||||||
|
|
||||||
Vue.use(VueRouter);
|
Vue.use(VueRouter);
|
||||||
|
|
||||||
|
@ -48,65 +34,7 @@ const router = new VueRouter({
|
||||||
sidebar: RouterSidebar
|
sidebar: RouterSidebar
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
...requireContext.keys().map(key => requireContext(key).default),
|
Setting,
|
||||||
{
|
|
||||||
path: "/setting",
|
|
||||||
components: {
|
|
||||||
content: Setting
|
|
||||||
},
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
path: 'user',
|
|
||||||
component: User,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: 'organization',
|
|
||||||
component: Organization,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: 'organizationmember',
|
|
||||||
component: OrganizationMember,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: 'organizationworkspace',
|
|
||||||
component: OrganizationWorkspace,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: 'serviceintegration',
|
|
||||||
component: ServiceIntegration,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: 'personsetting',
|
|
||||||
component: PersonSetting
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: 'apikeys',
|
|
||||||
component: ApiKeys
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: 'member',
|
|
||||||
component: Member
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: 'systemworkspace',
|
|
||||||
component: SystemWorkspace
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: 'testresourcepool',
|
|
||||||
component: TestResourcePool
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: 'systemparametersetting',
|
|
||||||
component: SystemParameterSetting
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: 'testcase/report/template',
|
|
||||||
name: 'testCaseReportTemplate',
|
|
||||||
component: TestCaseReportTemplate
|
|
||||||
},
|
|
||||||
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
path: "/api",
|
path: "/api",
|
||||||
name: "api",
|
name: "api",
|
||||||
|
|
|
@ -1,48 +1,42 @@
|
||||||
<template>
|
<template>
|
||||||
<el-menu menu-trigger="click" :default-active="$route.path" router>
|
<el-menu menu-trigger="click" :default-active="$route.path" router class="setting">
|
||||||
<el-submenu index="1" v-permission="['admin']">
|
<el-submenu index="1" v-permission="['admin']">
|
||||||
<template v-slot:title>
|
<template v-slot:title>
|
||||||
<font-awesome-icon class="icon account" :icon="['far', 'address-card']" size="lg"/>
|
<font-awesome-icon class="icon account" :icon="['far', 'address-card']" size="lg"/>
|
||||||
<span>{{$t('commons.system')}}</span>
|
<span>{{ $t('commons.system') }}</span>
|
||||||
</template>
|
</template>
|
||||||
<el-menu-item index="/setting/user">{{$t('commons.user')}}</el-menu-item>
|
<el-menu-item v-for="menu in systems" :key="menu.index" :index="menu.index" class="setting-item">
|
||||||
<el-menu-item index="/setting/organization">{{$t('commons.organization')}}</el-menu-item>
|
{{ $t(menu.title) }}
|
||||||
<el-menu-item index="/setting/systemworkspace">{{$t('commons.workspace')}}</el-menu-item>
|
</el-menu-item>
|
||||||
<el-menu-item index="/setting/testresourcepool">{{$t('commons.test_resource_pool')}}</el-menu-item>
|
|
||||||
<el-menu-item index="/setting/systemparametersetting">{{$t('commons.system_parameter_setting')}}</el-menu-item>
|
|
||||||
</el-submenu>
|
</el-submenu>
|
||||||
|
|
||||||
<el-submenu index="2" v-permission="['org_admin']" v-if="isCurrentOrganizationAdmin">
|
<el-submenu index="2" v-permission="['org_admin']" v-if="isCurrentOrganizationAdmin">
|
||||||
<template v-slot:title>
|
<template v-slot:title>
|
||||||
<font-awesome-icon class="icon organization" :icon="['far', 'building']" size="lg"/>
|
<font-awesome-icon class="icon organization" :icon="['far', 'building']" size="lg"/>
|
||||||
<span>{{$t('commons.organization')}}</span>
|
<span>{{ $t('commons.organization') }}</span>
|
||||||
</template>
|
</template>
|
||||||
<el-menu-item index="/setting/organizationmember" v-permission="['org_admin']">{{$t('commons.member')}}
|
<el-menu-item v-for="menu in organizations" :key="menu.index" :index="menu.index" class="setting-item">
|
||||||
</el-menu-item>
|
{{ $t(menu.title) }}
|
||||||
<el-menu-item index="/setting/organizationworkspace" v-permission="['org_admin']">{{$t('commons.workspace')}}
|
|
||||||
</el-menu-item>
|
|
||||||
<el-menu-item index="/setting/serviceintegration" v-permission="['org_admin']">{{$t('organization.service_integration')}}
|
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
</el-submenu>
|
</el-submenu>
|
||||||
|
|
||||||
<el-submenu index="3" v-permission="['test_manager']" v-if="isCurrentWorkspaceUser">
|
<el-submenu index="3" v-permission="['test_manager']" v-if="isCurrentWorkspaceUser">
|
||||||
<template v-slot:title>
|
<template v-slot:title>
|
||||||
<font-awesome-icon class="icon workspace" :icon="['far', 'list-alt']" size="lg"/>
|
<font-awesome-icon class="icon workspace" :icon="['far', 'list-alt']" size="lg"/>
|
||||||
<span>{{$t('commons.workspace')}}</span>
|
<span>{{ $t('commons.workspace') }}</span>
|
||||||
</template>
|
</template>
|
||||||
<el-menu-item index="/setting/member">{{$t('commons.member')}}</el-menu-item>
|
<el-menu-item v-for="menu in workspaces" :key="menu.index" :index="menu.index" class="setting-item">
|
||||||
<el-menu-item index="/setting/testcase/report/template">{{$t('test_track.plan_view.report_template')}}
|
{{ $t(menu.title) }}
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
</el-submenu>
|
</el-submenu>
|
||||||
|
|
||||||
<el-submenu index="4">
|
<el-submenu index="4">
|
||||||
<template v-slot:title>
|
<template v-slot:title>
|
||||||
<font-awesome-icon class="icon" :icon="['far', 'user']" size="lg"/>
|
<font-awesome-icon class="icon" :icon="['far', 'user']" size="lg"/>
|
||||||
<span>{{$t('commons.personal_info')}}</span>
|
<span>{{ $t('commons.personal_info') }}</span>
|
||||||
</template>
|
</template>
|
||||||
<el-menu-item index="/setting/personsetting">{{$t('commons.personal_setting')}}</el-menu-item>
|
<el-menu-item v-for="menu in persons" :key="menu.index" :index="menu.index" class="setting-item">
|
||||||
<el-menu-item v-permission="['admin', 'org_admin', 'test_manager', 'test_user', 'test_viewer']"
|
{{ $t(menu.title) }}
|
||||||
index="/setting/apikeys">API Keys
|
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
</el-submenu>
|
</el-submenu>
|
||||||
|
|
||||||
|
@ -50,47 +44,63 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {checkoutCurrentOrganization, checkoutCurrentWorkspace} from "../../../common/js/utils";
|
import {checkoutCurrentOrganization, checkoutCurrentWorkspace} from "@/common/js/utils";
|
||||||
|
import Setting from "@/business/components/settings/router";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "MsSettingMenu",
|
name: "MsSettingMenu",
|
||||||
data() {
|
data() {
|
||||||
return {
|
let getMenus = function (group) {
|
||||||
isCurrentOrganizationAdmin: false,
|
let menus = [];
|
||||||
isCurrentWorkspaceUser: false,
|
Setting.children.forEach(child => {
|
||||||
}
|
if (child.meta[group] === true) {
|
||||||
},
|
let menu = {index: Setting.path + "/" + child.path}
|
||||||
mounted() {
|
menu.title = child.meta.title;
|
||||||
this.isCurrentOrganizationAdmin = checkoutCurrentOrganization();
|
menus.push(menu);
|
||||||
this.isCurrentWorkspaceUser = checkoutCurrentWorkspace();
|
}
|
||||||
},
|
})
|
||||||
|
return menus;
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
systems: getMenus('system'),
|
||||||
|
organizations: getMenus('organization'),
|
||||||
|
workspaces: getMenus('workspace'),
|
||||||
|
persons: getMenus('person'),
|
||||||
|
isCurrentOrganizationAdmin: false,
|
||||||
|
isCurrentWorkspaceUser: false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.isCurrentOrganizationAdmin = checkoutCurrentOrganization();
|
||||||
|
this.isCurrentWorkspaceUser = checkoutCurrentWorkspace();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.el-menu {
|
.setting {
|
||||||
border-right: 0;
|
border-right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-menu-item {
|
.setting .setting-item {
|
||||||
height: 40px;
|
height: 40px;
|
||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
width: 24px;
|
width: 24px;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.account {
|
.account {
|
||||||
color: #5a78f0;
|
color: #5a78f0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.organization {
|
.organization {
|
||||||
color: #b33a5b;
|
color: #b33a5b;
|
||||||
}
|
}
|
||||||
|
|
||||||
.workspace {
|
.workspace {
|
||||||
color: #44b349;
|
color: #44b349;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -0,0 +1,96 @@
|
||||||
|
<template>
|
||||||
|
<el-menu menu-trigger="click" :default-active="$route.path" router>
|
||||||
|
<el-submenu index="1" v-permission="['admin']">
|
||||||
|
<template v-slot:title>
|
||||||
|
<font-awesome-icon class="icon account" :icon="['far', 'address-card']" size="lg"/>
|
||||||
|
<span>{{$t('commons.system')}}</span>
|
||||||
|
</template>
|
||||||
|
<el-menu-item index="/setting/user">{{$t('commons.user')}}</el-menu-item>
|
||||||
|
<el-menu-item index="/setting/organization">{{$t('commons.organization')}}</el-menu-item>
|
||||||
|
<el-menu-item index="/setting/systemworkspace">{{$t('commons.workspace')}}</el-menu-item>
|
||||||
|
<el-menu-item index="/setting/testresourcepool">{{$t('commons.test_resource_pool')}}</el-menu-item>
|
||||||
|
<el-menu-item index="/setting/systemparametersetting">{{$t('commons.system_parameter_setting')}}</el-menu-item>
|
||||||
|
</el-submenu>
|
||||||
|
|
||||||
|
<el-submenu index="2" v-permission="['org_admin']" v-if="isCurrentOrganizationAdmin">
|
||||||
|
<template v-slot:title>
|
||||||
|
<font-awesome-icon class="icon organization" :icon="['far', 'building']" size="lg"/>
|
||||||
|
<span>{{$t('commons.organization')}}</span>
|
||||||
|
</template>
|
||||||
|
<el-menu-item index="/setting/organizationmember" v-permission="['org_admin']">{{$t('commons.member')}}
|
||||||
|
</el-menu-item>
|
||||||
|
<el-menu-item index="/setting/organizationworkspace" v-permission="['org_admin']">{{$t('commons.workspace')}}
|
||||||
|
</el-menu-item>
|
||||||
|
<el-menu-item index="/setting/serviceintegration" v-permission="['org_admin']">{{$t('organization.service_integration')}}
|
||||||
|
</el-menu-item>
|
||||||
|
</el-submenu>
|
||||||
|
|
||||||
|
<el-submenu index="3" v-permission="['test_manager']" v-if="isCurrentWorkspaceUser">
|
||||||
|
<template v-slot:title>
|
||||||
|
<font-awesome-icon class="icon workspace" :icon="['far', 'list-alt']" size="lg"/>
|
||||||
|
<span>{{$t('commons.workspace')}}</span>
|
||||||
|
</template>
|
||||||
|
<el-menu-item index="/setting/member">{{$t('commons.member')}}</el-menu-item>
|
||||||
|
<el-menu-item index="/setting/testcase/report/template">{{$t('test_track.plan_view.report_template')}}
|
||||||
|
</el-menu-item>
|
||||||
|
</el-submenu>
|
||||||
|
|
||||||
|
<el-submenu index="4">
|
||||||
|
<template v-slot:title>
|
||||||
|
<font-awesome-icon class="icon" :icon="['far', 'user']" size="lg"/>
|
||||||
|
<span>{{$t('commons.personal_info')}}</span>
|
||||||
|
</template>
|
||||||
|
<el-menu-item index="/setting/personsetting">{{$t('commons.personal_setting')}}</el-menu-item>
|
||||||
|
<el-menu-item v-permission="['admin', 'org_admin', 'test_manager', 'test_user', 'test_viewer']"
|
||||||
|
index="/setting/apikeys">API Keys
|
||||||
|
</el-menu-item>
|
||||||
|
</el-submenu>
|
||||||
|
|
||||||
|
</el-menu>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {checkoutCurrentOrganization, checkoutCurrentWorkspace} from "../../../common/js/utils";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "MsSettingMenuBackup",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
isCurrentOrganizationAdmin: false,
|
||||||
|
isCurrentWorkspaceUser: false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.isCurrentOrganizationAdmin = checkoutCurrentOrganization();
|
||||||
|
this.isCurrentWorkspaceUser = checkoutCurrentWorkspace();
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.el-menu {
|
||||||
|
border-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-menu-item {
|
||||||
|
height: 40px;
|
||||||
|
line-height: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
width: 24px;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.account {
|
||||||
|
color: #5a78f0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.organization {
|
||||||
|
color: #b33a5b;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace {
|
||||||
|
color: #44b349;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,88 @@
|
||||||
|
import Setting from "@/business/components/settings/Setting";
|
||||||
|
import User from "@/business/components/settings/system/User";
|
||||||
|
import Organization from "@/business/components/settings/system/Organization";
|
||||||
|
import OrganizationMember from "@/business/components/settings/organization/OrganizationMember";
|
||||||
|
import OrganizationWorkspace from "@/business/components/settings/organization/OrganizationWorkspace";
|
||||||
|
import ServiceIntegration from "@/business/components/settings/organization/ServiceIntegration";
|
||||||
|
import PersonSetting from "@/business/components/settings/personal/PersonSetting";
|
||||||
|
import ApiKeys from "@/business/components/settings/personal/ApiKeys";
|
||||||
|
import Member from "@/business/components/settings/workspace/WorkspaceMember";
|
||||||
|
import SystemWorkspace from "@/business/components/settings/system/SystemWorkspace";
|
||||||
|
import TestResourcePool from "@/business/components/settings/system/TestResourcePool";
|
||||||
|
import SystemParameterSetting from "@/business/components/settings/system/SystemParameterSetting";
|
||||||
|
import TestCaseReportTemplate from "@/business/components/settings/workspace/TestCaseReportTemplate";
|
||||||
|
|
||||||
|
const requireContext = require.context('@/business/components/xpack/', true, /router\.js$/)
|
||||||
|
|
||||||
|
export default {
|
||||||
|
path: "/setting",
|
||||||
|
name: "Setting",
|
||||||
|
components: {
|
||||||
|
content: Setting
|
||||||
|
},
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: 'user',
|
||||||
|
component: User,
|
||||||
|
meta: {system: true, title: 'commons.user'}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'organization',
|
||||||
|
component: Organization,
|
||||||
|
meta: {system: true, title: 'commons.organization'}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'systemworkspace',
|
||||||
|
component: SystemWorkspace,
|
||||||
|
meta: {system: true, title: 'commons.workspace'}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'testresourcepool',
|
||||||
|
component: TestResourcePool,
|
||||||
|
meta: {system: true, title: 'commons.test_resource_pool'}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'systemparametersetting',
|
||||||
|
component: SystemParameterSetting,
|
||||||
|
meta: {system: true, title: 'commons.system_parameter_setting'}
|
||||||
|
},
|
||||||
|
...requireContext.keys().map(key => requireContext(key).system),
|
||||||
|
{
|
||||||
|
path: 'organizationmember',
|
||||||
|
component: OrganizationMember,
|
||||||
|
meta: {organization: true, title: 'commons.member'}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'organizationworkspace',
|
||||||
|
component: OrganizationWorkspace,
|
||||||
|
meta: {organization: true, title: 'commons.workspace'}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'serviceintegration',
|
||||||
|
component: ServiceIntegration,
|
||||||
|
meta: {organization: true, title: 'organization.service_integration'}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'member',
|
||||||
|
component: Member,
|
||||||
|
meta: {workspace: true, title: 'commons.member'}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'testcase/report/template',
|
||||||
|
name: 'testCaseReportTemplate',
|
||||||
|
component: TestCaseReportTemplate,
|
||||||
|
meta: {workspace: true, title: 'test_track.plan_view.report_template'}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'personsetting',
|
||||||
|
component: PersonSetting,
|
||||||
|
meta: {person: true, title: 'commons.personal_setting'}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'apikeys',
|
||||||
|
component: ApiKeys,
|
||||||
|
meta: {person: true, title: 'commons.api_keys'}
|
||||||
|
},
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
|
@ -173,7 +173,7 @@
|
||||||
<el-input v-model="form.name" autocomplete="off"/>
|
<el-input v-model="form.name" autocomplete="off"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('commons.email')" prop="email">
|
<el-form-item :label="$t('commons.email')" prop="email">
|
||||||
<el-input v-model="form.email" autocomplete="off" :disabled="form.source === 'LDAP' ? true : false"/>
|
<el-input v-model="form.email" autocomplete="off" :disabled="form.source === 'LDAP'"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('commons.phone')" prop="phone">
|
<el-form-item :label="$t('commons.phone')" prop="phone">
|
||||||
<el-input v-model="form.phone" autocomplete="off"/>
|
<el-input v-model="form.phone" autocomplete="off"/>
|
||||||
|
@ -296,7 +296,7 @@
|
||||||
import MsTableOperator from "../../common/components/MsTableOperator";
|
import MsTableOperator from "../../common/components/MsTableOperator";
|
||||||
import MsDialogFooter from "../../common/components/MsDialogFooter";
|
import MsDialogFooter from "../../common/components/MsDialogFooter";
|
||||||
import MsTableOperatorButton from "../../common/components/MsTableOperatorButton";
|
import MsTableOperatorButton from "../../common/components/MsTableOperatorButton";
|
||||||
import {getCurrentUser, listenGoBack, removeGoBackListener} from "../../../../common/js/utils";
|
import {listenGoBack, removeGoBackListener} from "@/common/js/utils";
|
||||||
import MsRolesTag from "../../common/components/MsRolesTag";
|
import MsRolesTag from "../../common/components/MsRolesTag";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
@ -469,7 +469,7 @@
|
||||||
editUserPassword(editPasswordForm) {
|
editUserPassword(editPasswordForm) {
|
||||||
this.$refs[editPasswordForm].validate(valid => {
|
this.$refs[editPasswordForm].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.result = this.$post(this.editPasswordPath, this.ruleForm, response => {
|
this.result = this.$post(this.editPasswordPath, this.ruleForm, () => {
|
||||||
this.$success(this.$t('commons.modify_success'));
|
this.$success(this.$t('commons.modify_success'));
|
||||||
this.editPasswordVisible = false;
|
this.editPasswordVisible = false;
|
||||||
this.search();
|
this.search();
|
||||||
|
@ -492,7 +492,7 @@
|
||||||
let roles = data.roles;
|
let roles = data.roles;
|
||||||
// let userRoles = result.userRoles;
|
// let userRoles = result.userRoles;
|
||||||
this.$set(this.tableData[i], "roles", roles);
|
this.$set(this.tableData[i], "roles", roles);
|
||||||
this.$set(this.tableData[i], "isLdapUser", this.tableData[i].source === 'LDAP' ? true : false);
|
this.$set(this.tableData[i], "isLdapUser", this.tableData[i].source === 'LDAP');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 52adadce7eb781fcab20c5e1ab7e83bd03b24b4e
|
Subproject commit 7e4d80cc2b870a8cac6dbb9fe6711ab6041faf6d
|
|
@ -64,6 +64,20 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Vue.prototype.$$get = function (url, data, success) {
|
||||||
|
let result = {loading: true};
|
||||||
|
if (!success) {
|
||||||
|
return axios.get(url, {params: data});
|
||||||
|
} else {
|
||||||
|
axios.get(url, {params: data}).then(response => {
|
||||||
|
then(success, response, result);
|
||||||
|
}).catch(error => {
|
||||||
|
exception(error, result);
|
||||||
|
});
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
Vue.prototype.$get = function (url, success) {
|
Vue.prototype.$get = function (url, success) {
|
||||||
let result = {loading: true};
|
let result = {loading: true};
|
||||||
if (!success) {
|
if (!success) {
|
||||||
|
@ -117,7 +131,7 @@ export default {
|
||||||
axios.all(array).then(axios.spread(callback));
|
axios.all(array).then(axios.spread(callback));
|
||||||
};
|
};
|
||||||
|
|
||||||
Vue.prototype.$fileDownload = function(url) {
|
Vue.prototype.$fileDownload = function (url) {
|
||||||
axios.get(url, {responseType: 'blob'})
|
axios.get(url, {responseType: 'blob'})
|
||||||
.then(response => {
|
.then(response => {
|
||||||
let fileName = window.decodeURI(response.headers['content-disposition'].split('=')[1]);
|
let fileName = window.decodeURI(response.headers['content-disposition'].split('=')[1]);
|
||||||
|
@ -128,11 +142,11 @@ export default {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
Vue.prototype.$fileUpload = function(url, file, param, success, failure) {
|
Vue.prototype.$fileUpload = function (url, file, param, success, failure) {
|
||||||
let formData = new FormData();
|
let formData = new FormData();
|
||||||
formData.append("file", file);
|
formData.append("file", file);
|
||||||
formData.append('request', new Blob([JSON.stringify(param)], {type: "application/json"}));
|
formData.append('request', new Blob([JSON.stringify(param)], {type: "application/json"}));
|
||||||
let axiosRequestConfig = {
|
let axiosRequestConfig = {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
url: url,
|
url: url,
|
||||||
data: formData,
|
data: formData,
|
||||||
|
@ -140,7 +154,7 @@ export default {
|
||||||
'Content-Type': undefined
|
'Content-Type': undefined
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
return Vue.prototype.$request(axiosRequestConfig, success, failure);
|
return Vue.prototype.$request(axiosRequestConfig, success, failure);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,6 +43,8 @@ export default {
|
||||||
user: 'User',
|
user: 'User',
|
||||||
system: 'System',
|
system: 'System',
|
||||||
personal_setting: 'Personal Setting',
|
personal_setting: 'Personal Setting',
|
||||||
|
api_keys: 'API Keys',
|
||||||
|
quota: 'Quota',
|
||||||
test_resource_pool: 'Resource Pool',
|
test_resource_pool: 'Resource Pool',
|
||||||
system_setting: 'Settings',
|
system_setting: 'Settings',
|
||||||
api: 'API',
|
api: 'API',
|
||||||
|
@ -766,4 +768,23 @@ export default {
|
||||||
no_qualifying_results: "No Qualifying Results",
|
no_qualifying_results: "No Qualifying Results",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
quota: {
|
||||||
|
default: {
|
||||||
|
organization: "Organization Default Quota",
|
||||||
|
workspace: "Workspace Default Quota",
|
||||||
|
},
|
||||||
|
api: "Number of interface tests",
|
||||||
|
performance: "Number of performance tests",
|
||||||
|
resource_pool: "Available test resource pool",
|
||||||
|
max_threads: "Maximum Concurrency",
|
||||||
|
duration: "Stress test duration",
|
||||||
|
use_default: "Use default quota",
|
||||||
|
yes: "Yes",
|
||||||
|
no: "No",
|
||||||
|
edit: "Edit",
|
||||||
|
list: "Quota List",
|
||||||
|
modify: "Modify Quota",
|
||||||
|
edit_quota_title: "{0} quota",
|
||||||
|
workspace_quota_list: "Workspace quota list of {0}",
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -36,6 +36,8 @@ export default {
|
||||||
phone: '电话',
|
phone: '电话',
|
||||||
role: '角色',
|
role: '角色',
|
||||||
personal_info: '个人信息',
|
personal_info: '个人信息',
|
||||||
|
api_keys: 'API Keys',
|
||||||
|
quota: '配额管理',
|
||||||
status: '状态',
|
status: '状态',
|
||||||
show_all: '显示全部',
|
show_all: '显示全部',
|
||||||
show: '显示',
|
show: '显示',
|
||||||
|
@ -769,4 +771,23 @@ export default {
|
||||||
no_qualifying_results: "没有达到条件的结果",
|
no_qualifying_results: "没有达到条件的结果",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
quota: {
|
||||||
|
default: {
|
||||||
|
organization: "组织默认配额",
|
||||||
|
workspace: "工作空间默认配额",
|
||||||
|
},
|
||||||
|
api: "接口测试数量",
|
||||||
|
performance: "性能测试数量",
|
||||||
|
resource_pool: "可用测试资源池",
|
||||||
|
max_threads: "最大并发数",
|
||||||
|
duration: "压测时长",
|
||||||
|
use_default: "使用默认配额",
|
||||||
|
yes: "是",
|
||||||
|
no: "否",
|
||||||
|
edit: "编辑",
|
||||||
|
list: "配额列表",
|
||||||
|
modify: "修改配额",
|
||||||
|
edit_quota_title: "{0}的配额",
|
||||||
|
workspace_quota_list: "{0}的工作空间配额列表",
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -43,6 +43,8 @@ export default {
|
||||||
user: '用戶',
|
user: '用戶',
|
||||||
system: '系統',
|
system: '系統',
|
||||||
personal_setting: '個人設置',
|
personal_setting: '個人設置',
|
||||||
|
api_keys: 'API Keys',
|
||||||
|
quota: '配額管理',
|
||||||
test_resource_pool: '測試資源池',
|
test_resource_pool: '測試資源池',
|
||||||
system_setting: '系統設置',
|
system_setting: '系統設置',
|
||||||
api: '接口測試',
|
api: '接口測試',
|
||||||
|
@ -765,4 +767,23 @@ export default {
|
||||||
no_qualifying_results: "沒有達到條件的結果",
|
no_qualifying_results: "沒有達到條件的結果",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
quota: {
|
||||||
|
default: {
|
||||||
|
organization: "組織默認配額",
|
||||||
|
workspace: "工作空間默認配額",
|
||||||
|
},
|
||||||
|
api: "接口測試數量",
|
||||||
|
performance: "性能測試數量",
|
||||||
|
resource_pool: "可用測試資源池",
|
||||||
|
max_threads: "最大並發數",
|
||||||
|
duration: "壓測時長",
|
||||||
|
use_default: "使用默認配額",
|
||||||
|
yes: "是",
|
||||||
|
no: "否",
|
||||||
|
edit: "編輯",
|
||||||
|
list: "配額列表",
|
||||||
|
modify: "修改配額",
|
||||||
|
edit_quota_title: "{0}的配額",
|
||||||
|
workspace_quota_list: "{0}的工作空間配額列表",
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue