diff --git a/src/main/java/com/sztzjy/linkCommerce/service/impl/ProductDiagnosisIterationStepTwoServiceImpl.java b/src/main/java/com/sztzjy/linkCommerce/service/impl/ProductDiagnosisIterationStepTwoServiceImpl.java index 4ccf52f..895c395 100644 --- a/src/main/java/com/sztzjy/linkCommerce/service/impl/ProductDiagnosisIterationStepTwoServiceImpl.java +++ b/src/main/java/com/sztzjy/linkCommerce/service/impl/ProductDiagnosisIterationStepTwoServiceImpl.java @@ -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%。"); } } diff --git a/src/test/java/com/sztzjy/linkCommerce/service/impl/ProductDiagnosisIterationStepTwoServiceImplTest.java b/src/test/java/com/sztzjy/linkCommerce/service/impl/ProductDiagnosisIterationStepTwoServiceImplTest.java index 6f2687b..6dad45c 100644 --- a/src/test/java/com/sztzjy/linkCommerce/service/impl/ProductDiagnosisIterationStepTwoServiceImplTest.java +++ b/src/test/java/com/sztzjy/linkCommerce/service/impl/ProductDiagnosisIterationStepTwoServiceImplTest.java @@ -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(" ");