diff --git a/src/main/java/com/sztzjy/digital_credit/service/impl/StuPersonalCreditServiceImpl.java b/src/main/java/com/sztzjy/digital_credit/service/impl/StuPersonalCreditServiceImpl.java index 60f9fd3..30e39ee 100644 --- a/src/main/java/com/sztzjy/digital_credit/service/impl/StuPersonalCreditServiceImpl.java +++ b/src/main/java/com/sztzjy/digital_credit/service/impl/StuPersonalCreditServiceImpl.java @@ -6,6 +6,7 @@ import com.sztzjy.digital_credit.mapper.*; import com.sztzjy.digital_credit.service.StuPersonalCreditReportingService; import com.sztzjy.digital_credit.service.StuPersonalCreditService; import com.sztzjy.digital_credit.service.StuRateService; +import com.sztzjy.digital_credit.service.StuScoreCenterService; import com.sztzjy.digital_credit.util.BigDecimalUtils; import org.checkerframework.checker.units.qual.A; import org.geolatte.geom.M; @@ -34,6 +35,8 @@ public class StuPersonalCreditServiceImpl implements StuPersonalCreditService { StuPersonalCreditReportingService stuPersonalCreditReportingService; @Resource StuRateService service; + @Resource + StuScoreCenterServiceImpl stuScoreCenterService; /** * 个人信息录入计分 @@ -561,6 +564,9 @@ public class StuPersonalCreditServiceImpl implements StuPersonalCreditService { scoreCenterExample.createCriteria().andUserIdEqualTo(userId).andAscriptionEqualTo(Constant.COMPREHENSIVE_CASE); List stuScoreCenters = stuScoreCenterMapper.selectByExample(scoreCenterExample); + //更新权重信息 + stuScoreCenterService.updateWeightInfo(stuScoreCenters); + //将分数更新到user中 StuUser stuUser = stuUserMapper.selectByPrimaryKey(userId); if (!stuScoreCenters.isEmpty()) { @@ -577,7 +583,11 @@ public class StuPersonalCreditServiceImpl implements StuPersonalCreditService { stuUser.setCasePersonalCreditScore(trainingScore); //个人征信客观成绩 stuUser.setCasePersonalCreditObjScore(bigDecimalUtils.add(stuUser.getCasePersonalCreditObjScore().toString(), scoring.toString())); + //权重更新后总成绩 + BigDecimal mul = bigDecimalUtils.mul(stuScoreCenter.getScoreWeight().toString(), trainingScore.toString()); + //累加总成绩为综合案例总成绩 + comprehensiveCaseScore = bigDecimalUtils.add(comprehensiveCaseScore.toString(), mul.toString()); } if(module.equals(Constant.CORPORATE_CREDIT)){ @@ -586,14 +596,22 @@ public class StuPersonalCreditServiceImpl implements StuPersonalCreditService { stuUser.setCaseCorporateCreditScore(trainingScore); //企业征信客观成绩 stuUser.setCaseCorporateCreditObjScore(bigDecimalUtils.add(stuUser.getCaseCorporateCreditObjScore().toString(), scoring.toString())); + //权重更新后总成绩 + BigDecimal mul = bigDecimalUtils.mul(stuScoreCenter.getScoreWeight().toString(), trainingScore.toString()); + //累加总成绩为综合案例总成绩 + comprehensiveCaseScore = bigDecimalUtils.add(comprehensiveCaseScore.toString(), mul.toString()); } - //累加总成绩为综合案例总成绩 - comprehensiveCaseScore = bigDecimalUtils.add(comprehensiveCaseScore.toString(), stuScoreCenter.getTrainingScore().toString()); } //综合案例总成绩 stuUser.setComprehensiveCaseScore(comprehensiveCaseScore); + //学生总成绩=用户画像成绩+个人征信成绩+企业征信成绩+综合案例成绩 + BigDecimal add = bigDecimalUtils.add(stuUser.getCreditPortraitScore().toString(), stuUser.getPersonalCreditScore().toString()); + BigDecimal add1 = bigDecimalUtils.add(stuUser.getCorporateCreditScore().toString(), stuUser.getComprehensiveCaseScore().toString()); + + stuUser.setTotalScore(bigDecimalUtils.add(add.toString(),add1.toString())); + stuUserMapper.updateByPrimaryKey(stuUser); } } diff --git a/src/main/java/com/sztzjy/digital_credit/service/impl/StuScoreCenterServiceImpl.java b/src/main/java/com/sztzjy/digital_credit/service/impl/StuScoreCenterServiceImpl.java index 23ce705..82787dc 100644 --- a/src/main/java/com/sztzjy/digital_credit/service/impl/StuScoreCenterServiceImpl.java +++ b/src/main/java/com/sztzjy/digital_credit/service/impl/StuScoreCenterServiceImpl.java @@ -115,8 +115,22 @@ public class StuScoreCenterServiceImpl implements StuScoreCenterService { //总成绩排名 stuScoreCenter.setClassRanking(stuUser.getTotalRank()); + //完成情况 + int a=0; + for (int i = 0; i < list.size(); i++) { + if(list.get(i).getCompletionStatus().equals("未完成")){ + a++; + } + } + + if(a==0){ + stuScoreCenter.setCompletionStatus("已完成"); + }else { + stuScoreCenter.setCompletionStatus("未完成"); + } list.add(stuScoreCenter); + return list; }else { // TODO: 2024/4/28 如果是征信画像、个人征信、企业征信