Quellcode durchsuchen

修改大题顺序不对问题

chenken vor 8 Jahren
Ursprung
Commit
b388097e76

+ 18 - 1
cqb-paper/src/main/java/com/qmth/cqb/paper/model/PaperDetail.java

@@ -5,7 +5,8 @@ import java.io.Serializable;
 import org.springframework.data.annotation.Id;
 import org.springframework.data.mongodb.core.mapping.DBRef;
 
-public class PaperDetail implements Serializable {
+
+public class PaperDetail implements Serializable,Comparable<PaperDetail> {
 
     private static final long serialVersionUID = 6674961232283369404L;
 
@@ -105,4 +106,20 @@ public class PaperDetail implements Serializable {
 
     }
 
+    @Override
+    public int compareTo(PaperDetail paperDetail) {
+        if (paperDetail != null) {
+            if(this.getNumber() == null)return -1;
+            if(paperDetail.getNumber() == null)return 1;
+            if (this.getNumber() > paperDetail.getNumber()) {
+                return 1;
+            } else if (this.getNumber() < paperDetail.getNumber()) {
+                return -1;
+            }else{
+                return 0;
+            }
+        }
+        return -1;
+    }
+    
 }

+ 3 - 0
cqb-paper/src/main/java/com/qmth/cqb/paper/service/ExtractConfigServiceImpl.java

@@ -20,6 +20,7 @@ import org.springframework.data.mongodb.core.query.Criteria;
 import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
+import org.springframework.util.CollectionUtils;
 
 import cn.com.qmth.examcloud.common.dto.question.PaperDetailDto;
 import cn.com.qmth.examcloud.common.dto.question.PaperDetailUnitDto;
@@ -365,6 +366,8 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
 		PaperDto paperDto = BeanCopierUtil.copyProperties(paper, PaperDto.class);
         // 获取大题
         List<PaperDetail> paperDetails = paperDetailRepo.findByPaper(paper);
+        //大题根据number进行排序 PaperDetail 对象中有compareTo方法
+        Collections.sort(paperDetails);
         List<PaperDetailDto> paperDetailDtos = BeanCopierUtil.copyPropertiesOfList(paperDetails, PaperDetailDto.class);
         paperDto.setPaperDetails(paperDetailDtos);
         // 封装小题