Browse Source

fix单声部曲目多声轨

Eric 2 years ago
parent
commit
b19cf27ee2

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicScoreDto.java

@@ -5,6 +5,7 @@ import com.ym.mec.biz.dal.entity.SysMusicScoreAccompaniment;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Optional;
 
 
 public class MusicScoreDto {
 public class MusicScoreDto {
     @ApiModelProperty(value = "曲库", required = false)
     @ApiModelProperty(value = "曲库", required = false)
@@ -13,6 +14,9 @@ public class MusicScoreDto {
     @ApiModelProperty(value = "曲库伴奏", required = false)
     @ApiModelProperty(value = "曲库伴奏", required = false)
     private List<SysMusicScoreAccompaniment> sysMusicScoreAccompaniments;
     private List<SysMusicScoreAccompaniment> sysMusicScoreAccompaniments;
 
 
+    @ApiModelProperty("多声轨")
+    private Boolean multitrack;
+
     private List<Integer> delExamSongAccompanimentIds;
     private List<Integer> delExamSongAccompanimentIds;
 
 
     public List<Integer> getDelExamSongAccompanimentIds() {
     public List<Integer> getDelExamSongAccompanimentIds() {
@@ -38,4 +42,12 @@ public class MusicScoreDto {
     public void setSysMusicScoreAccompaniments(List<SysMusicScoreAccompaniment> sysMusicScoreAccompaniments) {
     public void setSysMusicScoreAccompaniments(List<SysMusicScoreAccompaniment> sysMusicScoreAccompaniments) {
         this.sysMusicScoreAccompaniments = sysMusicScoreAccompaniments;
         this.sysMusicScoreAccompaniments = sysMusicScoreAccompaniments;
     }
     }
+
+    public Boolean getMultitrack() {
+        return Optional.ofNullable(multitrack).orElse(false);
+    }
+
+    public void setMultitrack(Boolean multitrack) {
+        this.multitrack = multitrack;
+    }
 }
 }

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicScoreServiceImpl.java

@@ -90,13 +90,14 @@ public class SysMusicScoreServiceImpl extends BaseServiceImpl<Integer, SysMusicS
         if (sysMusicScoreAccompaniments != null && sysMusicScoreAccompaniments.size() > 0) {
         if (sysMusicScoreAccompaniments != null && sysMusicScoreAccompaniments.size() > 0) {
             List<Integer> subjectIdList = sysMusicScoreAccompaniments.stream().map(e -> e.getSubjectId()).collect(Collectors.toList());
             List<Integer> subjectIdList = sysMusicScoreAccompaniments.stream().map(e -> e.getSubjectId()).collect(Collectors.toList());
             subjectIdList.removeAll(Collections.singleton(null));
             subjectIdList.removeAll(Collections.singleton(null));
+
             if (subjectIdList.size() > 0) {
             if (subjectIdList.size() > 0) {
                 List<Integer> idList = sysMusicScoreAccompaniments.stream().map(e -> e.getId()).collect(Collectors.toList());
                 List<Integer> idList = sysMusicScoreAccompaniments.stream().map(e -> e.getId()).collect(Collectors.toList());
                 List<Integer> subjectIds = sysMusicScoreAccompanimentDao.findSubjectByMusicScoreId(sysMusicScore.getId(), idList);
                 List<Integer> subjectIds = sysMusicScoreAccompanimentDao.findSubjectByMusicScoreId(sysMusicScore.getId(), idList);
                 int subjectSize = subjectIds.size() + subjectIdList.size();
                 int subjectSize = subjectIds.size() + subjectIdList.size();
                 subjectIdList.addAll(subjectIds);
                 subjectIdList.addAll(subjectIds);
                 int size = new HashSet<>(subjectIdList).size();
                 int size = new HashSet<>(subjectIdList).size();
-                if (size < subjectSize) {
+                if (size < subjectSize && !musicScoreDto.getMultitrack()) {
                     throw new BizException("操作失败:请勿提交重复的伴奏声部");
                     throw new BizException("操作失败:请勿提交重复的伴奏声部");
                 }
                 }
             }
             }