소스 검색

feat: quiz1

shc 1 년 전
부모
커밋
ef2e7a7875

+ 8 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/model/input/WmScorePackageApiOutput.java

@@ -5,6 +5,7 @@ import lombok.Data;
 
 
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 import java.util.List;
 import java.util.List;
+import java.util.Set;
 
 
 /**
 /**
  *
  *
@@ -72,4 +73,11 @@ public class WmScorePackageApiOutput {
 
 
 	List<WmPkgQuizRelation> quizRelations;
 	List<WmPkgQuizRelation> quizRelations;
 
 
+	Set<Integer> quizIds;
+
+	/**
+	 * 推广药品id
+	 */
+	private String[] drugtable;
+
 }
 }

+ 8 - 9
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ApiController.java

@@ -1780,14 +1780,12 @@ public class ApiController {
             scorePackageList = scorePage.getRecords();
             scorePackageList = scorePage.getRecords();
 
 
             // 获取积分包的关联试卷
             // 获取积分包的关联试卷
-            Map<Integer, List<WmPkgQuizRelation>> quizMap = null;
+            Map<Integer, Set<Integer>> quizMap = null;
             if (CollUtil.isNotEmpty(scorePackageList)) {
             if (CollUtil.isNotEmpty(scorePackageList)) {
-                List<Integer> collect = scorePackageList.stream().mapToInt(pkg -> Integer.parseInt(pkg.getId())).boxed().distinct().collect(Collectors.toList());
-                List<WmPkgQuizRelation> quizRelations = quizRelationService.listQuizRelationsByPkgIds(collect);
+                Set<String> drugIds = scorePackageList.stream().flatMap(sp -> Arrays.stream(sp.getDrugtable())).collect(Collectors.toSet());
+                List<WmDrugQuizRelation> relations = drugQuizRelationService.list(Wrappers.<WmDrugQuizRelation>lambdaQuery().in(WmDrugQuizRelation::getDrugId, drugIds));
 
 
-                if (CollUtil.isNotEmpty(quizRelations)) {
-                    quizMap = quizRelations.stream().collect(Collectors.groupingBy(WmPkgQuizRelation::getPkgId));
-                }
+                quizMap = relations.stream().collect(Collectors.groupingBy(WmDrugQuizRelation::getDrugId, Collectors.mapping(WmDrugQuizRelation::getQuizId, Collectors.toSet())));
 
 
             }
             }
 
 
@@ -1804,9 +1802,10 @@ public class ApiController {
                     item.setScore(String.format("%.2f", Integer.parseInt(item.getScore()) / 100.0));
                     item.setScore(String.format("%.2f", Integer.parseInt(item.getScore()) / 100.0));
                 }
                 }
 
 
-                if (CollUtil.isNotEmpty(quizMap)) {
-                    List<WmPkgQuizRelation> quizRelations = quizMap.get(Integer.parseInt(item.getId()));
-                    item.setQuizRelations(quizRelations);
+                String[] drugtable = item.getDrugtable();
+                if (CollUtil.isNotEmpty(quizMap) && ArrayUtil.isNotEmpty(drugtable)) {
+                    Set<Integer> integers = quizMap.get(Integer.valueOf(drugtable[0]));
+                    item.setQuizIds(integers);
                 }
                 }
             }
             }
             return R.ok(scorePage);
             return R.ok(scorePage);

+ 1 - 0
hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/WmScorePackageMapper.xml

@@ -1324,6 +1324,7 @@
 		       p.task_num,
 		       p.task_num,
 		       p.description,
 		       p.description,
 		       p.belong_date,
 		       p.belong_date,
+		       p.drugtable,
 		       p.pkg_sn AS `packageSn`,
 		       p.pkg_sn AS `packageSn`,
 		       p.score,
 		       p.score,
 		       d.name packageEntName
 		       d.name packageEntName