From 713a2dbe946e78889916d23311b9353f23b89cdb Mon Sep 17 00:00:00 2001 From: chenyuan Date: Wed, 2 Sep 2026 20:47:11 +0800 Subject: [PATCH] fix: clarify diagnosis sentiment validation --- .../impl/ProductDiagnosisIterationStepTwoServiceImpl.java | 2 +- .../impl/ProductDiagnosisIterationStepTwoServiceImplTest.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) 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(" ");