diff --git a/src/main/java/com/project/interaction/domain/service/impl/SaveClusterDomainServiceImpl.java b/src/main/java/com/project/interaction/domain/service/impl/SaveClusterDomainServiceImpl.java index e8b4a75..42996a5 100644 --- a/src/main/java/com/project/interaction/domain/service/impl/SaveClusterDomainServiceImpl.java +++ b/src/main/java/com/project/interaction/domain/service/impl/SaveClusterDomainServiceImpl.java @@ -148,7 +148,7 @@ public class SaveClusterDomainServiceImpl implements SaveClusterDomainService { } if (clusterEntity.getClusterSize() > 1) { // 簇生成目标量 - int clusterTargetNum = (int) Math.ceil(targetNum * clusterEntity.getClusterSize()); + int clusterTargetNum = (int) Math.ceil(targetNum * clusterEntity.getClusterSize() * questionTypeMap.get(QuestionTypeEnum.MULTIPLE_CHOICE.name())); produceDTOList.add(buildDTO(clusterEntity.getId(), QuestionSourceTypeEnum.Multi_Concept ,0,0, clusterTargetNum)); } } diff --git a/src/main/java/com/project/question/domain/service/impl/QuestionInventoryDomainServiceImpl.java b/src/main/java/com/project/question/domain/service/impl/QuestionInventoryDomainServiceImpl.java index ca1658f..622f870 100644 --- a/src/main/java/com/project/question/domain/service/impl/QuestionInventoryDomainServiceImpl.java +++ b/src/main/java/com/project/question/domain/service/impl/QuestionInventoryDomainServiceImpl.java @@ -73,9 +73,9 @@ public class QuestionInventoryDomainServiceImpl implements QuestionInventoryDoma } int w = cluster.getClusterSize(); // 簇水位线: 1.0 * U * W - int clusterWatermark = (int) Math.ceil(watermark * w); + int clusterWatermark = (int) Math.ceil(watermark * w * questionTypeMap.get(QuestionTypeEnum.MULTIPLE_CHOICE.name())); // 簇目标线: 1.2 * U * W - int clusterTargetLine = (int) Math.ceil(targetLine * w); + int clusterTargetLine = (int) Math.ceil(targetLine * w * questionTypeMap.get(QuestionTypeEnum.MULTIPLE_CHOICE.name())); checkClusterProduce(cluster.getId(), clusterWatermark, clusterTargetLine); } @@ -119,10 +119,12 @@ public class QuestionInventoryDomainServiceImpl implements QuestionInventoryDoma continue; } + Map questionTypeMap = questionTypeProportion(task); int targetLine = getTargetLine(task); - int clusterWatermark = (int) Math.ceil(targetLine * cluster.getClusterSize()); - total = total + clusterWatermark; - if (!checkClusterInventory(cluster.getId(), clusterWatermark)) { + int clusterWatermark = targetLine * cluster.getClusterSize(); + int targetNum = (int) Math.ceil(clusterWatermark * questionTypeMap.get(QuestionTypeEnum.MULTIPLE_CHOICE.name())); + total = total + targetNum; + if (!checkClusterInventory(cluster.getId(), targetNum)) { flage = true; } } @@ -224,9 +226,11 @@ public class QuestionInventoryDomainServiceImpl implements QuestionInventoryDoma @Override public Boolean checkCluster(TaskEntity task, TaskKnowledgeClusterEntity cluster) { + Map questionTypeMap = questionTypeProportion(task); + int targetLine = getTargetLine(task); - int clusterWatermark = (int) Math.ceil(targetLine * cluster.getClusterSize()); - return checkClusterInventory(cluster.getId(), clusterWatermark); + int clusterWatermark = targetLine * cluster.getClusterSize(); + return checkClusterInventory(cluster.getId(), (int) Math.ceil(clusterWatermark * questionTypeMap.get(QuestionTypeEnum.MULTIPLE_CHOICE.name()))); } }