From 75f2a5e10a949b5c9b378d8f450130e19d807f3d Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Tue, 17 Jun 2025 13:34:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BF=83=E5=BE=97=E6=88=90=E7=BB=A9=E6=8C=89?= =?UTF-8?q?=E7=85=A7=E5=AD=A6=E4=B9=A0=E5=91=A8=E6=95=B0*2.5=E4=B8=BA?= =?UTF-8?q?=E6=80=BB=E5=88=86=EF=BC=8C=E5=9C=A8=E6=8C=89=E6=AF=94=E4=BE=8B?= =?UTF-8?q?=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ClassEntityServiceImpl.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/peanut/modules/common/service/impl/ClassEntityServiceImpl.java b/src/main/java/com/peanut/modules/common/service/impl/ClassEntityServiceImpl.java index 19a38a2c..ffec0086 100644 --- a/src/main/java/com/peanut/modules/common/service/impl/ClassEntityServiceImpl.java +++ b/src/main/java/com/peanut/modules/common/service/impl/ClassEntityServiceImpl.java @@ -1468,13 +1468,20 @@ public class ClassEntityServiceImpl extends ServiceImpl-1){ - experienceScore = new BigDecimal(classModel.getExperienceScore()); + if (experienceScore.compareTo(new BigDecimal(0))!=0){ + double count = Math.ceil(classModel.getDays()/7); + BigDecimal totalScore = new BigDecimal(staticScore*count); + if (experienceScore.compareTo(totalScore)>0){ + map.put("experienceScore",classModel.getMedicalcaseScore()); + }else { + experienceScore = experienceScore.divide(totalScore,2, RoundingMode.HALF_UP); + experienceScore = experienceScore.multiply(new BigDecimal(classModel.getMedicalcaseScore())); + experienceScore = experienceScore.setScale(2,RoundingMode.HALF_UP); + map.put("experienceScore",experienceScore); + usualScore = usualScore.add(experienceScore); + userScore = userScore.add(experienceScore); + } } - experienceScore = experienceScore.setScale(2,RoundingMode.HALF_UP); - map.put("experienceScore",experienceScore); - usualScore = usualScore.add(experienceScore); - userScore = userScore.add(experienceScore); } usualScore = usualScore.setScale(2,RoundingMode.HALF_UP); userScore = userScore.setScale(2,RoundingMode.HALF_UP);