feat: 测试用例支持拖拽调整顺序
This commit is contained in:
parent
2c321c3422
commit
effcece5b1
|
@ -9,6 +9,8 @@ public class TestCase implements Serializable {
|
||||||
|
|
||||||
private String nodeId;
|
private String nodeId;
|
||||||
|
|
||||||
|
private String testId;
|
||||||
|
|
||||||
private String nodePath;
|
private String nodePath;
|
||||||
|
|
||||||
private String projectId;
|
private String projectId;
|
||||||
|
@ -27,8 +29,6 @@ public class TestCase implements Serializable {
|
||||||
|
|
||||||
private Long updateTime;
|
private Long updateTime;
|
||||||
|
|
||||||
private String testId;
|
|
||||||
|
|
||||||
private Integer sort;
|
private Integer sort;
|
||||||
|
|
||||||
private Integer num;
|
private Integer num;
|
||||||
|
@ -47,10 +47,10 @@ public class TestCase implements Serializable {
|
||||||
|
|
||||||
private String status;
|
private String status;
|
||||||
|
|
||||||
private String customNum;
|
|
||||||
|
|
||||||
private String stepModel;
|
private String stepModel;
|
||||||
|
|
||||||
|
private String customNum;
|
||||||
|
|
||||||
private String createUser;
|
private String createUser;
|
||||||
|
|
||||||
private String originalStatus;
|
private String originalStatus;
|
||||||
|
@ -59,5 +59,7 @@ public class TestCase implements Serializable {
|
||||||
|
|
||||||
private String deleteUserId;
|
private String deleteUserId;
|
||||||
|
|
||||||
|
private Long order;
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
}
|
}
|
||||||
|
|
|
@ -244,6 +244,76 @@ public class TestCaseExample {
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Criteria andTestIdIsNull() {
|
||||||
|
addCriterion("test_id is null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andTestIdIsNotNull() {
|
||||||
|
addCriterion("test_id is not null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andTestIdEqualTo(String value) {
|
||||||
|
addCriterion("test_id =", value, "testId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andTestIdNotEqualTo(String value) {
|
||||||
|
addCriterion("test_id <>", value, "testId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andTestIdGreaterThan(String value) {
|
||||||
|
addCriterion("test_id >", value, "testId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andTestIdGreaterThanOrEqualTo(String value) {
|
||||||
|
addCriterion("test_id >=", value, "testId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andTestIdLessThan(String value) {
|
||||||
|
addCriterion("test_id <", value, "testId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andTestIdLessThanOrEqualTo(String value) {
|
||||||
|
addCriterion("test_id <=", value, "testId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andTestIdLike(String value) {
|
||||||
|
addCriterion("test_id like", value, "testId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andTestIdNotLike(String value) {
|
||||||
|
addCriterion("test_id not like", value, "testId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andTestIdIn(List<String> values) {
|
||||||
|
addCriterion("test_id in", values, "testId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andTestIdNotIn(List<String> values) {
|
||||||
|
addCriterion("test_id not in", values, "testId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andTestIdBetween(String value1, String value2) {
|
||||||
|
addCriterion("test_id between", value1, value2, "testId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andTestIdNotBetween(String value1, String value2) {
|
||||||
|
addCriterion("test_id not between", value1, value2, "testId");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
public Criteria andNodePathIsNull() {
|
public Criteria andNodePathIsNull() {
|
||||||
addCriterion("node_path is null");
|
addCriterion("node_path is null");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
|
@ -854,76 +924,6 @@ public class TestCaseExample {
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andTestIdIsNull() {
|
|
||||||
addCriterion("test_id is null");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andTestIdIsNotNull() {
|
|
||||||
addCriterion("test_id is not null");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andTestIdEqualTo(String value) {
|
|
||||||
addCriterion("test_id =", value, "testId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andTestIdNotEqualTo(String value) {
|
|
||||||
addCriterion("test_id <>", value, "testId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andTestIdGreaterThan(String value) {
|
|
||||||
addCriterion("test_id >", value, "testId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andTestIdGreaterThanOrEqualTo(String value) {
|
|
||||||
addCriterion("test_id >=", value, "testId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andTestIdLessThan(String value) {
|
|
||||||
addCriterion("test_id <", value, "testId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andTestIdLessThanOrEqualTo(String value) {
|
|
||||||
addCriterion("test_id <=", value, "testId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andTestIdLike(String value) {
|
|
||||||
addCriterion("test_id like", value, "testId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andTestIdNotLike(String value) {
|
|
||||||
addCriterion("test_id not like", value, "testId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andTestIdIn(List<String> values) {
|
|
||||||
addCriterion("test_id in", values, "testId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andTestIdNotIn(List<String> values) {
|
|
||||||
addCriterion("test_id not in", values, "testId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andTestIdBetween(String value1, String value2) {
|
|
||||||
addCriterion("test_id between", value1, value2, "testId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andTestIdNotBetween(String value1, String value2) {
|
|
||||||
addCriterion("test_id not between", value1, value2, "testId");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andSortIsNull() {
|
public Criteria andSortIsNull() {
|
||||||
addCriterion("sort is null");
|
addCriterion("sort is null");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
|
@ -1534,76 +1534,6 @@ public class TestCaseExample {
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andCustomNumIsNull() {
|
|
||||||
addCriterion("custom_num is null");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andCustomNumIsNotNull() {
|
|
||||||
addCriterion("custom_num is not null");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andCustomNumEqualTo(String value) {
|
|
||||||
addCriterion("custom_num =", value, "customNum");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andCustomNumNotEqualTo(String value) {
|
|
||||||
addCriterion("custom_num <>", value, "customNum");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andCustomNumGreaterThan(String value) {
|
|
||||||
addCriterion("custom_num >", value, "customNum");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andCustomNumGreaterThanOrEqualTo(String value) {
|
|
||||||
addCriterion("custom_num >=", value, "customNum");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andCustomNumLessThan(String value) {
|
|
||||||
addCriterion("custom_num <", value, "customNum");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andCustomNumLessThanOrEqualTo(String value) {
|
|
||||||
addCriterion("custom_num <=", value, "customNum");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andCustomNumLike(String value) {
|
|
||||||
addCriterion("custom_num like", value, "customNum");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andCustomNumNotLike(String value) {
|
|
||||||
addCriterion("custom_num not like", value, "customNum");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andCustomNumIn(List<String> values) {
|
|
||||||
addCriterion("custom_num in", values, "customNum");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andCustomNumNotIn(List<String> values) {
|
|
||||||
addCriterion("custom_num not in", values, "customNum");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andCustomNumBetween(String value1, String value2) {
|
|
||||||
addCriterion("custom_num between", value1, value2, "customNum");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andCustomNumNotBetween(String value1, String value2) {
|
|
||||||
addCriterion("custom_num not between", value1, value2, "customNum");
|
|
||||||
return (Criteria) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Criteria andStepModelIsNull() {
|
public Criteria andStepModelIsNull() {
|
||||||
addCriterion("step_model is null");
|
addCriterion("step_model is null");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
|
@ -1674,6 +1604,76 @@ public class TestCaseExample {
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumIsNull() {
|
||||||
|
addCriterion("custom_num is null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumIsNotNull() {
|
||||||
|
addCriterion("custom_num is not null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumEqualTo(String value) {
|
||||||
|
addCriterion("custom_num =", value, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumNotEqualTo(String value) {
|
||||||
|
addCriterion("custom_num <>", value, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumGreaterThan(String value) {
|
||||||
|
addCriterion("custom_num >", value, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumGreaterThanOrEqualTo(String value) {
|
||||||
|
addCriterion("custom_num >=", value, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumLessThan(String value) {
|
||||||
|
addCriterion("custom_num <", value, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumLessThanOrEqualTo(String value) {
|
||||||
|
addCriterion("custom_num <=", value, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumLike(String value) {
|
||||||
|
addCriterion("custom_num like", value, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumNotLike(String value) {
|
||||||
|
addCriterion("custom_num not like", value, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumIn(List<String> values) {
|
||||||
|
addCriterion("custom_num in", values, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumNotIn(List<String> values) {
|
||||||
|
addCriterion("custom_num not in", values, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumBetween(String value1, String value2) {
|
||||||
|
addCriterion("custom_num between", value1, value2, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCustomNumNotBetween(String value1, String value2) {
|
||||||
|
addCriterion("custom_num not between", value1, value2, "customNum");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
public Criteria andCreateUserIsNull() {
|
public Criteria andCreateUserIsNull() {
|
||||||
addCriterion("create_user is null");
|
addCriterion("create_user is null");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
|
@ -1943,6 +1943,66 @@ public class TestCaseExample {
|
||||||
addCriterion("delete_user_id not between", value1, value2, "deleteUserId");
|
addCriterion("delete_user_id not between", value1, value2, "deleteUserId");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Criteria andOrderIsNull() {
|
||||||
|
addCriterion("`order` is null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andOrderIsNotNull() {
|
||||||
|
addCriterion("`order` is not null");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andOrderEqualTo(Long value) {
|
||||||
|
addCriterion("`order` =", value, "order");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andOrderNotEqualTo(Long value) {
|
||||||
|
addCriterion("`order` <>", value, "order");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andOrderGreaterThan(Long value) {
|
||||||
|
addCriterion("`order` >", value, "order");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andOrderGreaterThanOrEqualTo(Long value) {
|
||||||
|
addCriterion("`order` >=", value, "order");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andOrderLessThan(Long value) {
|
||||||
|
addCriterion("`order` <", value, "order");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andOrderLessThanOrEqualTo(Long value) {
|
||||||
|
addCriterion("`order` <=", value, "order");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andOrderIn(List<Long> values) {
|
||||||
|
addCriterion("`order` in", values, "order");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andOrderNotIn(List<Long> values) {
|
||||||
|
addCriterion("`order` not in", values, "order");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andOrderBetween(Long value1, Long value2) {
|
||||||
|
addCriterion("`order` between", value1, value2, "order");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andOrderNotBetween(Long value1, Long value2) {
|
||||||
|
addCriterion("`order` not between", value1, value2, "order");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Criteria extends GeneratedCriteria {
|
public static class Criteria extends GeneratedCriteria {
|
||||||
|
@ -2037,4 +2097,4 @@ public class TestCaseExample {
|
||||||
this(condition, value, secondValue, null);
|
this(condition, value, secondValue, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
<resultMap id="BaseResultMap" type="io.metersphere.base.domain.TestCase">
|
<resultMap id="BaseResultMap" type="io.metersphere.base.domain.TestCase">
|
||||||
<id column="id" jdbcType="VARCHAR" property="id" />
|
<id column="id" jdbcType="VARCHAR" property="id" />
|
||||||
<result column="node_id" jdbcType="VARCHAR" property="nodeId" />
|
<result column="node_id" jdbcType="VARCHAR" property="nodeId" />
|
||||||
|
<result column="test_id" jdbcType="VARCHAR" property="testId" />
|
||||||
<result column="node_path" jdbcType="VARCHAR" property="nodePath" />
|
<result column="node_path" jdbcType="VARCHAR" property="nodePath" />
|
||||||
<result column="project_id" jdbcType="VARCHAR" property="projectId" />
|
<result column="project_id" jdbcType="VARCHAR" property="projectId" />
|
||||||
<result column="name" jdbcType="VARCHAR" property="name" />
|
<result column="name" jdbcType="VARCHAR" property="name" />
|
||||||
|
@ -13,7 +14,6 @@
|
||||||
<result column="method" jdbcType="VARCHAR" property="method" />
|
<result column="method" jdbcType="VARCHAR" property="method" />
|
||||||
<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" />
|
||||||
<result column="test_id" jdbcType="VARCHAR" property="testId" />
|
|
||||||
<result column="sort" jdbcType="INTEGER" property="sort" />
|
<result column="sort" jdbcType="INTEGER" property="sort" />
|
||||||
<result column="num" jdbcType="INTEGER" property="num" />
|
<result column="num" jdbcType="INTEGER" property="num" />
|
||||||
<result column="other_test_name" jdbcType="VARCHAR" property="otherTestName" />
|
<result column="other_test_name" jdbcType="VARCHAR" property="otherTestName" />
|
||||||
|
@ -23,12 +23,13 @@
|
||||||
<result column="demand_name" jdbcType="VARCHAR" property="demandName" />
|
<result column="demand_name" jdbcType="VARCHAR" property="demandName" />
|
||||||
<result column="follow_people" jdbcType="VARCHAR" property="followPeople" />
|
<result column="follow_people" jdbcType="VARCHAR" property="followPeople" />
|
||||||
<result column="status" jdbcType="VARCHAR" property="status" />
|
<result column="status" jdbcType="VARCHAR" property="status" />
|
||||||
<result column="custom_num" jdbcType="VARCHAR" property="customNum" />
|
|
||||||
<result column="step_model" jdbcType="VARCHAR" property="stepModel" />
|
<result column="step_model" jdbcType="VARCHAR" property="stepModel" />
|
||||||
|
<result column="custom_num" jdbcType="VARCHAR" property="customNum" />
|
||||||
<result column="create_user" jdbcType="VARCHAR" property="createUser" />
|
<result column="create_user" jdbcType="VARCHAR" property="createUser" />
|
||||||
<result column="original_status" jdbcType="VARCHAR" property="originalStatus" />
|
<result column="original_status" jdbcType="VARCHAR" property="originalStatus" />
|
||||||
<result column="delete_time" jdbcType="BIGINT" property="deleteTime" />
|
<result column="delete_time" jdbcType="BIGINT" property="deleteTime" />
|
||||||
<result column="delete_user_id" jdbcType="VARCHAR" property="deleteUserId" />
|
<result column="delete_user_id" jdbcType="VARCHAR" property="deleteUserId" />
|
||||||
|
<result column="order" jdbcType="BIGINT" property="order" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="io.metersphere.base.domain.TestCaseWithBLOBs">
|
<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="io.metersphere.base.domain.TestCaseWithBLOBs">
|
||||||
<result column="prerequisite" jdbcType="LONGVARCHAR" property="prerequisite" />
|
<result column="prerequisite" jdbcType="LONGVARCHAR" property="prerequisite" />
|
||||||
|
@ -97,10 +98,10 @@
|
||||||
</where>
|
</where>
|
||||||
</sql>
|
</sql>
|
||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
id, node_id, node_path, project_id, `name`, `type`, maintainer, priority, `method`,
|
id, node_id, test_id, node_path, project_id, `name`, `type`, maintainer, priority,
|
||||||
create_time, update_time, test_id, sort, num, other_test_name, review_status, tags,
|
`method`, create_time, update_time, sort, num, other_test_name, review_status, tags,
|
||||||
demand_id, demand_name, follow_people, `status`, custom_num, step_model, create_user,
|
demand_id, demand_name, follow_people, `status`, step_model, custom_num, create_user,
|
||||||
original_status, delete_time, delete_user_id
|
original_status, delete_time, delete_user_id, `order`
|
||||||
</sql>
|
</sql>
|
||||||
<sql id="Blob_Column_List">
|
<sql id="Blob_Column_List">
|
||||||
prerequisite, remark, steps, step_description, expected_result, custom_fields
|
prerequisite, remark, steps, step_description, expected_result, custom_fields
|
||||||
|
@ -136,7 +137,7 @@
|
||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="ResultMapWithBLOBs">
|
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="ResultMapWithBLOBs">
|
||||||
select
|
select
|
||||||
<include refid="Base_Column_List" />
|
<include refid="Base_Column_List" />
|
||||||
,
|
,
|
||||||
<include refid="Blob_Column_List" />
|
<include refid="Blob_Column_List" />
|
||||||
|
@ -154,29 +155,29 @@
|
||||||
</if>
|
</if>
|
||||||
</delete>
|
</delete>
|
||||||
<insert id="insert" parameterType="io.metersphere.base.domain.TestCaseWithBLOBs">
|
<insert id="insert" parameterType="io.metersphere.base.domain.TestCaseWithBLOBs">
|
||||||
insert into test_case (id, node_id, node_path,
|
insert into test_case (id, node_id, test_id,
|
||||||
project_id, `name`, `type`,
|
node_path, project_id, `name`,
|
||||||
maintainer, priority, `method`,
|
`type`, maintainer, priority,
|
||||||
create_time, update_time, test_id,
|
`method`, create_time, update_time,
|
||||||
sort, num, other_test_name,
|
sort, num, other_test_name,
|
||||||
review_status, tags, demand_id,
|
review_status, tags, demand_id,
|
||||||
demand_name, follow_people, `status`,
|
demand_name, follow_people, `status`,
|
||||||
custom_num, step_model, create_user,
|
step_model, custom_num, create_user,
|
||||||
original_status, delete_time, delete_user_id,
|
original_status, delete_time, delete_user_id,
|
||||||
prerequisite, remark, steps,
|
`order`, prerequisite, remark,
|
||||||
step_description, expected_result,
|
steps, step_description, expected_result,
|
||||||
custom_fields)
|
custom_fields)
|
||||||
values (#{id,jdbcType=VARCHAR}, #{nodeId,jdbcType=VARCHAR}, #{nodePath,jdbcType=VARCHAR},
|
values (#{id,jdbcType=VARCHAR}, #{nodeId,jdbcType=VARCHAR}, #{testId,jdbcType=VARCHAR},
|
||||||
#{projectId,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR},
|
#{nodePath,jdbcType=VARCHAR}, #{projectId,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR},
|
||||||
#{maintainer,jdbcType=VARCHAR}, #{priority,jdbcType=VARCHAR}, #{method,jdbcType=VARCHAR},
|
#{type,jdbcType=VARCHAR}, #{maintainer,jdbcType=VARCHAR}, #{priority,jdbcType=VARCHAR},
|
||||||
#{createTime,jdbcType=BIGINT}, #{updateTime,jdbcType=BIGINT}, #{testId,jdbcType=VARCHAR},
|
#{method,jdbcType=VARCHAR}, #{createTime,jdbcType=BIGINT}, #{updateTime,jdbcType=BIGINT},
|
||||||
#{sort,jdbcType=INTEGER}, #{num,jdbcType=INTEGER}, #{otherTestName,jdbcType=VARCHAR},
|
#{sort,jdbcType=INTEGER}, #{num,jdbcType=INTEGER}, #{otherTestName,jdbcType=VARCHAR},
|
||||||
#{reviewStatus,jdbcType=VARCHAR}, #{tags,jdbcType=VARCHAR}, #{demandId,jdbcType=VARCHAR},
|
#{reviewStatus,jdbcType=VARCHAR}, #{tags,jdbcType=VARCHAR}, #{demandId,jdbcType=VARCHAR},
|
||||||
#{demandName,jdbcType=VARCHAR}, #{followPeople,jdbcType=VARCHAR}, #{status,jdbcType=VARCHAR},
|
#{demandName,jdbcType=VARCHAR}, #{followPeople,jdbcType=VARCHAR}, #{status,jdbcType=VARCHAR},
|
||||||
#{customNum,jdbcType=VARCHAR}, #{stepModel,jdbcType=VARCHAR}, #{createUser,jdbcType=VARCHAR},
|
#{stepModel,jdbcType=VARCHAR}, #{customNum,jdbcType=VARCHAR}, #{createUser,jdbcType=VARCHAR},
|
||||||
#{originalStatus,jdbcType=VARCHAR}, #{deleteTime,jdbcType=BIGINT}, #{deleteUserId,jdbcType=VARCHAR},
|
#{originalStatus,jdbcType=VARCHAR}, #{deleteTime,jdbcType=BIGINT}, #{deleteUserId,jdbcType=VARCHAR},
|
||||||
#{prerequisite,jdbcType=LONGVARCHAR}, #{remark,jdbcType=LONGVARCHAR}, #{steps,jdbcType=LONGVARCHAR},
|
#{order,jdbcType=BIGINT}, #{prerequisite,jdbcType=LONGVARCHAR}, #{remark,jdbcType=LONGVARCHAR},
|
||||||
#{stepDescription,jdbcType=LONGVARCHAR}, #{expectedResult,jdbcType=LONGVARCHAR},
|
#{steps,jdbcType=LONGVARCHAR}, #{stepDescription,jdbcType=LONGVARCHAR}, #{expectedResult,jdbcType=LONGVARCHAR},
|
||||||
#{customFields,jdbcType=LONGVARCHAR})
|
#{customFields,jdbcType=LONGVARCHAR})
|
||||||
</insert>
|
</insert>
|
||||||
<insert id="insertSelective" parameterType="io.metersphere.base.domain.TestCaseWithBLOBs">
|
<insert id="insertSelective" parameterType="io.metersphere.base.domain.TestCaseWithBLOBs">
|
||||||
|
@ -188,6 +189,9 @@
|
||||||
<if test="nodeId != null">
|
<if test="nodeId != null">
|
||||||
node_id,
|
node_id,
|
||||||
</if>
|
</if>
|
||||||
|
<if test="testId != null">
|
||||||
|
test_id,
|
||||||
|
</if>
|
||||||
<if test="nodePath != null">
|
<if test="nodePath != null">
|
||||||
node_path,
|
node_path,
|
||||||
</if>
|
</if>
|
||||||
|
@ -215,9 +219,6 @@
|
||||||
<if test="updateTime != null">
|
<if test="updateTime != null">
|
||||||
update_time,
|
update_time,
|
||||||
</if>
|
</if>
|
||||||
<if test="testId != null">
|
|
||||||
test_id,
|
|
||||||
</if>
|
|
||||||
<if test="sort != null">
|
<if test="sort != null">
|
||||||
sort,
|
sort,
|
||||||
</if>
|
</if>
|
||||||
|
@ -245,12 +246,12 @@
|
||||||
<if test="status != null">
|
<if test="status != null">
|
||||||
`status`,
|
`status`,
|
||||||
</if>
|
</if>
|
||||||
<if test="customNum != null">
|
|
||||||
custom_num,
|
|
||||||
</if>
|
|
||||||
<if test="stepModel != null">
|
<if test="stepModel != null">
|
||||||
step_model,
|
step_model,
|
||||||
</if>
|
</if>
|
||||||
|
<if test="customNum != null">
|
||||||
|
custom_num,
|
||||||
|
</if>
|
||||||
<if test="createUser != null">
|
<if test="createUser != null">
|
||||||
create_user,
|
create_user,
|
||||||
</if>
|
</if>
|
||||||
|
@ -263,6 +264,9 @@
|
||||||
<if test="deleteUserId != null">
|
<if test="deleteUserId != null">
|
||||||
delete_user_id,
|
delete_user_id,
|
||||||
</if>
|
</if>
|
||||||
|
<if test="order != null">
|
||||||
|
`order`,
|
||||||
|
</if>
|
||||||
<if test="prerequisite != null">
|
<if test="prerequisite != null">
|
||||||
prerequisite,
|
prerequisite,
|
||||||
</if>
|
</if>
|
||||||
|
@ -289,6 +293,9 @@
|
||||||
<if test="nodeId != null">
|
<if test="nodeId != null">
|
||||||
#{nodeId,jdbcType=VARCHAR},
|
#{nodeId,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="testId != null">
|
||||||
|
#{testId,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
<if test="nodePath != null">
|
<if test="nodePath != null">
|
||||||
#{nodePath,jdbcType=VARCHAR},
|
#{nodePath,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
@ -316,9 +323,6 @@
|
||||||
<if test="updateTime != null">
|
<if test="updateTime != null">
|
||||||
#{updateTime,jdbcType=BIGINT},
|
#{updateTime,jdbcType=BIGINT},
|
||||||
</if>
|
</if>
|
||||||
<if test="testId != null">
|
|
||||||
#{testId,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="sort != null">
|
<if test="sort != null">
|
||||||
#{sort,jdbcType=INTEGER},
|
#{sort,jdbcType=INTEGER},
|
||||||
</if>
|
</if>
|
||||||
|
@ -346,12 +350,12 @@
|
||||||
<if test="status != null">
|
<if test="status != null">
|
||||||
#{status,jdbcType=VARCHAR},
|
#{status,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
<if test="customNum != null">
|
|
||||||
#{customNum,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="stepModel != null">
|
<if test="stepModel != null">
|
||||||
#{stepModel,jdbcType=VARCHAR},
|
#{stepModel,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="customNum != null">
|
||||||
|
#{customNum,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
<if test="createUser != null">
|
<if test="createUser != null">
|
||||||
#{createUser,jdbcType=VARCHAR},
|
#{createUser,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
@ -364,6 +368,9 @@
|
||||||
<if test="deleteUserId != null">
|
<if test="deleteUserId != null">
|
||||||
#{deleteUserId,jdbcType=VARCHAR},
|
#{deleteUserId,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="order != null">
|
||||||
|
#{order,jdbcType=BIGINT},
|
||||||
|
</if>
|
||||||
<if test="prerequisite != null">
|
<if test="prerequisite != null">
|
||||||
#{prerequisite,jdbcType=LONGVARCHAR},
|
#{prerequisite,jdbcType=LONGVARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
@ -399,6 +406,9 @@
|
||||||
<if test="record.nodeId != null">
|
<if test="record.nodeId != null">
|
||||||
node_id = #{record.nodeId,jdbcType=VARCHAR},
|
node_id = #{record.nodeId,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="record.testId != null">
|
||||||
|
test_id = #{record.testId,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
<if test="record.nodePath != null">
|
<if test="record.nodePath != null">
|
||||||
node_path = #{record.nodePath,jdbcType=VARCHAR},
|
node_path = #{record.nodePath,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
@ -426,9 +436,6 @@
|
||||||
<if test="record.updateTime != null">
|
<if test="record.updateTime != null">
|
||||||
update_time = #{record.updateTime,jdbcType=BIGINT},
|
update_time = #{record.updateTime,jdbcType=BIGINT},
|
||||||
</if>
|
</if>
|
||||||
<if test="record.testId != null">
|
|
||||||
test_id = #{record.testId,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="record.sort != null">
|
<if test="record.sort != null">
|
||||||
sort = #{record.sort,jdbcType=INTEGER},
|
sort = #{record.sort,jdbcType=INTEGER},
|
||||||
</if>
|
</if>
|
||||||
|
@ -456,12 +463,12 @@
|
||||||
<if test="record.status != null">
|
<if test="record.status != null">
|
||||||
`status` = #{record.status,jdbcType=VARCHAR},
|
`status` = #{record.status,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
<if test="record.customNum != null">
|
|
||||||
custom_num = #{record.customNum,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="record.stepModel != null">
|
<if test="record.stepModel != null">
|
||||||
step_model = #{record.stepModel,jdbcType=VARCHAR},
|
step_model = #{record.stepModel,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="record.customNum != null">
|
||||||
|
custom_num = #{record.customNum,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
<if test="record.createUser != null">
|
<if test="record.createUser != null">
|
||||||
create_user = #{record.createUser,jdbcType=VARCHAR},
|
create_user = #{record.createUser,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
@ -474,6 +481,9 @@
|
||||||
<if test="record.deleteUserId != null">
|
<if test="record.deleteUserId != null">
|
||||||
delete_user_id = #{record.deleteUserId,jdbcType=VARCHAR},
|
delete_user_id = #{record.deleteUserId,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="record.order != null">
|
||||||
|
`order` = #{record.order,jdbcType=BIGINT},
|
||||||
|
</if>
|
||||||
<if test="record.prerequisite != null">
|
<if test="record.prerequisite != null">
|
||||||
prerequisite = #{record.prerequisite,jdbcType=LONGVARCHAR},
|
prerequisite = #{record.prerequisite,jdbcType=LONGVARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
@ -501,6 +511,7 @@
|
||||||
update test_case
|
update test_case
|
||||||
set id = #{record.id,jdbcType=VARCHAR},
|
set id = #{record.id,jdbcType=VARCHAR},
|
||||||
node_id = #{record.nodeId,jdbcType=VARCHAR},
|
node_id = #{record.nodeId,jdbcType=VARCHAR},
|
||||||
|
test_id = #{record.testId,jdbcType=VARCHAR},
|
||||||
node_path = #{record.nodePath,jdbcType=VARCHAR},
|
node_path = #{record.nodePath,jdbcType=VARCHAR},
|
||||||
project_id = #{record.projectId,jdbcType=VARCHAR},
|
project_id = #{record.projectId,jdbcType=VARCHAR},
|
||||||
`name` = #{record.name,jdbcType=VARCHAR},
|
`name` = #{record.name,jdbcType=VARCHAR},
|
||||||
|
@ -510,7 +521,6 @@
|
||||||
`method` = #{record.method,jdbcType=VARCHAR},
|
`method` = #{record.method,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},
|
||||||
test_id = #{record.testId,jdbcType=VARCHAR},
|
|
||||||
sort = #{record.sort,jdbcType=INTEGER},
|
sort = #{record.sort,jdbcType=INTEGER},
|
||||||
num = #{record.num,jdbcType=INTEGER},
|
num = #{record.num,jdbcType=INTEGER},
|
||||||
other_test_name = #{record.otherTestName,jdbcType=VARCHAR},
|
other_test_name = #{record.otherTestName,jdbcType=VARCHAR},
|
||||||
|
@ -520,12 +530,13 @@
|
||||||
demand_name = #{record.demandName,jdbcType=VARCHAR},
|
demand_name = #{record.demandName,jdbcType=VARCHAR},
|
||||||
follow_people = #{record.followPeople,jdbcType=VARCHAR},
|
follow_people = #{record.followPeople,jdbcType=VARCHAR},
|
||||||
`status` = #{record.status,jdbcType=VARCHAR},
|
`status` = #{record.status,jdbcType=VARCHAR},
|
||||||
custom_num = #{record.customNum,jdbcType=VARCHAR},
|
|
||||||
step_model = #{record.stepModel,jdbcType=VARCHAR},
|
step_model = #{record.stepModel,jdbcType=VARCHAR},
|
||||||
|
custom_num = #{record.customNum,jdbcType=VARCHAR},
|
||||||
create_user = #{record.createUser,jdbcType=VARCHAR},
|
create_user = #{record.createUser,jdbcType=VARCHAR},
|
||||||
original_status = #{record.originalStatus,jdbcType=VARCHAR},
|
original_status = #{record.originalStatus,jdbcType=VARCHAR},
|
||||||
delete_time = #{record.deleteTime,jdbcType=BIGINT},
|
delete_time = #{record.deleteTime,jdbcType=BIGINT},
|
||||||
delete_user_id = #{record.deleteUserId,jdbcType=VARCHAR},
|
delete_user_id = #{record.deleteUserId,jdbcType=VARCHAR},
|
||||||
|
`order` = #{record.order,jdbcType=BIGINT},
|
||||||
prerequisite = #{record.prerequisite,jdbcType=LONGVARCHAR},
|
prerequisite = #{record.prerequisite,jdbcType=LONGVARCHAR},
|
||||||
remark = #{record.remark,jdbcType=LONGVARCHAR},
|
remark = #{record.remark,jdbcType=LONGVARCHAR},
|
||||||
steps = #{record.steps,jdbcType=LONGVARCHAR},
|
steps = #{record.steps,jdbcType=LONGVARCHAR},
|
||||||
|
@ -540,6 +551,7 @@
|
||||||
update test_case
|
update test_case
|
||||||
set id = #{record.id,jdbcType=VARCHAR},
|
set id = #{record.id,jdbcType=VARCHAR},
|
||||||
node_id = #{record.nodeId,jdbcType=VARCHAR},
|
node_id = #{record.nodeId,jdbcType=VARCHAR},
|
||||||
|
test_id = #{record.testId,jdbcType=VARCHAR},
|
||||||
node_path = #{record.nodePath,jdbcType=VARCHAR},
|
node_path = #{record.nodePath,jdbcType=VARCHAR},
|
||||||
project_id = #{record.projectId,jdbcType=VARCHAR},
|
project_id = #{record.projectId,jdbcType=VARCHAR},
|
||||||
`name` = #{record.name,jdbcType=VARCHAR},
|
`name` = #{record.name,jdbcType=VARCHAR},
|
||||||
|
@ -549,7 +561,6 @@
|
||||||
`method` = #{record.method,jdbcType=VARCHAR},
|
`method` = #{record.method,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},
|
||||||
test_id = #{record.testId,jdbcType=VARCHAR},
|
|
||||||
sort = #{record.sort,jdbcType=INTEGER},
|
sort = #{record.sort,jdbcType=INTEGER},
|
||||||
num = #{record.num,jdbcType=INTEGER},
|
num = #{record.num,jdbcType=INTEGER},
|
||||||
other_test_name = #{record.otherTestName,jdbcType=VARCHAR},
|
other_test_name = #{record.otherTestName,jdbcType=VARCHAR},
|
||||||
|
@ -559,12 +570,13 @@
|
||||||
demand_name = #{record.demandName,jdbcType=VARCHAR},
|
demand_name = #{record.demandName,jdbcType=VARCHAR},
|
||||||
follow_people = #{record.followPeople,jdbcType=VARCHAR},
|
follow_people = #{record.followPeople,jdbcType=VARCHAR},
|
||||||
`status` = #{record.status,jdbcType=VARCHAR},
|
`status` = #{record.status,jdbcType=VARCHAR},
|
||||||
custom_num = #{record.customNum,jdbcType=VARCHAR},
|
|
||||||
step_model = #{record.stepModel,jdbcType=VARCHAR},
|
step_model = #{record.stepModel,jdbcType=VARCHAR},
|
||||||
|
custom_num = #{record.customNum,jdbcType=VARCHAR},
|
||||||
create_user = #{record.createUser,jdbcType=VARCHAR},
|
create_user = #{record.createUser,jdbcType=VARCHAR},
|
||||||
original_status = #{record.originalStatus,jdbcType=VARCHAR},
|
original_status = #{record.originalStatus,jdbcType=VARCHAR},
|
||||||
delete_time = #{record.deleteTime,jdbcType=BIGINT},
|
delete_time = #{record.deleteTime,jdbcType=BIGINT},
|
||||||
delete_user_id = #{record.deleteUserId,jdbcType=VARCHAR}
|
delete_user_id = #{record.deleteUserId,jdbcType=VARCHAR},
|
||||||
|
`order` = #{record.order,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>
|
||||||
|
@ -575,6 +587,9 @@
|
||||||
<if test="nodeId != null">
|
<if test="nodeId != null">
|
||||||
node_id = #{nodeId,jdbcType=VARCHAR},
|
node_id = #{nodeId,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="testId != null">
|
||||||
|
test_id = #{testId,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
<if test="nodePath != null">
|
<if test="nodePath != null">
|
||||||
node_path = #{nodePath,jdbcType=VARCHAR},
|
node_path = #{nodePath,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
@ -602,9 +617,6 @@
|
||||||
<if test="updateTime != null">
|
<if test="updateTime != null">
|
||||||
update_time = #{updateTime,jdbcType=BIGINT},
|
update_time = #{updateTime,jdbcType=BIGINT},
|
||||||
</if>
|
</if>
|
||||||
<if test="testId != null">
|
|
||||||
test_id = #{testId,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="sort != null">
|
<if test="sort != null">
|
||||||
sort = #{sort,jdbcType=INTEGER},
|
sort = #{sort,jdbcType=INTEGER},
|
||||||
</if>
|
</if>
|
||||||
|
@ -632,12 +644,12 @@
|
||||||
<if test="status != null">
|
<if test="status != null">
|
||||||
`status` = #{status,jdbcType=VARCHAR},
|
`status` = #{status,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
<if test="customNum != null">
|
|
||||||
custom_num = #{customNum,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="stepModel != null">
|
<if test="stepModel != null">
|
||||||
step_model = #{stepModel,jdbcType=VARCHAR},
|
step_model = #{stepModel,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="customNum != null">
|
||||||
|
custom_num = #{customNum,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
<if test="createUser != null">
|
<if test="createUser != null">
|
||||||
create_user = #{createUser,jdbcType=VARCHAR},
|
create_user = #{createUser,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
@ -650,6 +662,9 @@
|
||||||
<if test="deleteUserId != null">
|
<if test="deleteUserId != null">
|
||||||
delete_user_id = #{deleteUserId,jdbcType=VARCHAR},
|
delete_user_id = #{deleteUserId,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="order != null">
|
||||||
|
`order` = #{order,jdbcType=BIGINT},
|
||||||
|
</if>
|
||||||
<if test="prerequisite != null">
|
<if test="prerequisite != null">
|
||||||
prerequisite = #{prerequisite,jdbcType=LONGVARCHAR},
|
prerequisite = #{prerequisite,jdbcType=LONGVARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
@ -674,6 +689,7 @@
|
||||||
<update id="updateByPrimaryKeyWithBLOBs" parameterType="io.metersphere.base.domain.TestCaseWithBLOBs">
|
<update id="updateByPrimaryKeyWithBLOBs" parameterType="io.metersphere.base.domain.TestCaseWithBLOBs">
|
||||||
update test_case
|
update test_case
|
||||||
set node_id = #{nodeId,jdbcType=VARCHAR},
|
set node_id = #{nodeId,jdbcType=VARCHAR},
|
||||||
|
test_id = #{testId,jdbcType=VARCHAR},
|
||||||
node_path = #{nodePath,jdbcType=VARCHAR},
|
node_path = #{nodePath,jdbcType=VARCHAR},
|
||||||
project_id = #{projectId,jdbcType=VARCHAR},
|
project_id = #{projectId,jdbcType=VARCHAR},
|
||||||
`name` = #{name,jdbcType=VARCHAR},
|
`name` = #{name,jdbcType=VARCHAR},
|
||||||
|
@ -683,7 +699,6 @@
|
||||||
`method` = #{method,jdbcType=VARCHAR},
|
`method` = #{method,jdbcType=VARCHAR},
|
||||||
create_time = #{createTime,jdbcType=BIGINT},
|
create_time = #{createTime,jdbcType=BIGINT},
|
||||||
update_time = #{updateTime,jdbcType=BIGINT},
|
update_time = #{updateTime,jdbcType=BIGINT},
|
||||||
test_id = #{testId,jdbcType=VARCHAR},
|
|
||||||
sort = #{sort,jdbcType=INTEGER},
|
sort = #{sort,jdbcType=INTEGER},
|
||||||
num = #{num,jdbcType=INTEGER},
|
num = #{num,jdbcType=INTEGER},
|
||||||
other_test_name = #{otherTestName,jdbcType=VARCHAR},
|
other_test_name = #{otherTestName,jdbcType=VARCHAR},
|
||||||
|
@ -693,12 +708,13 @@
|
||||||
demand_name = #{demandName,jdbcType=VARCHAR},
|
demand_name = #{demandName,jdbcType=VARCHAR},
|
||||||
follow_people = #{followPeople,jdbcType=VARCHAR},
|
follow_people = #{followPeople,jdbcType=VARCHAR},
|
||||||
`status` = #{status,jdbcType=VARCHAR},
|
`status` = #{status,jdbcType=VARCHAR},
|
||||||
custom_num = #{customNum,jdbcType=VARCHAR},
|
|
||||||
step_model = #{stepModel,jdbcType=VARCHAR},
|
step_model = #{stepModel,jdbcType=VARCHAR},
|
||||||
|
custom_num = #{customNum,jdbcType=VARCHAR},
|
||||||
create_user = #{createUser,jdbcType=VARCHAR},
|
create_user = #{createUser,jdbcType=VARCHAR},
|
||||||
original_status = #{originalStatus,jdbcType=VARCHAR},
|
original_status = #{originalStatus,jdbcType=VARCHAR},
|
||||||
delete_time = #{deleteTime,jdbcType=BIGINT},
|
delete_time = #{deleteTime,jdbcType=BIGINT},
|
||||||
delete_user_id = #{deleteUserId,jdbcType=VARCHAR},
|
delete_user_id = #{deleteUserId,jdbcType=VARCHAR},
|
||||||
|
`order` = #{order,jdbcType=BIGINT},
|
||||||
prerequisite = #{prerequisite,jdbcType=LONGVARCHAR},
|
prerequisite = #{prerequisite,jdbcType=LONGVARCHAR},
|
||||||
remark = #{remark,jdbcType=LONGVARCHAR},
|
remark = #{remark,jdbcType=LONGVARCHAR},
|
||||||
steps = #{steps,jdbcType=LONGVARCHAR},
|
steps = #{steps,jdbcType=LONGVARCHAR},
|
||||||
|
@ -710,6 +726,7 @@
|
||||||
<update id="updateByPrimaryKey" parameterType="io.metersphere.base.domain.TestCase">
|
<update id="updateByPrimaryKey" parameterType="io.metersphere.base.domain.TestCase">
|
||||||
update test_case
|
update test_case
|
||||||
set node_id = #{nodeId,jdbcType=VARCHAR},
|
set node_id = #{nodeId,jdbcType=VARCHAR},
|
||||||
|
test_id = #{testId,jdbcType=VARCHAR},
|
||||||
node_path = #{nodePath,jdbcType=VARCHAR},
|
node_path = #{nodePath,jdbcType=VARCHAR},
|
||||||
project_id = #{projectId,jdbcType=VARCHAR},
|
project_id = #{projectId,jdbcType=VARCHAR},
|
||||||
`name` = #{name,jdbcType=VARCHAR},
|
`name` = #{name,jdbcType=VARCHAR},
|
||||||
|
@ -719,7 +736,6 @@
|
||||||
`method` = #{method,jdbcType=VARCHAR},
|
`method` = #{method,jdbcType=VARCHAR},
|
||||||
create_time = #{createTime,jdbcType=BIGINT},
|
create_time = #{createTime,jdbcType=BIGINT},
|
||||||
update_time = #{updateTime,jdbcType=BIGINT},
|
update_time = #{updateTime,jdbcType=BIGINT},
|
||||||
test_id = #{testId,jdbcType=VARCHAR},
|
|
||||||
sort = #{sort,jdbcType=INTEGER},
|
sort = #{sort,jdbcType=INTEGER},
|
||||||
num = #{num,jdbcType=INTEGER},
|
num = #{num,jdbcType=INTEGER},
|
||||||
other_test_name = #{otherTestName,jdbcType=VARCHAR},
|
other_test_name = #{otherTestName,jdbcType=VARCHAR},
|
||||||
|
@ -729,12 +745,13 @@
|
||||||
demand_name = #{demandName,jdbcType=VARCHAR},
|
demand_name = #{demandName,jdbcType=VARCHAR},
|
||||||
follow_people = #{followPeople,jdbcType=VARCHAR},
|
follow_people = #{followPeople,jdbcType=VARCHAR},
|
||||||
`status` = #{status,jdbcType=VARCHAR},
|
`status` = #{status,jdbcType=VARCHAR},
|
||||||
custom_num = #{customNum,jdbcType=VARCHAR},
|
|
||||||
step_model = #{stepModel,jdbcType=VARCHAR},
|
step_model = #{stepModel,jdbcType=VARCHAR},
|
||||||
|
custom_num = #{customNum,jdbcType=VARCHAR},
|
||||||
create_user = #{createUser,jdbcType=VARCHAR},
|
create_user = #{createUser,jdbcType=VARCHAR},
|
||||||
original_status = #{originalStatus,jdbcType=VARCHAR},
|
original_status = #{originalStatus,jdbcType=VARCHAR},
|
||||||
delete_time = #{deleteTime,jdbcType=BIGINT},
|
delete_time = #{deleteTime,jdbcType=BIGINT},
|
||||||
delete_user_id = #{deleteUserId,jdbcType=VARCHAR}
|
delete_user_id = #{deleteUserId,jdbcType=VARCHAR},
|
||||||
|
`order` = #{order,jdbcType=BIGINT}
|
||||||
where id = #{id,jdbcType=VARCHAR}
|
where id = #{id,jdbcType=VARCHAR}
|
||||||
</update>
|
</update>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -9,10 +9,10 @@
|
||||||
<foreach collection="request.orders" separator="," item="order">
|
<foreach collection="request.orders" separator="," item="order">
|
||||||
<choose>
|
<choose>
|
||||||
<when test="order.prefix != null and order.prefix != ''">
|
<when test="order.prefix != null and order.prefix != ''">
|
||||||
${order.prefix}.${order.name} ${order.type}
|
${order.prefix}.`${order.name}` ${order.type}
|
||||||
</when>
|
</when>
|
||||||
<otherwise>
|
<otherwise>
|
||||||
${order.name} ${order.type}
|
`${order.name}` ${order.type}
|
||||||
</otherwise>
|
</otherwise>
|
||||||
</choose>
|
</choose>
|
||||||
</foreach>
|
</foreach>
|
||||||
|
|
|
@ -110,4 +110,12 @@ public interface ExtTestCaseMapper {
|
||||||
List<String> selectIdsByNodeIds(@Param("ids")List<String> nodeIds);
|
List<String> selectIdsByNodeIds(@Param("ids")List<String> nodeIds);
|
||||||
|
|
||||||
TestCaseWithBLOBs getTestCaseStep(@Param("id") String id);
|
TestCaseWithBLOBs getTestCaseStep(@Param("id") String id);
|
||||||
|
|
||||||
|
List<String> selectProjectIds();
|
||||||
|
|
||||||
|
List<String> getIdsOrderByCreateTime(@Param("projectId") String projectId);
|
||||||
|
|
||||||
|
Long getLastOrder(@Param("projectId")String projectId, @Param("baseOrder") Long baseOrder);
|
||||||
|
|
||||||
|
Long getPreOrder(@Param("projectId")String projectId, @Param("baseOrder") Long baseOrder);
|
||||||
}
|
}
|
||||||
|
|
|
@ -530,6 +530,28 @@
|
||||||
<select id="getTestCaseStep" resultType="io.metersphere.base.domain.TestCaseWithBLOBs">
|
<select id="getTestCaseStep" resultType="io.metersphere.base.domain.TestCaseWithBLOBs">
|
||||||
select id, prerequisite, steps, step_description, expected_result, step_model from test_case where id = #{id}
|
select id, prerequisite, steps, step_description, expected_result, step_model from test_case where id = #{id}
|
||||||
</select>
|
</select>
|
||||||
|
<select id="selectProjectIds" resultType="java.lang.String">
|
||||||
|
select DISTINCT project_id from test_case;
|
||||||
|
</select>
|
||||||
|
<select id="getIdsOrderByCreateTime" resultType="java.lang.String">
|
||||||
|
select id from test_case where project_id = #{projectId} order by create_time DESC;
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getLastOrder" resultType="java.lang.Long">
|
||||||
|
select `order` from test_case where project_id = #{projectId}
|
||||||
|
<if test="baseOrder != null">
|
||||||
|
and `order` > #{baseOrder}
|
||||||
|
</if>
|
||||||
|
order by `order` desc limit 1;
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getPreOrder" resultType="java.lang.Long">
|
||||||
|
select `order` from test_case where project_id = #{projectId}
|
||||||
|
<if test="baseOrder != null">
|
||||||
|
and `order` < #{baseOrder}
|
||||||
|
</if>
|
||||||
|
order by `order` desc limit 1;
|
||||||
|
</select>
|
||||||
|
|
||||||
<update id="deleteToGc">
|
<update id="deleteToGc">
|
||||||
update test_case set original_status=status,
|
update test_case set original_status=status,
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
package io.metersphere.controller.request;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ResetOrderRequest {
|
||||||
|
private String moveId;
|
||||||
|
private String targetId;
|
||||||
|
private String moveMode;
|
||||||
|
private String projectId;
|
||||||
|
|
||||||
|
public enum MoveMode {
|
||||||
|
BEFORE, AFTER
|
||||||
|
}
|
||||||
|
}
|
|
@ -13,6 +13,7 @@ import io.metersphere.service.PluginService;
|
||||||
import io.metersphere.service.ScheduleService;
|
import io.metersphere.service.ScheduleService;
|
||||||
import io.metersphere.service.SystemParameterService;
|
import io.metersphere.service.SystemParameterService;
|
||||||
import io.metersphere.track.service.IssuesService;
|
import io.metersphere.track.service.IssuesService;
|
||||||
|
import io.metersphere.track.service.TestCaseService;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.python.core.Options;
|
import org.python.core.Options;
|
||||||
import org.python.util.PythonInterpreter;
|
import org.python.util.PythonInterpreter;
|
||||||
|
@ -45,6 +46,8 @@ public class AppStartListener implements ApplicationListener<ApplicationReadyEve
|
||||||
private PerformanceTestService performanceTestService;
|
private PerformanceTestService performanceTestService;
|
||||||
@Resource
|
@Resource
|
||||||
private PluginService pluginService;
|
private PluginService pluginService;
|
||||||
|
@Resource
|
||||||
|
private TestCaseService testCaseService;
|
||||||
|
|
||||||
@Value("${jmeter.home}")
|
@Value("${jmeter.home}")
|
||||||
private String jmeterHome;
|
private String jmeterHome;
|
||||||
|
@ -74,6 +77,7 @@ public class AppStartListener implements ApplicationListener<ApplicationReadyEve
|
||||||
initOperate(issuesService::syncThirdPartyIssues, "init.issue");
|
initOperate(issuesService::syncThirdPartyIssues, "init.issue");
|
||||||
initOperate(issuesService::issuesCount, "init.issueCount");
|
initOperate(issuesService::issuesCount, "init.issueCount");
|
||||||
initOperate(performanceTestService::initScenarioLoadTest, "init.scenario.load.test");
|
initOperate(performanceTestService::initScenarioLoadTest, "init.scenario.load.test");
|
||||||
|
initOperate(testCaseService::initOrderField, "init.sort.test.case");
|
||||||
pluginService.loadPlugins();
|
pluginService.loadPlugins();
|
||||||
try {
|
try {
|
||||||
Thread.sleep(1 * 60 * 1000);
|
Thread.sleep(1 * 60 * 1000);
|
||||||
|
|
|
@ -17,6 +17,7 @@ import io.metersphere.commons.constants.PermissionConstants;
|
||||||
import io.metersphere.commons.utils.PageUtils;
|
import io.metersphere.commons.utils.PageUtils;
|
||||||
import io.metersphere.commons.utils.Pager;
|
import io.metersphere.commons.utils.Pager;
|
||||||
import io.metersphere.commons.utils.SessionUtils;
|
import io.metersphere.commons.utils.SessionUtils;
|
||||||
|
import io.metersphere.controller.request.ResetOrderRequest;
|
||||||
import io.metersphere.dto.LoadTestDTO;
|
import io.metersphere.dto.LoadTestDTO;
|
||||||
import io.metersphere.dto.TestCaseTestDao;
|
import io.metersphere.dto.TestCaseTestDao;
|
||||||
import io.metersphere.excel.domain.ExcelResponse;
|
import io.metersphere.excel.domain.ExcelResponse;
|
||||||
|
@ -186,6 +187,12 @@ public class TestCaseController {
|
||||||
return testCaseService.save(request, files);
|
return testCaseService.save(request, files);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/edit/order")
|
||||||
|
public void orderCase(@RequestBody ResetOrderRequest request) {
|
||||||
|
checkPermissionService.checkTestCaseOwner(request.getMoveId());
|
||||||
|
testCaseService.orderCase(request);
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping(value = "/edit", consumes = {"multipart/form-data"})
|
@PostMapping(value = "/edit", consumes = {"multipart/form-data"})
|
||||||
@MsAuditLog(module = "track_test_case", type = OperLogConstants.UPDATE, beforeEvent = "#msClass.getLogDetails(#request.id)", title = "#request.name", content = "#msClass.getLogDetails(#request.id)", msClass = TestCaseService.class)
|
@MsAuditLog(module = "track_test_case", type = OperLogConstants.UPDATE, beforeEvent = "#msClass.getLogDetails(#request.id)", title = "#request.name", content = "#msClass.getLogDetails(#request.id)", msClass = TestCaseService.class)
|
||||||
@SendNotice(taskType = NoticeConstants.TaskType.TRACK_TEST_CASE_TASK, target = "#targetClass.getTestCase(#request.id)", targetClass = TestCaseService.class,
|
@SendNotice(taskType = NoticeConstants.TaskType.TRACK_TEST_CASE_TASK, target = "#targetClass.getTestCase(#request.id)", targetClass = TestCaseService.class,
|
||||||
|
|
|
@ -22,11 +22,9 @@ import io.metersphere.commons.exception.MSException;
|
||||||
import io.metersphere.commons.user.SessionUser;
|
import io.metersphere.commons.user.SessionUser;
|
||||||
import io.metersphere.commons.utils.*;
|
import io.metersphere.commons.utils.*;
|
||||||
import io.metersphere.controller.request.OrderRequest;
|
import io.metersphere.controller.request.OrderRequest;
|
||||||
|
import io.metersphere.controller.request.ResetOrderRequest;
|
||||||
import io.metersphere.controller.request.member.QueryMemberRequest;
|
import io.metersphere.controller.request.member.QueryMemberRequest;
|
||||||
import io.metersphere.dto.CustomFieldDao;
|
import io.metersphere.dto.*;
|
||||||
import io.metersphere.dto.LoadTestDTO;
|
|
||||||
import io.metersphere.dto.TestCaseTemplateDao;
|
|
||||||
import io.metersphere.dto.TestCaseTestDao;
|
|
||||||
import io.metersphere.excel.domain.*;
|
import io.metersphere.excel.domain.*;
|
||||||
import io.metersphere.excel.handler.FunctionCaseTemplateWriteHandler;
|
import io.metersphere.excel.handler.FunctionCaseTemplateWriteHandler;
|
||||||
import io.metersphere.excel.listener.TestCaseNoModelDataListener;
|
import io.metersphere.excel.listener.TestCaseNoModelDataListener;
|
||||||
|
@ -168,10 +166,16 @@ public class TestCaseService {
|
||||||
testCase.setDemandName(testCase.getDemandName());
|
testCase.setDemandName(testCase.getDemandName());
|
||||||
testCase.setCreateUser(SessionUtils.getUserId());
|
testCase.setCreateUser(SessionUtils.getUserId());
|
||||||
this.setNode(testCase);
|
this.setNode(testCase);
|
||||||
|
setNextOrder(testCase);
|
||||||
testCaseMapper.insert(testCase);
|
testCaseMapper.insert(testCase);
|
||||||
return testCase;
|
return testCase;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public synchronized void setNextOrder(TestCaseWithBLOBs testCase) {
|
||||||
|
Long lastOrder = extTestCaseMapper.getLastOrder(testCase.getProjectId(), null);
|
||||||
|
testCase.setOrder((lastOrder == null ? 0 : lastOrder) + 5000);
|
||||||
|
}
|
||||||
|
|
||||||
private void checkTestCustomNum(TestCaseWithBLOBs testCase) {
|
private void checkTestCustomNum(TestCaseWithBLOBs testCase) {
|
||||||
if (StringUtils.isNotBlank(testCase.getCustomNum())) {
|
if (StringUtils.isNotBlank(testCase.getCustomNum())) {
|
||||||
String projectId = testCase.getProjectId();
|
String projectId = testCase.getProjectId();
|
||||||
|
@ -339,14 +343,7 @@ public class TestCaseService {
|
||||||
|
|
||||||
public List<TestCaseDTO> listTestCase(QueryTestCaseRequest request) {
|
public List<TestCaseDTO> listTestCase(QueryTestCaseRequest request) {
|
||||||
this.initRequest(request, true);
|
this.initRequest(request, true);
|
||||||
List<OrderRequest> orderList = ServiceUtils.getDefaultOrder(request.getOrders());
|
setDefaultOrder(request);
|
||||||
OrderRequest order = new OrderRequest();
|
|
||||||
// 对模板导入的测试用例排序
|
|
||||||
order.setName("sort");
|
|
||||||
order.setType("desc");
|
|
||||||
orderList.add(order);
|
|
||||||
request.setOrders(orderList);
|
|
||||||
|
|
||||||
if (request.getFilters() != null && !request.getFilters().containsKey("status")) {
|
if (request.getFilters() != null && !request.getFilters().containsKey("status")) {
|
||||||
request.getFilters().put("status", new ArrayList<>(0));
|
request.getFilters().put("status", new ArrayList<>(0));
|
||||||
}
|
}
|
||||||
|
@ -354,6 +351,22 @@ public class TestCaseService {
|
||||||
returnList = this.parseStatus(returnList);
|
returnList = this.parseStatus(returnList);
|
||||||
return returnList;
|
return returnList;
|
||||||
}
|
}
|
||||||
|
public void setDefaultOrder(QueryTestCaseRequest request) {
|
||||||
|
List<OrderRequest> orders = request.getOrders();
|
||||||
|
if (CollectionUtils.isEmpty(orders)) {
|
||||||
|
OrderRequest order = new OrderRequest();
|
||||||
|
order.setName("order");
|
||||||
|
order.setType("desc");
|
||||||
|
orders = new ArrayList<>();
|
||||||
|
orders.add(order);
|
||||||
|
}
|
||||||
|
OrderRequest order = new OrderRequest();
|
||||||
|
// 对模板导入的测试用例排序
|
||||||
|
order.setName("sort");
|
||||||
|
order.setType("desc");
|
||||||
|
orders.add(order);
|
||||||
|
request.setOrders(orders);
|
||||||
|
}
|
||||||
|
|
||||||
private List<TestCaseDTO> parseStatus(List<TestCaseDTO> returnList) {
|
private List<TestCaseDTO> parseStatus(List<TestCaseDTO> returnList) {
|
||||||
TestCaseExcelData excelData = new TestCaseExcelDataFactory().getTestCaseExcelDataLocal();
|
TestCaseExcelData excelData = new TestCaseExcelDataFactory().getTestCaseExcelDataLocal();
|
||||||
|
@ -423,12 +436,7 @@ public class TestCaseService {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public List<TestCase> getTestCaseRelateList(QueryTestCaseRequest request) {
|
public List<TestCase> getTestCaseRelateList(QueryTestCaseRequest request) {
|
||||||
List<OrderRequest> orderList = ServiceUtils.getDefaultOrder(request.getOrders());
|
setDefaultOrder(request);
|
||||||
OrderRequest order = new OrderRequest();
|
|
||||||
order.setName("sort");
|
|
||||||
order.setType("desc");
|
|
||||||
orderList.add(order);
|
|
||||||
request.setOrders(orderList);
|
|
||||||
return getTestCaseByNotInPlan(request);
|
return getTestCaseByNotInPlan(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1909,4 +1917,48 @@ public class TestCaseService {
|
||||||
public TestCaseWithBLOBs getTestCaseStep(String testCaseId) {
|
public TestCaseWithBLOBs getTestCaseStep(String testCaseId) {
|
||||||
return extTestCaseMapper.getTestCaseStep(testCaseId);
|
return extTestCaseMapper.getTestCaseStep(testCaseId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void initOrderField() {
|
||||||
|
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH);
|
||||||
|
TestCaseMapper mapper = sqlSession.getMapper(TestCaseMapper.class);
|
||||||
|
List<String> projectIds = extTestCaseMapper.selectProjectIds();
|
||||||
|
projectIds.forEach((projectId) -> {
|
||||||
|
Long order = 0L;
|
||||||
|
List<String> ids = extTestCaseMapper.getIdsOrderByCreateTime(projectId);
|
||||||
|
for (String id : ids) {
|
||||||
|
TestCaseWithBLOBs testCase = new TestCaseWithBLOBs();
|
||||||
|
testCase.setId(id);
|
||||||
|
testCase.setOrder(order);
|
||||||
|
order += 5000;
|
||||||
|
mapper.updateByPrimaryKeySelective(testCase);
|
||||||
|
}
|
||||||
|
sqlSession.flushStatements();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用例自定义排序
|
||||||
|
* @param request
|
||||||
|
*/
|
||||||
|
public void orderCase(ResetOrderRequest request) {
|
||||||
|
Long order = null;
|
||||||
|
Long lastOrPreOrder = null;
|
||||||
|
TestCaseWithBLOBs target = testCaseMapper.selectByPrimaryKey(request.getTargetId());
|
||||||
|
if (request.getMoveMode().equals(ResetOrderRequest.MoveMode.AFTER.name())) {
|
||||||
|
order = target.getOrder() - 5000;
|
||||||
|
lastOrPreOrder = extTestCaseMapper.getPreOrder(request.getProjectId(), target.getOrder());
|
||||||
|
} else {
|
||||||
|
order = target.getOrder() + 5000;
|
||||||
|
// 追加到前面,因为是降序排,则查找比目标 order 更大的一个order
|
||||||
|
lastOrPreOrder = extTestCaseMapper.getLastOrder(request.getProjectId(), target.getOrder());
|
||||||
|
}
|
||||||
|
if (lastOrPreOrder != null) {
|
||||||
|
// 如果不是第一个或最后一个则取中间值
|
||||||
|
order = (target.getOrder() + lastOrPreOrder) / 2;
|
||||||
|
}
|
||||||
|
TestCaseWithBLOBs testCaseWithBLOBs = new TestCaseWithBLOBs();
|
||||||
|
testCaseWithBLOBs.setId(request.getMoveId());
|
||||||
|
testCaseWithBLOBs.setOrder(order);
|
||||||
|
testCaseMapper.updateByPrimaryKeySelective(testCaseWithBLOBs);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,3 +34,4 @@ update api_scenario_module set name = '未规划场景' where name = '默认模
|
||||||
update api_scenario set module_path = replace (`module_path`,'/默认模块','/未规划场景') where module_path like '/默认模块%';
|
update api_scenario set module_path = replace (`module_path`,'/默认模块','/未规划场景') where module_path like '/默认模块%';
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE test_case ADD `order` bigint(20) NOT NULL COMMENT '自定义排序,间隔5000';
|
||||||
|
|
|
@ -14,6 +14,8 @@
|
||||||
:class="{'ms-select-all-fixed': showSelectAll}"
|
:class="{'ms-select-all-fixed': showSelectAll}"
|
||||||
:height="screenHeight"
|
:height="screenHeight"
|
||||||
v-loading="tableIsLoading"
|
v-loading="tableIsLoading"
|
||||||
|
:row-key="rowKey"
|
||||||
|
:cell-class-name="addPaddingColClass"
|
||||||
:highlight-current-row="highlightCurrentRow"
|
:highlight-current-row="highlightCurrentRow"
|
||||||
ref="table" @row-click="handleRowClick">
|
ref="table" @row-click="handleRowClick">
|
||||||
|
|
||||||
|
@ -27,8 +29,9 @@
|
||||||
@selectPageAll="isSelectDataAll(false)"
|
@selectPageAll="isSelectDataAll(false)"
|
||||||
@selectAll="isSelectDataAll(true)"/>
|
@selectAll="isSelectDataAll(true)"/>
|
||||||
|
|
||||||
<el-table-column v-if="enableSelection && batchOperators && batchOperators.length > 0" width="30"
|
<el-table-column v-if="enableSelection && batchOperators && batchOperators.length > 0" width="15"
|
||||||
fixed="left"
|
fixed="left"
|
||||||
|
column-key="batchBtnCol"
|
||||||
:resizable="false" align="center">
|
:resizable="false" align="center">
|
||||||
<template v-slot:default="scope">
|
<template v-slot:default="scope">
|
||||||
<!-- 选中记录后浮现的按钮,提供对记录的批量操作 -->
|
<!-- 选中记录后浮现的按钮,提供对记录的批量操作 -->
|
||||||
|
@ -42,6 +45,17 @@
|
||||||
<span class="table-column-mark"> </span>
|
<span class="table-column-mark"> </span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column v-if="enableOrderDrag" width="20" column-key="tableRowDropCol">
|
||||||
|
<template v-slot:default="scope">
|
||||||
|
<!-- <span class="table-row-drop-bar">-->
|
||||||
|
<div class="table-row-drop-bar">
|
||||||
|
<i class="el-icon-more ms-icon-more"/>
|
||||||
|
<i class="el-icon-more ms-icon-more"/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -201,7 +215,9 @@ export default {
|
||||||
customFields: Array,
|
customFields: Array,
|
||||||
highlightCurrentRow: Boolean,
|
highlightCurrentRow: Boolean,
|
||||||
// 是否记住排序
|
// 是否记住排序
|
||||||
rememberOrder: Boolean
|
rememberOrder: Boolean,
|
||||||
|
enableOrderDrag: Boolean,
|
||||||
|
rowKey: [String, Function],
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.setDefaultOrders();
|
this.setDefaultOrders();
|
||||||
|
@ -245,6 +261,7 @@ export default {
|
||||||
let columnTop = column.getBoundingClientRect().top;
|
let columnTop = column.getBoundingClientRect().top;
|
||||||
return columnTop - tableTop > 30;
|
return columnTop - tableTop > 30;
|
||||||
},
|
},
|
||||||
|
// 访问页面默认高亮当前的排序
|
||||||
setDefaultOrders() {
|
setDefaultOrders() {
|
||||||
let orders = this.condition.orders;
|
let orders = this.condition.orders;
|
||||||
if (orders) {
|
if (orders) {
|
||||||
|
@ -384,6 +401,13 @@ export default {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.tableActive = true;
|
this.tableActive = true;
|
||||||
});
|
});
|
||||||
|
},
|
||||||
|
addPaddingColClass({column}) {
|
||||||
|
if (column.columnKey === 'tableRowDropCol'
|
||||||
|
|| column.columnKey === 'selectionCol'
|
||||||
|
|| column.columnKey ==='batchBtnCol') {
|
||||||
|
return 'padding-col';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -394,4 +418,33 @@ export default {
|
||||||
top: 300px;
|
top: 300px;
|
||||||
color: #1FDD02;
|
color: #1FDD02;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.el-table >>> .padding-col .cell {
|
||||||
|
padding: 0px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-row-drop-bar {
|
||||||
|
/*visibility: hidden;*/
|
||||||
|
text-align: center;
|
||||||
|
height: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-row-drop-bar:hover {
|
||||||
|
/*visibility: visible;*/
|
||||||
|
/*font-size: 15px;*/
|
||||||
|
}
|
||||||
|
|
||||||
|
/*.el-table >>> .hover-row .table-row-drop-bar {*/
|
||||||
|
/* visibility: initial !important;*/
|
||||||
|
/*}*/
|
||||||
|
|
||||||
|
.ms-icon-more {
|
||||||
|
transform: rotate(90deg);
|
||||||
|
width: 9px;
|
||||||
|
color: #cccccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ms-icon-more:first-child {
|
||||||
|
margin-right: -5px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -15,6 +15,8 @@
|
||||||
:screen-height="screenHeight"
|
:screen-height="screenHeight"
|
||||||
:batch-operators="batchButtons"
|
:batch-operators="batchButtons"
|
||||||
:remember-order="true"
|
:remember-order="true"
|
||||||
|
:enable-order-drag="enableOrderDrag"
|
||||||
|
row-key="id"
|
||||||
@handlePageChange="initTableData"
|
@handlePageChange="initTableData"
|
||||||
@handleRowClick="handleEdit"
|
@handleRowClick="handleEdit"
|
||||||
:fields.sync="fields"
|
:fields.sync="fields"
|
||||||
|
@ -206,7 +208,7 @@ import {
|
||||||
getCustomFieldValue,
|
getCustomFieldValue,
|
||||||
getCustomTableWidth, getLastTableSortField,
|
getCustomTableWidth, getLastTableSortField,
|
||||||
getPageInfo,
|
getPageInfo,
|
||||||
getTableHeaderWithCustomFields,
|
getTableHeaderWithCustomFields, handleRowDrop,
|
||||||
initCondition,
|
initCondition,
|
||||||
} from "@/common/js/tableUtils";
|
} from "@/common/js/tableUtils";
|
||||||
import HeaderLabelOperate from "@/business/components/common/head/HeaderLabelOperate";
|
import HeaderLabelOperate from "@/business/components/common/head/HeaderLabelOperate";
|
||||||
|
@ -219,6 +221,7 @@ import MsTableColumn from "@/business/components/common/components/table/MsTable
|
||||||
import BatchMove from "@/business/components/track/case/components/BatchMove";
|
import BatchMove from "@/business/components/track/case/components/BatchMove";
|
||||||
import {SYSTEM_FIELD_NAME_MAP} from "@/common/js/table-constants";
|
import {SYSTEM_FIELD_NAME_MAP} from "@/common/js/table-constants";
|
||||||
import TestCasePreview from "@/business/components/track/case/components/TestCasePreview";
|
import TestCasePreview from "@/business/components/track/case/components/TestCasePreview";
|
||||||
|
import {editTestCaseOrder} from "@/network/testCase";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "TestCaseList",
|
name: "TestCaseList",
|
||||||
|
@ -256,6 +259,7 @@ export default {
|
||||||
screenHeight: 'calc(100vh - 258px)',
|
screenHeight: 'calc(100vh - 258px)',
|
||||||
tableLabel: [],
|
tableLabel: [],
|
||||||
deletePath: "/test/case/delete",
|
deletePath: "/test/case/delete",
|
||||||
|
enableOrderDrag: true,
|
||||||
condition: {
|
condition: {
|
||||||
components: TEST_CASE_CONFIGS
|
components: TEST_CASE_CONFIGS
|
||||||
},
|
},
|
||||||
|
@ -390,8 +394,6 @@ export default {
|
||||||
}else {
|
}else {
|
||||||
this.condition.filters = {reviewStatus: ["Prepare", "Pass", "UnPass"]};
|
this.condition.filters = {reviewStatus: ["Prepare", "Pass", "UnPass"]};
|
||||||
}
|
}
|
||||||
this.condition.orders = getLastTableSortField(this.tableHeaderKey);
|
|
||||||
|
|
||||||
this.initTableData();
|
this.initTableData();
|
||||||
let redirectParam = this.$route.query.dataSelectRange;
|
let redirectParam = this.$route.query.dataSelectRange;
|
||||||
this.checkRedirectEditPage(redirectParam);
|
this.checkRedirectEditPage(redirectParam);
|
||||||
|
@ -515,6 +517,11 @@ export default {
|
||||||
this.condition.nodeIds = [];
|
this.condition.nodeIds = [];
|
||||||
//initCondition(this.condition);
|
//initCondition(this.condition);
|
||||||
initCondition(this.condition, this.condition.selectAll);
|
initCondition(this.condition, this.condition.selectAll);
|
||||||
|
this.condition.orders = getLastTableSortField(this.tableHeaderKey);
|
||||||
|
this.enableOrderDrag = true;
|
||||||
|
if (this.condition.orders.length > 0) {
|
||||||
|
this.enableOrderDrag = false;
|
||||||
|
}
|
||||||
if (this.planId) {
|
if (this.planId) {
|
||||||
// param.planId = this.planId;
|
// param.planId = this.planId;
|
||||||
this.condition.planId = this.planId;
|
this.condition.planId = this.planId;
|
||||||
|
@ -579,9 +586,20 @@ export default {
|
||||||
item.tags = JSON.parse(item.tags);
|
item.tags = JSON.parse(item.tags);
|
||||||
});
|
});
|
||||||
checkTableRowIsSelected(this, this.$refs.table);
|
checkTableRowIsSelected(this, this.$refs.table);
|
||||||
|
|
||||||
|
this.handleRowDrop();
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
handleRowDrop() {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
handleRowDrop(this.page.data, (param) => {
|
||||||
|
param.projectId = this.projectId;
|
||||||
|
editTestCaseOrder(param);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
search() {
|
search() {
|
||||||
this.initTableData();
|
this.initTableData();
|
||||||
},
|
},
|
||||||
|
|
|
@ -2,6 +2,7 @@ import {getCurrentProjectID, getCurrentUser, humpToLine} from "@/common/js/utils
|
||||||
import {CUSTOM_TABLE_HEADER} from "@/common/js/default-table-header";
|
import {CUSTOM_TABLE_HEADER} from "@/common/js/default-table-header";
|
||||||
import {updateCustomFieldTemplate} from "@/network/custom-field-template";
|
import {updateCustomFieldTemplate} from "@/network/custom-field-template";
|
||||||
import i18n from "@/i18n/i18n";
|
import i18n from "@/i18n/i18n";
|
||||||
|
import Sortable from 'sortablejs'
|
||||||
|
|
||||||
export function _handleSelectAll(component, selection, tableData, selectRows, condition) {
|
export function _handleSelectAll(component, selection, tableData, selectRows, condition) {
|
||||||
if (selection.length > 0) {
|
if (selection.length > 0) {
|
||||||
|
@ -524,3 +525,30 @@ export function getCustomFieldBatchEditOption(customFields, typeArr, valueArr, m
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function handleRowDrop(data, callback) {
|
||||||
|
setTimeout(() => {
|
||||||
|
const tbody = document.querySelector('.el-table__body-wrapper tbody');
|
||||||
|
Sortable.create(tbody, {
|
||||||
|
handle: ".table-row-drop-bar",
|
||||||
|
animation: 100,
|
||||||
|
onEnd({ newIndex, oldIndex }) {
|
||||||
|
let param = {};
|
||||||
|
param.moveId = data[oldIndex].id;
|
||||||
|
if (newIndex === 0) {
|
||||||
|
param.moveMode = 'BEFORE';
|
||||||
|
param.targetId = data[0].id;
|
||||||
|
} else {
|
||||||
|
// 默认从后面添加
|
||||||
|
param.moveMode = 'AFTER';
|
||||||
|
param.targetId = data[newIndex].id;
|
||||||
|
}
|
||||||
|
const currRow = data.splice(oldIndex, 1)[0];
|
||||||
|
data.splice(newIndex, 0, currRow);
|
||||||
|
if (callback) {
|
||||||
|
callback(param);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}, 100);
|
||||||
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import {post, get} from "@/common/js/ajax";
|
import {post, get} from "@/common/js/ajax";
|
||||||
import {success} from "@/common/js/message";
|
import {success} from "@/common/js/message";
|
||||||
import i18n from "@/i18n/i18n";
|
import i18n from "@/i18n/i18n";
|
||||||
|
import {basePost} from "@/network/base-network";
|
||||||
|
|
||||||
export function getTestCasesForMinder(request, callback) {
|
export function getTestCasesForMinder(request, callback) {
|
||||||
return post('/test/case/list/minder', request, (response) => {
|
return post('/test/case/list/minder', request, (response) => {
|
||||||
|
@ -48,3 +49,7 @@ export function deleteRelateTest(caseId, testId, callback) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function editTestCaseOrder(request, callback) {
|
||||||
|
return basePost('/test/case/edit/order', request, callback);
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue