提交 3b9314ab authored 作者: 黄承天's avatar 黄承天

[feature]

对每个项目增加创建时间与更新时间字段
上级 889c9365
...@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor; ...@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import javax.persistence.*; import javax.persistence.*;
import java.util.Date;
@Entity @Entity
@Accessors(chain = true) @Accessors(chain = true)
...@@ -25,4 +26,8 @@ public class ProjectDo { ...@@ -25,4 +26,8 @@ public class ProjectDo {
private String os; private String os;
private Date createTime;
private Date updateTime;
} }
package com.zjty.autotest.pojo.vo.project; package com.zjty.autotest.pojo.vo.project;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.zjty.autotest.pojo.vo.report.Report;
import com.zjty.autotest.pojo.vo.report.ReportVo; import com.zjty.autotest.pojo.vo.report.ReportVo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
...@@ -30,10 +29,16 @@ public class ProjectVo { ...@@ -30,10 +29,16 @@ public class ProjectVo {
@ApiModelProperty(value = "操作系统", position = 4) @ApiModelProperty(value = "操作系统", position = 4)
private String os; private String os;
@ApiModelProperty(value = "测试用例数据", position = 5) @ApiModelProperty(value = "创建时间", position = 5)
private String createTime;
@ApiModelProperty(value = "更新时间", position = 6)
private String updateTime;
@ApiModelProperty(value = "测试用例数据", position = 7)
private List<TestCase> tests; private List<TestCase> tests;
@ApiModelProperty(value = "测试报告数据", position = 6) @ApiModelProperty(value = "测试报告数据", position = 8)
private List<ReportVo> reports; private List<ReportVo> reports;
} }
...@@ -12,7 +12,9 @@ import org.springframework.data.domain.PageRequest; ...@@ -12,7 +12,9 @@ import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.transaction.Transactional; import javax.transaction.Transactional;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static java.lang.String.format; import static java.lang.String.format;
...@@ -35,21 +37,30 @@ public class ProjectService { ...@@ -35,21 +37,30 @@ public class ProjectService {
@SuppressWarnings("Duplicates") @SuppressWarnings("Duplicates")
public void save(Project project) { public void save(Project project) {
String url = project.getUrl(); String url = project.getUrl();
ProjectDo projectDo = transHelper.projectDo(project);
Integer projectDoId = projectRepository.save(projectDo).getId();
if (isNull(project.getId())) { if (isNull(project.getId())) {
ProjectDo projectDo = transHelper.projectDo(project,new Date(),new Date());
Integer projectDoId = projectRepository.save(projectDo).getId();
List<TestCase> tests = project.getTests(); List<TestCase> tests = project.getTests();
if (nonNull(tests)) { if (nonNull(tests)) {
tests.forEach(testCase -> testCaseService.save(testCase, projectDoId, url)); tests.forEach(testCase -> testCaseService.save(testCase, projectDoId, url));
} }
} else { } else {
Integer projectId = project.getId(); Integer projectId = project.getId();
testCaseService.deleteAllByProjectId(projectId); Optional<ProjectDo> projectDoOptional = projectRepository.findById(projectId);
reportRepository.deleteAllByProjectId(projectId); boolean exists = projectDoOptional.isPresent();
List<TestCase> tests = project.getTests(); if (exists){
if (nonNull(tests)) { ProjectDo projectDo = projectDoOptional.get();
tests.forEach(testCase -> testCaseService.save(testCase, projectId, url)); projectRepository.save(projectDo.setUpdateTime(new Date()));
testCaseService.deleteAllByProjectId(projectId);
reportRepository.deleteAllByProjectId(projectId);
List<TestCase> tests = project.getTests();
if (nonNull(tests)) {
tests.forEach(testCase -> testCaseService.save(testCase, projectId, url));
}
}else {
throw new RuntimeException(format("id为[%s]的项目不存在"));
} }
} }
} }
......
...@@ -15,6 +15,7 @@ import com.zjty.autotest.util.TimeUtil; ...@@ -15,6 +15,7 @@ import com.zjty.autotest.util.TimeUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -126,12 +127,14 @@ public class TransHelper { ...@@ -126,12 +127,14 @@ public class TransHelper {
); );
} }
public ProjectDo projectDo(Project project) { public ProjectDo projectDo(Project project, Date createTime,Date updateTime) {
return new ProjectDo( return new ProjectDo(
project.getId(), project.getId(),
project.getName(), project.getName(),
null, null,
project.getOs() project.getOs(),
createTime,
updateTime
); );
} }
...@@ -161,6 +164,8 @@ public class TransHelper { ...@@ -161,6 +164,8 @@ public class TransHelper {
projectDo.getName(), projectDo.getName(),
null, null,
projectDo.getOs(), projectDo.getOs(),
TimeUtil.getTime(projectDo.getCreateTime()),
TimeUtil.getTime(projectDo.getUpdateTime()),
tests, tests,
reports reports
); );
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论