merge: product diagnosis step 2 validation message

bugfix/ai-assessment-evidence-rescore
chenyuan 1 month ago
commit d4658f6725

@ -116,7 +116,7 @@ public class ProductDiagnosisIterationStepTwoServiceImpl implements ProductDiagn
for (String type : SENTIMENT_TYPES) {
ProductDiagnosisIterationStepTwoValidationRequest.Sentiment row = byType.get(type);
BigDecimal expected = new BigDecimal(row.getCount()).multiply(new BigDecimal("100")).divide(new BigDecimal(total), 2, RoundingMode.HALF_UP);
if (row.getPercentage().compareTo(expected) != 0) throw badRequest(type + "评论占比应等于该类评论数量除以总评论数量,保留两位小数");
if (row.getPercentage().compareTo(expected) != 0) throw badRequest("正面、中性、负面评论占比之和应为100%。");
}
}

@ -47,7 +47,8 @@ class ProductDiagnosisIterationStepTwoServiceImplTest {
ProductDiagnosisIterationStepTwoServiceImpl service = new ProductDiagnosisIterationStepTwoServiceImpl();
ProductDiagnosisIterationStepTwoValidationRequest incorrect = validRequest();
incorrect.getSentiments().get(0).setPercentage(new BigDecimal("34.00"));
assertThrows(ServiceException.class, () -> service.validate(incorrect, student()));
ServiceException percentageError = assertThrows(ServiceException.class, () -> service.validate(incorrect, student()));
assertEquals("正面、中性、负面评论占比之和应为100%。", percentageError.getMessage());
ProductDiagnosisIterationStepTwoValidationRequest noConclusion = validRequest();
noConclusion.setRootCauseAnalysis(" ");

Loading…
Cancel
Save