| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package nju.seec.SEECdemo.logic.vo;
- import lombok.Data;
- import nju.seec.SEECdemo.data.entity.assignment.Code;
- import nju.seec.SEECdemo.data.entity.assignment.CodeResult;
- import nju.seec.SEECdemo.logic.service.impl.assignment.mock.MockGroup;
- import nju.seec.SEECdemo.util.enums.AssignmentStatus;
- import org.springframework.beans.BeanUtils;
- import java.util.List;
- import java.util.Set;
- import java.util.stream.Collectors;
- @Data
- public class CodeWorkVO {
- private Integer id;
- private String name;
- private String description;
- private AssignmentStatus status;
- private String courseName;
- private Set<NestedRecord> records;
- public CodeWorkVO(Code assignment, String courseName, List<MockGroup> groupList){
- BeanUtils.copyProperties(assignment, this);
- this.courseName = courseName;
- this.records = assignment.getResultSet().stream().map(c->{
- MockGroup group = groupList.stream().filter(g->g.getId()==c.getGroupId()).findFirst().get();
- return new NestedRecord(c, group);
- }).collect(Collectors.toSet());
- }
- @Data
- public static class NestedRecord {
- private Integer id;
- private NestedGroup group;
- public NestedRecord(CodeResult assignmentResult, MockGroup group){
- this.id = assignmentResult.getId();
- this.group = new NestedGroup(group);
- }
- }
- @Data
- public static class NestedGroup {
- private Integer id;
- private String name;
- public NestedGroup(MockGroup group){
- this.id = group.getId();
- this.name = group.getName();
- }
- }
- }
|