Forráskód Böngészése

Merge remote-tracking branch 'origin/dev' into dev

dzx 8 hónapja
szülő
commit
aa1212674e

+ 1 - 1
src/main/java/com/xjrsoft/module/feedback/service/impl/FeedbackServiceImpl.java

@@ -189,7 +189,7 @@ public class FeedbackServiceImpl extends MPJBaseServiceImpl<FeedbackMapper, Feed
             }
             if(ObjectUtils.isNotEmpty(vo.getReplyFileId())){
                 List<File> replyFile = fileService.list(Wrappers.<File>query().lambda().eq(File::getFolderId, vo.getReplyFileId()));
-                vo.setFeedbackFiles(replyFile);
+                vo.setReplyFiles(replyFile);
             }
         }
 

+ 12 - 3
src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookStudentClaimServiceImpl.java

@@ -247,7 +247,7 @@ public class TextbookStudentClaimServiceImpl extends MPJBaseServiceImpl<Textbook
         ;
         List<HeadTeaLookClassBookCategoryDetailVo> classList = wfTextbookClaimItemMapper.selectJoinList(HeadTeaLookClassBookCategoryDetailVo.class, classMPJLambdaWrapper);
 
-        // 班级申领教材
+        // 个人申领教材
         MPJLambdaWrapper<WfTextbookClaimItem> personalMPJLambdaWrapper = new MPJLambdaWrapper<>();
         personalMPJLambdaWrapper
                 .disableSubLogicDel()
@@ -274,9 +274,18 @@ public class TextbookStudentClaimServiceImpl extends MPJBaseServiceImpl<Textbook
         ;
         List<HeadTeaLookClassBookCategoryDetailVo> personalList = wfTextbookClaimItemMapper.selectJoinList(HeadTeaLookClassBookCategoryDetailVo.class, personalMPJLambdaWrapper);
 
-        // 合并两个列表
+        // 合并两个列表,如果有个人领取记录,应该保留个人的,移除班级的
         List<HeadTeaLookClassBookCategoryDetailVo> mergedList = Stream.concat(classList.stream(), personalList.stream())
-                .collect(Collectors.toList());
+                .collect(Collectors.toMap(
+                        // 使用唯一标识作为 key
+                        HeadTeaLookClassBookCategoryDetailVo::getTextbookId,
+                        // 如果有重复,保留后面的值(即优先保留 personalList 的记录)
+                        vo -> vo,
+                        (classVo, personalVo) -> personalVo // 解决冲突时,优先选择 personalList 的记录
+                ))
+                .values() // 获取去重后的值集合
+                .stream()
+                .collect(Collectors.toList()); // 转换回 List
 
         // 根据 textbookId 去重
         List<HeadTeaLookClassBookCategoryDetailVo> distinctList = new ArrayList<>(mergedList.stream()