diff --git a/src/main/java/com/sztzjy/digital_credit/controller/StuPersonalInfoEntryController.java b/src/main/java/com/sztzjy/digital_credit/controller/StuPersonalInfoEntryController.java
index a4cb387..4bbc2b8 100644
--- a/src/main/java/com/sztzjy/digital_credit/controller/StuPersonalInfoEntryController.java
+++ b/src/main/java/com/sztzjy/digital_credit/controller/StuPersonalInfoEntryController.java
@@ -42,7 +42,7 @@ public class StuPersonalInfoEntryController {
     @ApiOperation("个人信息--查询")
     @AnonymousAccess
     @PostMapping("/getPersonalInfo")
-    public ResultEntity getPersonalInfo(@NotBlank String userId){
+    public ResultEntity getPersonalInfo(@ApiParam("用户ID")@RequestParam String userId){
         StuPersonalInfo stuPersonalInfo=reportingService.getPersonalInfo(userId);
         return new ResultEntity<>(HttpStatus.OK,"成功",stuPersonalInfo);
     }
@@ -69,7 +69,7 @@ public class StuPersonalInfoEntryController {
     @ApiOperation("信用记录--信用提示查询")
     @AnonymousAccess
     @PostMapping("/getCreditReminder")
-    public ResultEntity getCreditReminder(@NotBlank String userId){
+    public ResultEntity getCreditReminder(@ApiParam("用户ID")@RequestParam String userId){
         StuPersonalCreditReminderInfo constructionRenderInfo=reportingService.getCreditReminder(userId);
         return new ResultEntity<>(HttpStatus.OK,"成功",constructionRenderInfo);
     }
@@ -94,7 +94,7 @@ public class StuPersonalInfoEntryController {
     @ApiOperation("信用记录--逾期及违约信息概要查询")
     @AnonymousAccess
     @PostMapping("/getOverdueInfo")
-    public ResultEntity getOverdueInfo(@NotBlank String userId){
+    public ResultEntity getOverdueInfo(@ApiParam("用户ID")@RequestParam String userId){
         StuPersonalDefaultInfo stuPersonalDefaultInfo=reportingService.getOverdueInfo(userId);
         return new ResultEntity<>(HttpStatus.OK,"成功",stuPersonalDefaultInfo);
     }
@@ -119,7 +119,7 @@ public class StuPersonalInfoEntryController {
     @ApiOperation("信用记录--授信及负债信息概要查询")
     @AnonymousAccess
     @PostMapping("/getCreditGranting")
-    public ResultEntity getCreditGranting(@NotBlank String userId){
+    public ResultEntity getCreditGranting(@ApiParam("用户ID")@RequestParam String userId){
         StuPersonalOutstandingLoansInfo stuPersonalOutstandingLoansInfo=reportingService.getCreditGranting(userId);
         return new ResultEntity<>(HttpStatus.OK,"成功",stuPersonalOutstandingLoansInfo);
     }
@@ -145,7 +145,7 @@ public class StuPersonalInfoEntryController {
     @ApiOperation("信用评分查询")
     @AnonymousAccess
     @PostMapping("/getCreditScore")
-    public ResultEntity getCreditScore(@NotBlank String userId){
+    public ResultEntity getCreditScore(@ApiParam("用户ID")@RequestParam String userId){
         StuCreditScore stuCreditScore=reportingService.getCreditScore(userId);
         return new ResultEntity<>(HttpStatus.OK,"成功",stuCreditScore);
     }
@@ -178,8 +178,10 @@ public class StuPersonalInfoEntryController {
     @ApiOperation("个人征信--重新实训")
     @AnonymousAccess
     @PostMapping("/againTraining")
-    public ResultEntity againTraining(@NotBlank String userId){
-        reportingService.againTraining(userId);
+    public ResultEntity againTraining(@ApiParam String userId,
+                                      @ApiParam("归属模块") String module,
+                                      @ApiParam("所属大模块") String ascription){
+        reportingService.againTraining(userId,module,ascription);
         return new ResultEntity<>(HttpStatus.OK,"成功");
     }
 }
diff --git a/src/main/java/com/sztzjy/digital_credit/controller/StuScoreCenterController.java b/src/main/java/com/sztzjy/digital_credit/controller/StuScoreCenterController.java
index 3b06641..70d6d6d 100644
--- a/src/main/java/com/sztzjy/digital_credit/controller/StuScoreCenterController.java
+++ b/src/main/java/com/sztzjy/digital_credit/controller/StuScoreCenterController.java
@@ -2,6 +2,7 @@ package com.sztzjy.digital_credit.controller;
 
 import com.sztzjy.digital_credit.annotation.AnonymousAccess;
 import com.sztzjy.digital_credit.entity.StuScoreCenter;
+import com.sztzjy.digital_credit.entity.StuScoreCenterExample;
 import com.sztzjy.digital_credit.service.StuScoreCenterService;
 import com.sztzjy.digital_credit.util.ResultEntity;
 import io.swagger.annotations.Api;
@@ -32,9 +33,21 @@ public class StuScoreCenterController {
     @ApiOperation("成绩展示")
     @PostMapping("/getScore")
     @AnonymousAccess
-    public ResultEntity getScore(@ApiParam("用户ID") String userId,
-                                 @ApiParam("归属模块") @RequestParam(required = false) String module){
+    public ResultEntity getScore(@ApiParam("用户ID") @RequestParam String userId,
+                                 @ApiParam("条件") @RequestParam(required = false) String module){
         List<StuScoreCenter> list=stuScoreCenterService.getScore(userId,module);
         return new ResultEntity(HttpStatus.OK,"成功",list);
     }
+
+
+    @ApiOperation("实训时长统计")
+    @PostMapping("/trainingDurationStatistics")
+    @AnonymousAccess
+    public ResultEntity trainingDurationStatistics(@ApiParam("用户ID") @RequestParam String userId,
+                                                   @ApiParam("模块") @RequestParam String module,
+                                                   @ApiParam("观看时间(大于等于一分钟)") @RequestParam Integer viewingTime,
+                                                   @ApiParam("所属大模块") @RequestParam String ascription){
+        stuScoreCenterService.trainingDurationStatistics(userId,module,viewingTime,ascription);
+        return new ResultEntity(HttpStatus.OK,"成功");
+    }
 }
diff --git a/src/main/java/com/sztzjy/digital_credit/service/StuPersonalCreditReportingService.java b/src/main/java/com/sztzjy/digital_credit/service/StuPersonalCreditReportingService.java
index cc38a2f..df64667 100644
--- a/src/main/java/com/sztzjy/digital_credit/service/StuPersonalCreditReportingService.java
+++ b/src/main/java/com/sztzjy/digital_credit/service/StuPersonalCreditReportingService.java
@@ -57,7 +57,8 @@ public interface StuPersonalCreditReportingService {
 
     //---------------------------------------------------------------------
     //重新实训
-    void againTraining(String userId);
+    void againTraining(String userId,String module,String ascription);
 
-    boolean getSchedule(String userId);
+    //完成进度查看
+    boolean getSchedule(String userId,String module);
 }
diff --git a/src/main/java/com/sztzjy/digital_credit/service/StuScoreCenterService.java b/src/main/java/com/sztzjy/digital_credit/service/StuScoreCenterService.java
index 5f6783c..ac87743 100644
--- a/src/main/java/com/sztzjy/digital_credit/service/StuScoreCenterService.java
+++ b/src/main/java/com/sztzjy/digital_credit/service/StuScoreCenterService.java
@@ -11,4 +11,7 @@ import java.util.List;
 public interface StuScoreCenterService {
 
     List<StuScoreCenter> getScore(String userId, String module);
+
+    void trainingDurationStatistics(String userId, String module, Integer viewingTime,String ascription);
+
 }
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 94a3092..60f9fd3 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
@@ -7,6 +7,8 @@ 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.util.BigDecimalUtils;
+import org.checkerframework.checker.units.qual.A;
+import org.geolatte.geom.M;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -35,497 +37,420 @@ public class StuPersonalCreditServiceImpl implements StuPersonalCreditService {
 
     /**
      * 个人信息录入计分
+     *
      * @param stuPersonalInfo
      * @return
      */
     @Override
-    public void personalInfoScoring(StuPersonalInfo stuPersonalInfo,String module) {
-        BigDecimal scoring=new BigDecimal(0);
+    public void personalInfoScoring(StuPersonalInfo stuPersonalInfo, String module) {
+        BigDecimal scoring = new BigDecimal(0);
 
-        if(stuPersonalInfo.getName().equals(Constant.NAME)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuPersonalInfo.getName().equals(Constant.NAME)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        if(stuPersonalInfo.getGender().equals(Constant.GENDER)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuPersonalInfo.getGender().equals(Constant.GENDER)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        if(stuPersonalInfo.getAge().equals(Constant.AGE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuPersonalInfo.getAge().equals(Constant.AGE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        if(stuPersonalInfo.getIdentificationNumber().equals(Constant.IDENTIFICATION_NUMBER)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(2));
+        if (stuPersonalInfo.getIdentificationNumber().equals(Constant.IDENTIFICATION_NUMBER)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(2));
         }
 
-        if(stuPersonalInfo.getMaritalStatus().equals(Constant.MARITAL_STATUS)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuPersonalInfo.getMaritalStatus().equals(Constant.MARITAL_STATUS)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        if(stuPersonalInfo.getEducationalBackground().equals(Constant.EDUCATIONAL_BACKGROUND)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuPersonalInfo.getEducationalBackground().equals(Constant.EDUCATIONAL_BACKGROUND)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        if(stuPersonalInfo.getMailingAddress().equals(Constant.MAILING_ADDRESS)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuPersonalInfo.getMailingAddress().equals(Constant.MAILING_ADDRESS)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        if(stuPersonalInfo.getWorkUnit().equals(Constant.WORK_UNIT)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuPersonalInfo.getWorkUnit().equals(Constant.WORK_UNIT)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        if(stuPersonalInfo.getOccupation().equals(Constant.OCCUPATION)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuPersonalInfo.getOccupation().equals(Constant.OCCUPATION)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        if(stuPersonalInfo.getIndustry().equals(Constant.INDUSTRY)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuPersonalInfo.getIndustry().equals(Constant.INDUSTRY)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        if(stuPersonalInfo.getProfessionalTitle().equals(Constant.PROFESSIONAL_TITLE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuPersonalInfo.getProfessionalTitle().equals(Constant.PROFESSIONAL_TITLE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        if(stuPersonalInfo.getAnnualIncomeRange().equals(Constant.ANNUAL_INCOME_RANGE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuPersonalInfo.getAnnualIncomeRange().equals(Constant.ANNUAL_INCOME_RANGE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
         String totalAssets = stuPersonalInfo.getTotalAssets().stripTrailingZeros().toPlainString();
-        if(totalAssets.equals(Constant.TOTAL_ASSETS)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(2));
+        if (totalAssets.equals(Constant.TOTAL_ASSETS)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(2));
         }
 
         String totalLiabilities = stuPersonalInfo.getTotalLiabilities().stripTrailingZeros().toPlainString();
-        if(totalLiabilities.equals(Constant.TOTAL_LIABILITIES)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(2));
+        if (totalLiabilities.equals(Constant.TOTAL_LIABILITIES)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(2));
         }
 
         String totalNetWorth = stuPersonalInfo.getTotalNetWorth().stripTrailingZeros().toPlainString();
-        if(totalNetWorth.equals(Constant.TOTAL_NET_WORTH)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(2));
+        if (totalNetWorth.equals(Constant.TOTAL_NET_WORTH)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(2));
         }
 
-        if(stuPersonalInfo.getSpouseName().equals(Constant.SPOUSE_NAME)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuPersonalInfo.getSpouseName().equals(Constant.SPOUSE_NAME)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        if(stuPersonalInfo.getSpouseIdentificationNumber().equals(Constant.SPOUSE_IDENTIFICATION_NUMBER)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(2));
+        if (stuPersonalInfo.getSpouseIdentificationNumber().equals(Constant.SPOUSE_IDENTIFICATION_NUMBER)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(2));
         }
 
-        if(stuPersonalInfo.getSpouseWorkUnit().equals(Constant.SPOUSE_WORK_UNIT)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuPersonalInfo.getSpouseWorkUnit().equals(Constant.SPOUSE_WORK_UNIT)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        if(stuPersonalInfo.getSpousePhoneNumber().equals(Constant.SPOUSE_PHONE_NUMBER)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuPersonalInfo.getSpousePhoneNumber().equals(Constant.SPOUSE_PHONE_NUMBER)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
         //成绩中心录入
-        this.scoreEntry(stuPersonalInfo.getUserId(),module,scoring);
-        //查询总成绩
-        StuScoreCenterExample scoreCenterExample=new StuScoreCenterExample();
-        scoreCenterExample.createCriteria().andUserIdEqualTo(stuPersonalInfo.getUserId());
-        List<StuScoreCenter> stuScoreCenters = stuScoreCenterMapper.selectByExample(scoreCenterExample);
-        if(!stuScoreCenters.isEmpty()){
-            StuScoreCenter stuScoreCenter = stuScoreCenters.get(0);
-            //取出总成绩
-            BigDecimal trainingScore = stuScoreCenter.getTrainingScore();
-
-            //将分数更新到user中
-            StuUser stuUser = stuUserMapper.selectByPrimaryKey(stuPersonalInfo.getUserId());
+        scoreEntry(stuPersonalInfo.getUserId(), module, scoring);
 
-            //个人征信总成绩
-            stuUser.setCasePersonalCreditScore(trainingScore);
-            //个人征信客观成绩
-            stuUser.setCasePersonalCreditObjScore(trainingScore);
 
-
-            stuUserMapper.updateByPrimaryKey(stuUser);
-        }
+        //学生信息表成绩更新
+        gradeUpdates(stuPersonalInfo.getUserId(), module, scoring);
     }
 
     /**
      * 信用记录--信用提示录入计分
+     *
      * @param creditReminderInfo
      */
     @Override
-    public void creditReminderInfoScoring(StuPersonalCreditReminderInfo creditReminderInfo,String module) {
-        BigDecimal scoring=new BigDecimal(0);
-        if(creditReminderInfo.getNumberOfHousingLoans().toString().equals(Constant.NUMBER_OF_HOUSING_LOANS)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(2));
+    public void creditReminderInfoScoring(StuPersonalCreditReminderInfo creditReminderInfo, String module) {
+        BigDecimal scoring = new BigDecimal(0);
+        if (creditReminderInfo.getNumberOfHousingLoans().toString().equals(Constant.NUMBER_OF_HOUSING_LOANS)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(2));
         }
 
-        if(creditReminderInfo.getNumberOfOtherLoans().toString().equals(Constant.NUMBER_OF_OTHER_LOANS)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(2));
+        if (creditReminderInfo.getNumberOfOtherLoans().toString().equals(Constant.NUMBER_OF_OTHER_LOANS)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(2));
         }
 
-        if(creditReminderInfo.getFirstLoanDisbursementMonth().equals(Constant.FIRST_LOAN_DISBURSEMENT_MONTH)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (creditReminderInfo.getFirstLoanDisbursementMonth().equals(Constant.FIRST_LOAN_DISBURSEMENT_MONTH)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        if(creditReminderInfo.getNumberOfCreditCardAccounts().toString().equals(Constant.NUMBER_OF_CREDIT_CARD_ACCOUNTS)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(2));
+        if (creditReminderInfo.getNumberOfCreditCardAccounts().toString().equals(Constant.NUMBER_OF_CREDIT_CARD_ACCOUNTS)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(2));
         }
 
-        if(creditReminderInfo.getFirstCreditCardIssuanceMonth().equals(Constant.FIRST_CREDIT_CARD_ISSUANCE_MONTH)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (creditReminderInfo.getFirstCreditCardIssuanceMonth().equals(Constant.FIRST_CREDIT_CARD_ISSUANCE_MONTH)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
         //成绩中心录入
-        this.scoreEntry(creditReminderInfo.getUserId(),module,scoring);
-        //查询总成绩
-        StuScoreCenterExample scoreCenterExample=new StuScoreCenterExample();
-        scoreCenterExample.createCriteria().andUserIdEqualTo(creditReminderInfo.getUserId());
-        List<StuScoreCenter> stuScoreCenters = stuScoreCenterMapper.selectByExample(scoreCenterExample);
-        if(!stuScoreCenters.isEmpty()){
-            StuScoreCenter stuScoreCenter = stuScoreCenters.get(0);
-            //取出总成绩
-            BigDecimal trainingScore = stuScoreCenter.getTrainingScore();
-
-            //将分数更新到user中
-            StuUser stuUser = stuUserMapper.selectByPrimaryKey(creditReminderInfo.getUserId());
+        scoreEntry(creditReminderInfo.getUserId(), module, scoring);
 
-            //个人征信总成绩
-            stuUser.setCasePersonalCreditScore(trainingScore);
-            //个人征信客观成绩
-            stuUser.setCasePersonalCreditObjScore(trainingScore);
 
-
-            stuUserMapper.updateByPrimaryKey(stuUser);
-        }
+        //学生信息表成绩更新
+        gradeUpdates(creditReminderInfo.getUserId(), module, scoring);
     }
 
     @Override
-    public void overdueInfoScoring(StuPersonalDefaultInfo stuPersonalDefaultInfo,String module) {
-        BigDecimal scoring=new BigDecimal(0);
+    public void overdueInfoScoring(StuPersonalDefaultInfo stuPersonalDefaultInfo, String module) {
+        BigDecimal scoring = new BigDecimal(0);
 
-        if(stuPersonalDefaultInfo.getBadDebtInformationQuantity().toString().equals(Constant.BAD_DEBT_INFORMATION_QUANTITY)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuPersonalDefaultInfo.getBadDebtInformationQuantity().toString().equals(Constant.BAD_DEBT_INFORMATION_QUANTITY)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        String badDebtInformationBalance= stuPersonalDefaultInfo.getBadDebtInformationBalance().stripTrailingZeros().toPlainString();
-        if(badDebtInformationBalance.equals(Constant.BAD_DEBT_INFORMATION_BALANCE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        String badDebtInformationBalance = stuPersonalDefaultInfo.getBadDebtInformationBalance().stripTrailingZeros().toPlainString();
+        if (badDebtInformationBalance.equals(Constant.BAD_DEBT_INFORMATION_BALANCE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        if(stuPersonalDefaultInfo.getAssetDisposalInformationQuantity().toString().equals(Constant.ASSET_DISPOSAL_INFORMATION_QUANTITY)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuPersonalDefaultInfo.getAssetDisposalInformationQuantity().toString().equals(Constant.ASSET_DISPOSAL_INFORMATION_QUANTITY)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        String assetDisposalInformationBalance= stuPersonalDefaultInfo.getAssetDisposalInformationBalance().stripTrailingZeros().toPlainString();
-        if(assetDisposalInformationBalance.equals(Constant.ASSET_DISPOSAL_INFORMATION_BALANCE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        String assetDisposalInformationBalance = stuPersonalDefaultInfo.getAssetDisposalInformationBalance().stripTrailingZeros().toPlainString();
+        if (assetDisposalInformationBalance.equals(Constant.ASSET_DISPOSAL_INFORMATION_BALANCE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        if(stuPersonalDefaultInfo.getGuarantorCompensationInformationQuantity().toString().equals(Constant.GUARANTOR_COMPENSATION_INFORMATION_QUANTITY)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuPersonalDefaultInfo.getGuarantorCompensationInformationQuantity().toString().equals(Constant.GUARANTOR_COMPENSATION_INFORMATION_QUANTITY)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        String guarantorCompensationInformationBalance= stuPersonalDefaultInfo.getGuarantorCompensationInformationBalance().stripTrailingZeros().toPlainString();
-        if(guarantorCompensationInformationBalance.equals(Constant.GUARANTOR_COMPENSATION_INFORMATION_BALANCE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        String guarantorCompensationInformationBalance = stuPersonalDefaultInfo.getGuarantorCompensationInformationBalance().stripTrailingZeros().toPlainString();
+        if (guarantorCompensationInformationBalance.equals(Constant.GUARANTOR_COMPENSATION_INFORMATION_BALANCE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        if(stuPersonalDefaultInfo.getOverdueQuantity().toString().equals(Constant.OVERDUE_QUANTITY)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuPersonalDefaultInfo.getOverdueQuantity().toString().equals(Constant.OVERDUE_QUANTITY)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        if(stuPersonalDefaultInfo.getOverdueNumberOfMonths().toString().equals(Constant.OVERDUE_NUMBER_OF_MONTHS)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuPersonalDefaultInfo.getOverdueNumberOfMonths().toString().equals(Constant.OVERDUE_NUMBER_OF_MONTHS)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        String overdueMaximumOverdueTotalAmountSingleMonth= stuPersonalDefaultInfo.getOverdueMaximumOverdueTotalAmountSingleMonth().stripTrailingZeros().toPlainString();
-        if(overdueMaximumOverdueTotalAmountSingleMonth.equals(Constant.OVERDUE_MAXIMUM_OVERDUE_TOTAL_AMOUNT_SINGLE_MONTH)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        String overdueMaximumOverdueTotalAmountSingleMonth = stuPersonalDefaultInfo.getOverdueMaximumOverdueTotalAmountSingleMonth().stripTrailingZeros().toPlainString();
+        if (overdueMaximumOverdueTotalAmountSingleMonth.equals(Constant.OVERDUE_MAXIMUM_OVERDUE_TOTAL_AMOUNT_SINGLE_MONTH)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        if(stuPersonalDefaultInfo.getOverdueMaximumOverdueMonths().toString().equals(Constant.OVERDUE_MAXIMUM_OVERDUE_MONTHS)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuPersonalDefaultInfo.getOverdueMaximumOverdueMonths().toString().equals(Constant.OVERDUE_MAXIMUM_OVERDUE_MONTHS)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        if(stuPersonalDefaultInfo.getCreditCardOverdueNumberOfAccounts().toString().equals(Constant.CREDIT_CARD_OVERDUE_NUMBER_OF_ACCOUNTS)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuPersonalDefaultInfo.getCreditCardOverdueNumberOfAccounts().toString().equals(Constant.CREDIT_CARD_OVERDUE_NUMBER_OF_ACCOUNTS)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        if(stuPersonalDefaultInfo.getCreditCardOverdueNumberOfMonths().toString().equals(Constant.CREDIT_CARD_OVERDUE_NUMBER_OF_MONTHS)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuPersonalDefaultInfo.getCreditCardOverdueNumberOfMonths().toString().equals(Constant.CREDIT_CARD_OVERDUE_NUMBER_OF_MONTHS)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
         String amountSingleMonth = stuPersonalDefaultInfo.getCreditCardOverdueMaximumOverdueTotalAmountSingleMonth().stripTrailingZeros().toPlainString();
-        if(amountSingleMonth.equals(Constant.CREDIT_CARD_OVERDUE_MAXIMUM_OVERDUE_TOTAL_AMOUNT_SINGLE_MONTH)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (amountSingleMonth.equals(Constant.CREDIT_CARD_OVERDUE_MAXIMUM_OVERDUE_TOTAL_AMOUNT_SINGLE_MONTH)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        if(stuPersonalDefaultInfo.getCreditCardOverdueMaximumOverdueMonths().toString().equals(Constant.CREDIT_CARD_OVERDUE_MAXIMUM_OVERDUE_MONTHS)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(2));
+        if (stuPersonalDefaultInfo.getCreditCardOverdueMaximumOverdueMonths().toString().equals(Constant.CREDIT_CARD_OVERDUE_MAXIMUM_OVERDUE_MONTHS)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(2));
         }
         //成绩中心录入
-        this.scoreEntry(stuPersonalDefaultInfo.getUserId(),module,scoring);
-        //查询总成绩
-        StuScoreCenterExample scoreCenterExample=new StuScoreCenterExample();
-        scoreCenterExample.createCriteria().andUserIdEqualTo(stuPersonalDefaultInfo.getUserId());
-        List<StuScoreCenter> stuScoreCenters = stuScoreCenterMapper.selectByExample(scoreCenterExample);
-        if(!stuScoreCenters.isEmpty()){
-            StuScoreCenter stuScoreCenter = stuScoreCenters.get(0);
-            //取出总成绩
-            BigDecimal trainingScore = stuScoreCenter.getTrainingScore();
-
-            //将分数更新到user中
-            StuUser stuUser = stuUserMapper.selectByPrimaryKey(stuPersonalDefaultInfo.getUserId());
+        scoreEntry(stuPersonalDefaultInfo.getUserId(), module, scoring);
 
-            //个人征信总成绩
-            stuUser.setCasePersonalCreditScore(trainingScore);
-            //个人征信客观成绩
-            stuUser.setCasePersonalCreditObjScore(trainingScore);
 
-
-            stuUserMapper.updateByPrimaryKey(stuUser);
-        }
+        //学生信息表成绩更新
+        gradeUpdates(stuPersonalDefaultInfo.getUserId(), module, scoring);
     }
 
     @Override
-    public void creditGrantingScoring(StuPersonalOutstandingLoansInfo stuPersonalOutstandingLoansInfo,String module) {
-        BigDecimal scoring=new BigDecimal(0);
+    public void creditGrantingScoring(StuPersonalOutstandingLoansInfo stuPersonalOutstandingLoansInfo, String module) {
+        BigDecimal scoring = new BigDecimal(0);
 
-        if(stuPersonalOutstandingLoansInfo.getNumberOfLoanInstitutions().toString().equals(Constant.NUMBER_OF_LOAN_INSTITUTIONS)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuPersonalOutstandingLoansInfo.getNumberOfLoanInstitutions().toString().equals(Constant.NUMBER_OF_LOAN_INSTITUTIONS)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        if(stuPersonalOutstandingLoansInfo.getNumberOfTransactions().toString().equals(Constant.NUMBER_OF_TRANSACTIONS)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(2));
+        if (stuPersonalOutstandingLoansInfo.getNumberOfTransactions().toString().equals(Constant.NUMBER_OF_TRANSACTIONS)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(2));
         }
         String totalContractAmount = stuPersonalOutstandingLoansInfo.getTotalContractAmount().stripTrailingZeros().toString();
-        if(totalContractAmount.equals(Constant.TOTAL_CONTRACT_AMOUNT)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(2));
+        if (totalContractAmount.equals(Constant.TOTAL_CONTRACT_AMOUNT)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(2));
         }
 
-        String balance= stuPersonalOutstandingLoansInfo.getBalance().stripTrailingZeros().toPlainString();
-        if(balance.equals(Constant.BALANCE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(2));
+        String balance = stuPersonalOutstandingLoansInfo.getBalance().stripTrailingZeros().toPlainString();
+        if (balance.equals(Constant.BALANCE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(2));
         }
 
-        String dueRecentlySixMonths= stuPersonalOutstandingLoansInfo.getAverageRepaymentDueRecentlySixMonths().stripTrailingZeros().toPlainString();
-        if(dueRecentlySixMonths.equals(Constant.AVERAGE_REPAYMENT_DUE_RECENTLY_SIX_MONTHS)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(2));
+        String dueRecentlySixMonths = stuPersonalOutstandingLoansInfo.getAverageRepaymentDueRecentlySixMonths().stripTrailingZeros().toPlainString();
+        if (dueRecentlySixMonths.equals(Constant.AVERAGE_REPAYMENT_DUE_RECENTLY_SIX_MONTHS)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(2));
         }
 
-        if(stuPersonalOutstandingLoansInfo.getCreditCardNumberOfIssuingInstitutions().toString().equals(Constant.CREDIT_CARD_NUMBER_OF_ISSUING_INSTITUTIONS)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuPersonalOutstandingLoansInfo.getCreditCardNumberOfIssuingInstitutions().toString().equals(Constant.CREDIT_CARD_NUMBER_OF_ISSUING_INSTITUTIONS)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        if(stuPersonalOutstandingLoansInfo.getCreditCardNumberOfAccounts().toString().equals(Constant.CREDIT_CARD_NUMBER_OF_ACCOUNTS)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuPersonalOutstandingLoansInfo.getCreditCardNumberOfAccounts().toString().equals(Constant.CREDIT_CARD_NUMBER_OF_ACCOUNTS)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        String creditCardTotalCreditAmount= stuPersonalOutstandingLoansInfo.getCreditCardTotalCreditAmount().stripTrailingZeros().toPlainString();
-        if(creditCardTotalCreditAmount.equals(Constant.CREDIT_CARD_TOTAL_CREDIT_AMOUNT)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        String creditCardTotalCreditAmount = stuPersonalOutstandingLoansInfo.getCreditCardTotalCreditAmount().stripTrailingZeros().toPlainString();
+        if (creditCardTotalCreditAmount.equals(Constant.CREDIT_CARD_TOTAL_CREDIT_AMOUNT)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        String maximumCreditLimitBank= stuPersonalOutstandingLoansInfo.getCreditCardMaximumCreditLimitBank().stripTrailingZeros().toPlainString();
-        if(maximumCreditLimitBank.equals(Constant.CREDIT_CARD_MAXIMUM_CREDIT_LIMIT_BANK)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        String maximumCreditLimitBank = stuPersonalOutstandingLoansInfo.getCreditCardMaximumCreditLimitBank().stripTrailingZeros().toPlainString();
+        if (maximumCreditLimitBank.equals(Constant.CREDIT_CARD_MAXIMUM_CREDIT_LIMIT_BANK)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        String minimumCreditLimitBank= stuPersonalOutstandingLoansInfo.getCreditCardMinimumCreditLimitBank().stripTrailingZeros().toPlainString();
-        if(minimumCreditLimitBank.equals(Constant.CREDIT_CARD_MINIMUM_CREDIT_LIMIT_BANK)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        String minimumCreditLimitBank = stuPersonalOutstandingLoansInfo.getCreditCardMinimumCreditLimitBank().stripTrailingZeros().toPlainString();
+        if (minimumCreditLimitBank.equals(Constant.CREDIT_CARD_MINIMUM_CREDIT_LIMIT_BANK)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        String creditCardUsedCreditLimit= stuPersonalOutstandingLoansInfo.getCreditCardUsedCreditLimit().stripTrailingZeros().toPlainString();
-        if(creditCardUsedCreditLimit.equals(Constant.CREDIT_CARD_USED_CREDIT_LIMIT)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        String creditCardUsedCreditLimit = stuPersonalOutstandingLoansInfo.getCreditCardUsedCreditLimit().stripTrailingZeros().toPlainString();
+        if (creditCardUsedCreditLimit.equals(Constant.CREDIT_CARD_USED_CREDIT_LIMIT)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        String CreditCardSixMonthsths= stuPersonalOutstandingLoansInfo.getCreditCardSixMonthsths().stripTrailingZeros().toPlainString();
-        if(CreditCardSixMonthsths.equals(Constant.CREDIT_CARD_SIX_MONTHSTHS)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        String CreditCardSixMonthsths = stuPersonalOutstandingLoansInfo.getCreditCardSixMonthsths().stripTrailingZeros().toPlainString();
+        if (CreditCardSixMonthsths.equals(Constant.CREDIT_CARD_SIX_MONTHSTHS)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
-        if(stuPersonalOutstandingLoansInfo.getGuaranteeNumberOfGuarantees().toString().equals(Constant.GUARANTEE_NUMBER_OF_GUARANTEES)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(2));
+        if (stuPersonalOutstandingLoansInfo.getGuaranteeNumberOfGuarantees().toString().equals(Constant.GUARANTEE_NUMBER_OF_GUARANTEES)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(2));
         }
 
         String guaranteeAmount = stuPersonalOutstandingLoansInfo.getGuaranteeAmount().stripTrailingZeros().toPlainString();
-        if(guaranteeAmount.equals(Constant.GUARANTEE_AMOUNT)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (guaranteeAmount.equals(Constant.GUARANTEE_AMOUNT)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
         String guaranteedPrincipalBalance = stuPersonalOutstandingLoansInfo.getGuaranteedPrincipalBalance().stripTrailingZeros().toPlainString();
-        if(guaranteedPrincipalBalance.equals(Constant.GUARANTEED_PRINCIPAL_BALANCE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (guaranteedPrincipalBalance.equals(Constant.GUARANTEED_PRINCIPAL_BALANCE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
         //成绩中心录入
-        this.scoreEntry(stuPersonalOutstandingLoansInfo.getUserId(),module,scoring);
-        //查询总成绩
-        StuScoreCenterExample scoreCenterExample=new StuScoreCenterExample();
-        scoreCenterExample.createCriteria().andUserIdEqualTo(stuPersonalOutstandingLoansInfo.getUserId());
-        List<StuScoreCenter> stuScoreCenters = stuScoreCenterMapper.selectByExample(scoreCenterExample);
-        if(!stuScoreCenters.isEmpty()){
-            StuScoreCenter stuScoreCenter = stuScoreCenters.get(0);
-            //取出总成绩
-            BigDecimal trainingScore = stuScoreCenter.getTrainingScore();
-
-            //将分数更新到user中
-            StuUser stuUser = stuUserMapper.selectByPrimaryKey(stuPersonalOutstandingLoansInfo.getUserId());
+        scoreEntry(stuPersonalOutstandingLoansInfo.getUserId(), module, scoring);
 
-            //个人征信总成绩
-            stuUser.setCasePersonalCreditScore(trainingScore);
-            //个人征信客观成绩
-            stuUser.setCasePersonalCreditObjScore(trainingScore);
 
-
-            stuUserMapper.updateByPrimaryKey(stuUser);
-        }
+        //学生信息表成绩更新
+        gradeUpdates(stuPersonalOutstandingLoansInfo.getUserId(), module, scoring);
     }
 
     @Override
-    public void creditScoreScoring(StuCreditScore stuCreditScore,String module) {
-        BigDecimal scoring=new BigDecimal(0);
+    public void creditScoreScoring(StuCreditScore stuCreditScore, String module) {
+        BigDecimal scoring = new BigDecimal(0);
         //自然情况得分情况
-        if(stuCreditScore.getAgeScore().equals(Constant.AGE_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(2));
+        if (stuCreditScore.getAgeScore().equals(Constant.AGE_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(2));
         }
-        if(stuCreditScore.getGenderScore().equals(Constant.GENDER_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getGenderScore().equals(Constant.GENDER_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
-        if(stuCreditScore.getMaritalStatusScore().equals(Constant.MARITAL_STATUS_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getMaritalStatusScore().equals(Constant.MARITAL_STATUS_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
-        if(stuCreditScore.getEducationalLevelScore().equals(Constant.EDUCATIONAL_LEVEL_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getEducationalLevelScore().equals(Constant.EDUCATIONAL_LEVEL_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
-        if(stuCreditScore.getDrivingExperienceScore().equals(Constant.DRIVING_EXPERIENCE_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getDrivingExperienceScore().equals(Constant.DRIVING_EXPERIENCE_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
-        if(stuCreditScore.getHealthConditionScore().equals(Constant.HEALTH_CONDITION_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getHealthConditionScore().equals(Constant.HEALTH_CONDITION_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
-        if(stuCreditScore.getResidenceTimeScore().equals(Constant.RESIDENCE_TIME_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getResidenceTimeScore().equals(Constant.RESIDENCE_TIME_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
         //职业情况得分情况
-        if(stuCreditScore.getOccupationScore().equals(Constant.OCCUPATION_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getOccupationScore().equals(Constant.OCCUPATION_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
-        if(stuCreditScore.getYearsInCurrentCompanyScore().equals(Constant.YEARS_IN_CURRENT_COMPANY_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getYearsInCurrentCompanyScore().equals(Constant.YEARS_IN_CURRENT_COMPANY_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
-        if(stuCreditScore.getPostScore().equals(Constant.POST_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getPostScore().equals(Constant.POST_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
-        if(stuCreditScore.getTechnicalTitleScore().equals(Constant.TECHNICAL_TITLE_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getTechnicalTitleScore().equals(Constant.TECHNICAL_TITLE_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
-        if(stuCreditScore.getPersonalAnnualIncomeScore().equals(Constant.PERSONAL_ANNUAL_INCOME_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getPersonalAnnualIncomeScore().equals(Constant.PERSONAL_ANNUAL_INCOME_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
         //保障支持得分情况
-        if(stuCreditScore.getHousingSituationScore().equals(Constant.HOUSING_SITUATION_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getHousingSituationScore().equals(Constant.HOUSING_SITUATION_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
-        if(stuCreditScore.getNetAssetSituationScore().equals(Constant.NET_ASSET_SITUATION_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getNetAssetSituationScore().equals(Constant.NET_ASSET_SITUATION_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
-        if(stuCreditScore.getVehicleConditionScore().equals(Constant.VEHICLE_CONDITION_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getVehicleConditionScore().equals(Constant.VEHICLE_CONDITION_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
-        if(stuCreditScore.getMonthlyIncomeScore().equals(Constant.MONTHLY_INCOME_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getMonthlyIncomeScore().equals(Constant.MONTHLY_INCOME_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
-        if(stuCreditScore.getMonthlyFixedScore().equals(Constant.MONTHLY_FIXED_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getMonthlyFixedScore().equals(Constant.MONTHLY_FIXED_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
-        if(stuCreditScore.getDebtToIncomeRatio().equals(Constant.DEBT_TO_INCOME_RATIO)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(2));
+        if (stuCreditScore.getDebtToIncomeRatio().equals(Constant.DEBT_TO_INCOME_RATIO)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(2));
         }
-        if(stuCreditScore.getNumberOfDependentsScore().equals(Constant.NUMBER_OF_DEPENDENTS_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getNumberOfDependentsScore().equals(Constant.NUMBER_OF_DEPENDENTS_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
         //与银行关系得分情况
-        if(stuCreditScore.getLoanHistoryScore().equals(Constant.LOAN_HISTORY_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getLoanHistoryScore().equals(Constant.LOAN_HISTORY_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
-        if(stuCreditScore.getCardholderStatusScore().equals(Constant.CARDHOLDER_STATUS_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getCardholderStatusScore().equals(Constant.CARDHOLDER_STATUS_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
         //调整项得分情况
-        if(stuCreditScore.getCreditHistoryScore().equals(Constant.CREDIT_HISTORY_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getCreditHistoryScore().equals(Constant.CREDIT_HISTORY_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
-        if(stuCreditScore.getPersonalBadReputationScore().equals(Constant.PERSONAL_BAD_REPUTATION_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getPersonalBadReputationScore().equals(Constant.PERSONAL_BAD_REPUTATION_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
-        if(stuCreditScore.getPersonalMisconductOrRecordsScore().equals(Constant.PERSONAL_MISCONDUCT_OR_RECORDS_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getPersonalMisconductOrRecordsScore().equals(Constant.PERSONAL_MISCONDUCT_OR_RECORDS_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
-        if(stuCreditScore.getTaxArrearsRecordsScore().equals(Constant.TAX_ARREARS_RECORDS_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getTaxArrearsRecordsScore().equals(Constant.TAX_ARREARS_RECORDS_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
-        if(stuCreditScore.getCivilJudgmentOrEnforcementScore().equals(Constant.CIVIL_JUDGMENT_OR_ENFORCEMENT_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getCivilJudgmentOrEnforcementScore().equals(Constant.CIVIL_JUDGMENT_OR_ENFORCEMENT_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
-        if(stuCreditScore.getSocialSecurityAndProvidentFundPaymentScore().equals(Constant.SOCIAL_SECURITY_AND_PROVIDENT_FUND_PAYMENT_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(2));
+        if (stuCreditScore.getSocialSecurityAndProvidentFundPaymentScore().equals(Constant.SOCIAL_SECURITY_AND_PROVIDENT_FUND_PAYMENT_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(2));
         }
-        if(stuCreditScore.getPublicUtilityPaymentRecordsScore().equals(Constant.PUBLIC_UTILITY_PAYMENT_RECORDS_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getPublicUtilityPaymentRecordsScore().equals(Constant.PUBLIC_UTILITY_PAYMENT_RECORDS_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
-        if(stuCreditScore.getPracticeQualificationCertificateScore().equals(Constant.PRACTICE_QUALIFICATION_CERTIFICATE_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getPracticeQualificationCertificateScore().equals(Constant.PRACTICE_QUALIFICATION_CERTIFICATE_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
-        if(stuCreditScore.getAdministrativeRewardScore().equals(Constant.ADMINISTRATIVE_REWARD_SCORE)){
-            scoring=bigDecimalUtils.add(scoring.toString(),String.valueOf(1));
+        if (stuCreditScore.getAdministrativeRewardScore().equals(Constant.ADMINISTRATIVE_REWARD_SCORE)) {
+            scoring = bigDecimalUtils.add(scoring.toString(), String.valueOf(1));
         }
 
         //成绩中心录入
-        this.scoreEntry(stuCreditScore.getUserId(),module,scoring);
-        //查询总成绩
-        StuScoreCenterExample scoreCenterExample=new StuScoreCenterExample();
-        scoreCenterExample.createCriteria().andUserIdEqualTo(stuCreditScore.getUserId());
-        List<StuScoreCenter> stuScoreCenters = stuScoreCenterMapper.selectByExample(scoreCenterExample);
-        if(!stuScoreCenters.isEmpty()){
-            StuScoreCenter stuScoreCenter = stuScoreCenters.get(0);
-            //取出总成绩
-            BigDecimal trainingScore = stuScoreCenter.getTrainingScore();
-
-            //将分数更新到user中
-            StuUser stuUser = stuUserMapper.selectByPrimaryKey(stuCreditScore.getUserId());
+        scoreEntry(stuCreditScore.getUserId(), module, scoring);
 
-            //个人征信总成绩
-            stuUser.setCasePersonalCreditScore(trainingScore);
-            //个人征信客观成绩
-            stuUser.setCasePersonalCreditObjScore(trainingScore);
 
-
-            stuUserMapper.updateByPrimaryKey(stuUser);
-        }
+        //学生信息表成绩更新
+        gradeUpdates(stuCreditScore.getUserId(), module, scoring);
     }
 
 
     /**
      * 成绩中心录入案例考核成绩
+     *
      * @param userId
      */
-    public void scoreEntry(String userId,String module,BigDecimal score){
+    public void scoreEntry(String userId, String module, BigDecimal score) {
         // TODO: 2024/4/24 判断用户第几次实训 重新实训次数(0:第一次 1:第二次 2:第三次)
-        StuScoreCenterExample scoreCenterExample=new StuScoreCenterExample();
+        StuScoreCenterExample scoreCenterExample = new StuScoreCenterExample();
         scoreCenterExample.createCriteria().andUserIdEqualTo(userId);
         List<StuScoreCenter> stuScoreCenters = stuScoreCenterMapper.selectByExample(scoreCenterExample);
 
 
         //查询权重
         StuUser stuUser = stuUserMapper.selectByPrimaryKey(userId);
-        TchModuleWeithExample example=new TchModuleWeithExample();
+        TchModuleWeithExample example = new TchModuleWeithExample();
         example.createCriteria().andSchoolIdEqualTo(stuUser.getSchoolId());
         List<TchModuleWeith> tchModuleWeiths = tchModuleWeithMapper.selectByExample(example);
 
-        if(tchModuleWeiths.isEmpty()){
-            TchModuleWeith tchModuleWeith=new TchModuleWeith(stuUser.getSchoolId());
+        if (tchModuleWeiths.isEmpty()) {
+            TchModuleWeith tchModuleWeith = new TchModuleWeith(stuUser.getSchoolId());
             tchModuleWeithMapper.insert(tchModuleWeith);
             tchModuleWeiths.add(tchModuleWeith);
         }
@@ -533,35 +458,38 @@ public class StuPersonalCreditServiceImpl implements StuPersonalCreditService {
         TchModuleWeith tchModuleWeith = tchModuleWeiths.get(0);
 
 
-        if(stuScoreCenters.isEmpty()){
-            StuScoreCenter stuScoreCenter=new StuScoreCenter();
+        if (stuScoreCenters.isEmpty()) {
+            StuScoreCenter stuScoreCenter = new StuScoreCenter();
             Integer uuid = UUID.randomUUID().toString().replaceAll("-", "").hashCode();
             uuid = uuid < 0 ? -uuid : uuid;//String.hashCode() 值会为空
             stuScoreCenter.setId(uuid);
             stuScoreCenter.setLearningProjects(module);
             stuScoreCenter.setTrainingTotalScore(BigDecimal.valueOf(100));
+            stuScoreCenter.setTrainingDuration(0);
 
 
             //设置权重和完成情况
             Boolean schedule;
-            if(module.equals(Constant.PERSONAL_CREDIT)){
+            if (module.equals(Constant.PERSONAL_CREDIT)) {
                 stuScoreCenter.setScoreWeight(tchModuleWeith.getCasePersonalCreditWeith()); //个人征信--权重
-                schedule= stuPersonalCreditReportingService.getSchedule(userId); //个人征信--完成情况
-            }else {
+                schedule = stuPersonalCreditReportingService.getSchedule(userId, module); //个人征信--完成情况
+            } else {
                 stuScoreCenter.setScoreWeight(tchModuleWeith.getCaseCorporateCreditWeith()); //企业征信--权重
-                schedule=service.completionStatusOfEnterprise(userId); //企业征信--完成情况
+                schedule = service.completionStatusOfEnterprise(userId); //企业征信--完成情况
             }
 
             //完成情况
-            if(schedule){
+            if (schedule) {
                 stuScoreCenter.setCompletionStatus("已完成");
-            }else {
+            } else {
                 stuScoreCenter.setCompletionStatus("未完成");
             }
 
             //设置得分信息
             stuScoreCenter.setTrainingScore(score);
             stuScoreCenter.setTrainingScoreOne(score);
+            stuScoreCenter.setTrainingScoreTwo(BigDecimal.valueOf(0));
+            stuScoreCenter.setTrainingScoreThree(BigDecimal.valueOf(0));
 
             stuScoreCenter.setUserId(userId);
             stuScoreCenter.setModule(module);
@@ -569,27 +497,27 @@ public class StuPersonalCreditServiceImpl implements StuPersonalCreditService {
             stuScoreCenter.setNumberOfTraining(0);
 
             stuScoreCenterMapper.insert(stuScoreCenter);
-        }else {
+        } else {
             StuScoreCenter stuScoreCenter = stuScoreCenters.get(0);
             //更新权重
-            if(module.equals(Constant.PERSONAL_CREDIT)){
+            if (module.equals(Constant.PERSONAL_CREDIT)) {
                 stuScoreCenter.setScoreWeight(tchModuleWeith.getCasePersonalCreditWeith());
-            }else {
+            } else {
                 stuScoreCenter.setScoreWeight(tchModuleWeith.getCaseCorporateCreditWeith());
             }
             //判断是第几次实训
-            if(stuScoreCenter.getNumberOfTraining()==0){ //第一次实训
+            if (stuScoreCenter.getNumberOfTraining() == 0) { //第一次实训
                 //累加分数
                 //第一次提交成绩
-                stuScoreCenter.setTrainingScoreOne(bigDecimalUtils.add(stuScoreCenter.getTrainingScoreOne().toString(),score.toString()));
+                stuScoreCenter.setTrainingScoreOne(bigDecimalUtils.add(stuScoreCenter.getTrainingScoreOne().toString(), score.toString()));
                 //总成绩
-                stuScoreCenter.setTrainingScore(bigDecimalUtils.add(stuScoreCenter.getTrainingScore().toString(),score.toString()));
+                stuScoreCenter.setTrainingScore(bigDecimalUtils.add(stuScoreCenter.getTrainingScore().toString(), score.toString()));
             }
 
-            if(stuScoreCenter.getNumberOfTraining()==1){ //第二次实训
+            if (stuScoreCenter.getNumberOfTraining() == 1) { //第二次实训
                 //累加分数
                 //第二次提交成绩
-                stuScoreCenter.setTrainingScoreTwo(bigDecimalUtils.add(stuScoreCenter.getTrainingScoreTwo().toString(),score.toString()));
+                stuScoreCenter.setTrainingScoreTwo(bigDecimalUtils.add(stuScoreCenter.getTrainingScoreTwo().toString(), score.toString()));
                 //计算平均分
                 BigDecimal add = bigDecimalUtils.add(stuScoreCenter.getTrainingScoreOne().toString(), stuScoreCenter.getTrainingScoreTwo().toString());
                 String div = bigDecimalUtils.div(add.toString(), String.valueOf(2), 2);
@@ -597,10 +525,10 @@ public class StuPersonalCreditServiceImpl implements StuPersonalCreditService {
                 stuScoreCenter.setTrainingScore(new BigDecimal(div));
             }
 
-            if(stuScoreCenter.getNumberOfTraining()==2){ //第三次实训
+            if (stuScoreCenter.getNumberOfTraining() == 2) { //第三次实训
                 //累加分数
                 //第三次提交成绩
-                stuScoreCenter.setTrainingScoreThree(bigDecimalUtils.add(stuScoreCenter.getTrainingScoreThree().toString(),score.toString()));
+                stuScoreCenter.setTrainingScoreThree(bigDecimalUtils.add(stuScoreCenter.getTrainingScoreThree().toString(), score.toString()));
                 //计算平均分
                 BigDecimal add = bigDecimalUtils.add(stuScoreCenter.getTrainingScoreOne().toString(), stuScoreCenter.getTrainingScoreTwo().toString());
                 BigDecimal add1 = bigDecimalUtils.add(add.toString(), stuScoreCenter.getTrainingScoreThree().toString());
@@ -610,14 +538,63 @@ public class StuPersonalCreditServiceImpl implements StuPersonalCreditService {
             }
 
             //更新完成情况
-            boolean schedule = stuPersonalCreditReportingService.getSchedule(userId);
-            if(schedule){
+            boolean schedule = stuPersonalCreditReportingService.getSchedule(userId, module);
+            if (schedule) {
                 stuScoreCenter.setCompletionStatus("已完成");
-            }else {
+            } else {
                 stuScoreCenter.setCompletionStatus("未完成");
             }
 
             stuScoreCenterMapper.updateByPrimaryKey(stuScoreCenter);
         }
     }
+
+    /**
+     * 学生成绩信息更新
+     * @param userId
+     * @param module
+     * @param scoring
+     */
+    public void gradeUpdates(String userId, String module, BigDecimal scoring) {
+        //查询总成绩
+        StuScoreCenterExample scoreCenterExample = new StuScoreCenterExample();
+        scoreCenterExample.createCriteria().andUserIdEqualTo(userId).andAscriptionEqualTo(Constant.COMPREHENSIVE_CASE);
+        List<StuScoreCenter> stuScoreCenters = stuScoreCenterMapper.selectByExample(scoreCenterExample);
+
+        //将分数更新到user中
+        StuUser stuUser = stuUserMapper.selectByPrimaryKey(userId);
+        if (!stuScoreCenters.isEmpty()) {
+            BigDecimal comprehensiveCaseScore = BigDecimal.valueOf(0);
+            for (int i = 0; i < stuScoreCenters.size(); i++) {
+                StuScoreCenter stuScoreCenter = stuScoreCenters.get(i);
+
+                //取出总成绩
+                BigDecimal trainingScore = stuScoreCenter.getTrainingScore();
+
+                if (module.equals(Constant.PERSONAL_CREDIT)) {
+
+                    //个人征信总成绩
+                    stuUser.setCasePersonalCreditScore(trainingScore);
+                    //个人征信客观成绩
+                    stuUser.setCasePersonalCreditObjScore(bigDecimalUtils.add(stuUser.getCasePersonalCreditObjScore().toString(), scoring.toString()));
+
+                }
+
+                if(module.equals(Constant.CORPORATE_CREDIT)){
+
+                    //企业征信总成绩
+                    stuUser.setCaseCorporateCreditScore(trainingScore);
+                    //企业征信客观成绩
+                    stuUser.setCaseCorporateCreditObjScore(bigDecimalUtils.add(stuUser.getCaseCorporateCreditObjScore().toString(), scoring.toString()));
+
+                }
+                //累加总成绩为综合案例总成绩
+                comprehensiveCaseScore = bigDecimalUtils.add(comprehensiveCaseScore.toString(), stuScoreCenter.getTrainingScore().toString());
+            }
+            //综合案例总成绩
+            stuUser.setComprehensiveCaseScore(comprehensiveCaseScore);
+
+            stuUserMapper.updateByPrimaryKey(stuUser);
+        }
+    }
 }
diff --git a/src/main/java/com/sztzjy/digital_credit/service/impl/StuPersonalInfoEntryServiceImpl.java b/src/main/java/com/sztzjy/digital_credit/service/impl/StuPersonalInfoEntryServiceImpl.java
index 96a20bb..be9cb6f 100644
--- a/src/main/java/com/sztzjy/digital_credit/service/impl/StuPersonalInfoEntryServiceImpl.java
+++ b/src/main/java/com/sztzjy/digital_credit/service/impl/StuPersonalInfoEntryServiceImpl.java
@@ -1,12 +1,17 @@
 package com.sztzjy.digital_credit.service.impl;
 
+import com.itextpdf.text.DocumentException;
 import com.itextpdf.text.pdf.parser.PathConstructionRenderInfo;
+import com.sztzjy.digital_credit.config.exception.handler.DigitalEconomyxception;
 import com.sztzjy.digital_credit.entity.*;
 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.util.BigDecimalUtils;
+import org.hibernate.service.spi.ServiceException;
 import org.springframework.beans.BeanUtils;
 import org.springframework.context.annotation.Lazy;
+import org.springframework.http.HttpStatus;
 import org.springframework.security.core.parameters.P;
 import org.springframework.stereotype.Service;
 
@@ -37,6 +42,12 @@ public class StuPersonalInfoEntryServiceImpl implements StuPersonalCreditReporti
     StuCreditScoreMapper stuCreditScoreMapper;
     @Resource
     StuCreditEnhanceMeasureMapper stuCreditEnhanceMeasureMapper;
+    @Resource
+    StuScoreCenterMapper stuScoreCenterMapper;
+    @Resource
+    BigDecimalUtils bigDecimalUtils;
+    @Resource
+    StuUserMapper stuUserMapper;
     @Override
     public StuPersonalInfo getPersonalInfo(String userId) {
         StuPersonalInfoExample example=new StuPersonalInfoExample();
@@ -103,6 +114,7 @@ public class StuPersonalInfoEntryServiceImpl implements StuPersonalCreditReporti
             uuid = uuid < 0 ? -uuid : uuid;//String.hashCode() 值会为空
             stuPersonalInfo.setId(uuid);
             stuPersonalInfo.setCreationTime(new Date());
+            stuPersonalInfo.setSubmitStatus(1);
             stuPersonalInfoMapper.insert(stuPersonalInfo);
         }
         //计分
@@ -174,6 +186,7 @@ public class StuPersonalInfoEntryServiceImpl implements StuPersonalCreditReporti
             uuid = uuid < 0 ? -uuid : uuid;//String.hashCode() 值会为空
             creditReminderInfo.setId(uuid);
             creditReminderInfo.setCreationTime(new Date());
+            creditReminderInfo.setSubmitStatus(1);
             stuPersonalCreditReminderInfoMapper.insert(creditReminderInfo);
         }
         //计分
@@ -245,6 +258,7 @@ public class StuPersonalInfoEntryServiceImpl implements StuPersonalCreditReporti
             uuid = uuid < 0 ? -uuid : uuid;//String.hashCode() 值会为空
             stuPersonalDefaultInfo.setId(uuid);
             stuPersonalDefaultInfo.setCreationTime(new Date());
+            stuPersonalDefaultInfo.setSubmitStatus(1);
             stuPersonalDefaultInfoMapper.insert(stuPersonalDefaultInfo);
         }
         //计分
@@ -316,6 +330,7 @@ public class StuPersonalInfoEntryServiceImpl implements StuPersonalCreditReporti
             uuid = uuid < 0 ? -uuid : uuid;//String.hashCode() 值会为空
             stuPersonalOutstandingLoansInfo.setId(uuid);
             stuPersonalOutstandingLoansInfo.setCreationTime(new Date());
+            stuPersonalOutstandingLoansInfo.setSubmitStatus(1);
             stuPersonalOutstandingLoansInfoMapper.insert(stuPersonalOutstandingLoansInfo);
         }
         //计分
@@ -387,6 +402,7 @@ public class StuPersonalInfoEntryServiceImpl implements StuPersonalCreditReporti
             uuid = uuid < 0 ? -uuid : uuid;//String.hashCode() 值会为空
             stuCreditScore.setId(uuid);
             stuCreditScore.setCreationTime(new Date());
+            stuCreditScore.setSubmitStatus(1);
             stuCreditScoreMapper.insert(stuCreditScore);
         }
         //计分
@@ -394,8 +410,72 @@ public class StuPersonalInfoEntryServiceImpl implements StuPersonalCreditReporti
     }
 
     @Override
-    public void againTraining(String userId) {
+    public void againTraining(String userId,String module,String ascription) {
+        // TODO: 2024/4/28 1、清空所属模块总成绩 2、清空做题记录
+
+        //清空所属模块总成绩
+        StuScoreCenterExample centerExample=new StuScoreCenterExample();
+        centerExample.createCriteria().andUserIdEqualTo(userId).andModuleEqualTo(module).andAscriptionEqualTo(ascription);
+        List<StuScoreCenter> stuScoreCenters = stuScoreCenterMapper.selectByExample(centerExample);
+        if(stuScoreCenters.isEmpty()){
+            throw new DigitalEconomyxception(HttpStatus.ACCEPTED,"没有成绩无法重新实训");
+        }else {
+            StuScoreCenter stuScoreCenter = stuScoreCenters.get(0);
+            //清空分数
+            stuScoreCenter.setTrainingScore(BigDecimal.valueOf(0));
+            //增加实训次数
+            Integer numberOfTraining = stuScoreCenter.getNumberOfTraining();
+            Integer add=numberOfTraining+1;
+            stuScoreCenter.setNumberOfTraining(add);
+
+            stuScoreCenterMapper.updateByPrimaryKey(stuScoreCenter);
+        }
+
+        //清空做题记录
+
+        //个人信息录入
+        StuPersonalInfoExample personalInfoExample=new StuPersonalInfoExample();
+        personalInfoExample.createCriteria().andUserIdEqualTo(userId);
+        stuPersonalInfoMapper.deleteByExample(personalInfoExample);
+
+        //信用记录--信用提示
+        StuPersonalCreditReminderInfoExample reminderInfoExample=new StuPersonalCreditReminderInfoExample();
+        reminderInfoExample.createCriteria().andUserIdEqualTo(userId);
+        stuPersonalCreditReminderInfoMapper.deleteByExample(reminderInfoExample);
+
+        //信用记录-逾期及违约信息概要
+        StuPersonalDefaultInfoExample defaultInfoExample=new StuPersonalDefaultInfoExample();
+        defaultInfoExample.createCriteria().andUserIdEqualTo(userId);
+        stuPersonalDefaultInfoMapper.deleteByExample(defaultInfoExample);
 
+        //信用记录-授信及负债信息概要
+        StuPersonalOutstandingLoansInfoExample loansInfoExample=new StuPersonalOutstandingLoansInfoExample();
+        loansInfoExample.createCriteria().andUserIdEqualTo(userId);
+        stuPersonalOutstandingLoansInfoMapper.deleteByExample(loansInfoExample);
+
+        //信用评分
+        StuCreditScoreExample creditScoreExample=new StuCreditScoreExample();
+        creditScoreExample.createCriteria().andUserIdEqualTo(userId);
+        stuCreditScoreMapper.deleteByExample(creditScoreExample);
+
+        //征信方案
+        StuCreditEnhanceMeasureExample measureExample=new StuCreditEnhanceMeasureExample();
+        measureExample.createCriteria().andUserIdEqualTo(userId).andModuleEqualTo(module);
+        stuCreditEnhanceMeasureMapper.deleteByExample(measureExample);
+
+
+        //清空学生信息对应模块分数
+        StuUser stuUser = stuUserMapper.selectByPrimaryKey(userId);
+        //综合案例总成绩 先取到个人征信总成绩
+        BigDecimal casePersonalCreditScore = stuUser.getCasePersonalCreditScore();
+        BigDecimal sub = bigDecimalUtils.sub(stuUser.getComprehensiveCaseScore().toString(), casePersonalCreditScore.toString());
+        stuUser.setComprehensiveCaseScore(sub);
+        //个人征信总成绩
+        stuUser.setCasePersonalCreditScore(BigDecimal.valueOf(0));
+        //个人征信客观成绩
+        stuUser.setCasePersonalCreditObjScore(BigDecimal.valueOf(0));
+
+        stuUserMapper.updateByPrimaryKey(stuUser);
     }
 
 
@@ -403,7 +483,7 @@ public class StuPersonalInfoEntryServiceImpl implements StuPersonalCreditReporti
      * 个人征信完成进度
      * @return
      */
-    public boolean getSchedule(String userId){
+    public boolean getSchedule(String userId,String module){
         //查询个人信息录入是否提交
         StuPersonalInfoExample personalInfoExample=new StuPersonalInfoExample();
         personalInfoExample.createCriteria().andUserIdEqualTo(userId);
@@ -466,7 +546,7 @@ public class StuPersonalInfoEntryServiceImpl implements StuPersonalCreditReporti
 
         //查询征信方案是否已评分
         StuCreditEnhanceMeasureExample measureExample=new StuCreditEnhanceMeasureExample();
-        measureExample.createCriteria().andUserIdEqualTo(userId);
+        measureExample.createCriteria().andUserIdEqualTo(userId).andModuleEqualTo(module);
         List<StuCreditEnhanceMeasure> stuCreditEnhanceMeasures = stuCreditEnhanceMeasureMapper.selectByExample(measureExample);
         if(stuCreditEnhanceMeasures.isEmpty()){
             return false;
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 05fc600..23ce705 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
@@ -11,10 +11,7 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * @author tz
@@ -33,14 +30,20 @@ public class StuScoreCenterServiceImpl implements StuScoreCenterService {
     @Override
     public List<StuScoreCenter> getScore(String userId, String module) {
         Map<String, List<StuScoreCenter>> totalScoreCalculation = this.getTotalScoreCalculation(userId);
-        if(!module.equals(Constant.SCORE_OVERVIEW)){
+        if(module.equals(Constant.COMPREHENSIVE_CASE_SCORE)){
             //取到对应值
             List<StuScoreCenter> stuScoreCenters = totalScoreCalculation.get(module);
             // TODO: 2024/4/24 计算总成绩
-            StuScoreCenter stuScoreCenter = this.calculateTotalScore(stuScoreCenters, module);
+
+            //学习项目(在成绩前面加个总)
+            StringBuilder stringBuilder=new StringBuilder(module);
+            String string = stringBuilder.insert(4, "总").toString();
+
+            StuScoreCenter stuScoreCenter = this.calculateTotalScore(stuScoreCenters, string);
             stuScoreCenters.add(stuScoreCenter);
             return stuScoreCenters;
-        }else {
+        }else if(module.equals(Constant.SCORE_OVERVIEW) || module.isEmpty()){
+            module="成绩总览";
             //查询用户信息,插入模块排名
             StuUser stuUser = stuUserMapper.selectByPrimaryKey(userId);
 
@@ -48,24 +51,38 @@ public class StuScoreCenterServiceImpl implements StuScoreCenterService {
             for(Map.Entry<String,List<StuScoreCenter>> stringListEntry:totalScoreCalculation.entrySet()){
 
                 List<StuScoreCenter> value = stringListEntry.getValue();
-                StuScoreCenter stuScoreCenter = this.calculateTotalScore(value, module);
+
                 //遍历键,根据键取到成绩排名
                 String key = stringListEntry.getKey();
-                if(key.equals(Constant.CREDIT_PORTRAIT)){ //征信画像排名
-                    stuScoreCenter.setClassRanking(stuUser.getCreditPortraitRank());
-                }
-                if(key.equals(Constant.PERSONAL_CREDIT)){ //个人征信排名
-                    stuScoreCenter.setClassRanking(stuUser.getPersonalCreditRank());
-                }
-                if(key.equals(Constant.CORPORATE_CREDIT)){ //企业征信排名
-                    stuScoreCenter.setClassRanking(stuUser.getCorporateCreditRank());
-                }
-                if(key.equals(Constant.COMPREHENSIVE_CASE)){ //综合案例排名
-                    stuScoreCenter.setClassRanking(stuUser.getComprehensiveCaseRank());
+
+
+                if(value.isEmpty()){
+                    StuScoreCenter stuScoreCenter=new StuScoreCenter();
+                    String substring = key.substring(0, 4);
+                    stuScoreCenter.setLearningProjects(substring);
+
+                    list.add(stuScoreCenter);
+                }else {
+                    String substring = key.substring(0, 4);
+                    StuScoreCenter stuScoreCenter = this.calculateTotalScore(value, substring);
+
+                    if(key.equals(Constant.CREDIT_PORTRAIT_SCORE)){ //征信画像排名
+                        stuScoreCenter.setClassRanking(stuUser.getCreditPortraitRank());
+                    }
+                    if(key.equals(Constant.PERSONAL_CREDIT_SCORE)){ //个人征信排名
+                        stuScoreCenter.setClassRanking(stuUser.getPersonalCreditRank());
+                    }
+                    if(key.equals(Constant.CORPORATE_CREDIT_SCORE)){ //企业征信排名
+                        stuScoreCenter.setClassRanking(stuUser.getCorporateCreditRank());
+                    }
+                    if(key.equals(Constant.COMPREHENSIVE_CASE_SCORE)){ //综合案例排名
+                        stuScoreCenter.setClassRanking(stuUser.getComprehensiveCaseRank());
+                    }
+                    list.add(stuScoreCenter);
                 }
-                list.add(stuScoreCenter);
             }
 
+
             StuScoreCenter stuScoreCenter=new StuScoreCenter();
             //计算总成绩
 
@@ -77,12 +94,20 @@ public class StuScoreCenterServiceImpl implements StuScoreCenterService {
             BigDecimal score=new BigDecimal(0);
             for (int i = 0; i < list.size(); i++) {
                 //实训时长
-                Integer trainingDuration = list.get(i).getTrainingDuration();
-                duration=duration+trainingDuration;
+                if(list.get(i).getTrainingDuration()==null){
+
+                }else {
+                    Integer trainingDuration = list.get(i).getTrainingDuration();
+                    duration=duration+trainingDuration;
+                }
 
                 //实训得分
-                BigDecimal trainingScore = list.get(i).getTrainingScore();
-                score=bigDecimalUtils.add(score.toString(),trainingScore.toString());
+                if(list.get(i).getTrainingScore()==null){
+
+                }else {
+                    BigDecimal trainingScore = list.get(i).getTrainingScore();
+                    score=bigDecimalUtils.add(score.toString(),trainingScore.toString());
+                }
             }
             stuScoreCenter.setTrainingDuration(duration);
             stuScoreCenter.setTrainingScore(score);
@@ -93,6 +118,47 @@ public class StuScoreCenterServiceImpl implements StuScoreCenterService {
             list.add(stuScoreCenter);
 
             return list;
+        }else {
+            // TODO: 2024/4/28 如果是征信画像、个人征信、企业征信
+            return null;
+        }
+    }
+
+    /**
+     * 实训时长统计
+     * @param userId 用户ID
+     * @param module 模块
+     * @param viewingTime 观看时间
+     */
+    @Override
+    public void trainingDurationStatistics(String userId, String module, Integer viewingTime,String ascription) {
+         StuScoreCenterExample example=new StuScoreCenterExample();
+         example.createCriteria().andUserIdEqualTo(userId).andModuleEqualTo(module).andAscriptionEqualTo(ascription);
+        List<StuScoreCenter> stuScoreCenters = stuScoreCenterMapper.selectByExample(example);
+        if(stuScoreCenters.isEmpty()){
+            StuScoreCenter stuScoreCenter=new StuScoreCenter();
+            Integer uuid = UUID.randomUUID().toString().replaceAll("-", "").hashCode();
+            uuid = uuid < 0 ? -uuid : uuid;//String.hashCode() 值会为空
+            stuScoreCenter.setId(uuid);
+            stuScoreCenter.setUserId(userId);
+            stuScoreCenter.setLearningProjects(module);
+            stuScoreCenter.setModule(module);
+            stuScoreCenter.setAscription(ascription);
+            stuScoreCenter.setCompletionStatus("未完成");
+            stuScoreCenter.setTrainingDuration(viewingTime);
+            stuScoreCenter.setTrainingTotalScore(BigDecimal.valueOf(100));
+            stuScoreCenter.setTrainingScoreOne(BigDecimal.valueOf(0));
+            stuScoreCenter.setTrainingScoreTwo(BigDecimal.valueOf(0));
+            stuScoreCenter.setTrainingScoreThree(BigDecimal.valueOf(0));
+            stuScoreCenter.setNumberOfTraining(0);
+
+            stuScoreCenterMapper.insert(stuScoreCenter);
+        }else {
+            StuScoreCenter stuScoreCenter = stuScoreCenters.get(0);
+            BigDecimal add = bigDecimalUtils.add(String.valueOf(viewingTime), String.valueOf(stuScoreCenter.getTrainingDuration()));
+            stuScoreCenter.setTrainingDuration(Integer.valueOf(String.valueOf(add)));
+
+            stuScoreCenterMapper.updateByPrimaryKey(stuScoreCenter);
         }
     }
 
@@ -108,44 +174,99 @@ public class StuScoreCenterServiceImpl implements StuScoreCenterService {
         List<StuScoreCenter> stuScoreCenters = stuScoreCenterMapper.selectByExample(scoreCenterExample);
 
         //征信画像总成绩
-        List<StuScoreCenter> creditPortrait=new ArrayList<>();
+        List<StuScoreCenter> creditPortraits=new ArrayList<>();
         //个人征信总成绩
-        List<StuScoreCenter> personalCredit =new ArrayList<>();
+        List<StuScoreCenter> personalCredits =new ArrayList<>();
         //企业征信总成绩
-        List<StuScoreCenter> corporateCredit=new ArrayList<>();
+        List<StuScoreCenter> corporateCredits=new ArrayList<>();
         //综合案例总成绩
-        List<StuScoreCenter> comprehensiveCase=new ArrayList<>();
+        List<StuScoreCenter> comprehensiveCases=new ArrayList<>();
 
         Map<String,List<StuScoreCenter>> map=new HashMap<>();
+//        int a=0;int b=0;int c=0;
         for (int i = 0; i < stuScoreCenters.size(); i++) {
             StuScoreCenter scoreCenter = stuScoreCenters.get(i);
 
             if(scoreCenter.getAscription().equals(Constant.CREDIT_PORTRAIT)){
-                creditPortrait.add(scoreCenter);
+                creditPortraits.add(scoreCenter);
             }
 
             if(scoreCenter.getAscription().equals(Constant.PERSONAL_CREDIT)){
-                personalCredit.add(scoreCenter);
+                personalCredits.add(scoreCenter);
             }
 
             if(scoreCenter.getAscription().equals(Constant.CORPORATE_CREDIT)){
-                corporateCredit.add(scoreCenter);
+                corporateCredits.add(scoreCenter);
             }
 
             if(scoreCenter.getAscription().equals(Constant.COMPREHENSIVE_CASE)){
-                comprehensiveCase.add(scoreCenter);
+                comprehensiveCases.add(scoreCenter);
             }
         }
+        String[] creditPortrait={"贷款案例","个人信息与违约","还款行为与违约"};
+        String[] personalCredit={"影响因素分析","征信优化分析","征信评级模型"};
+        String[] corporateCredit={"影响因素分析","征信优化分析","征信评级模型"};
+        String[] comprehensiveCase={"用户画像","个人征信","企业征信"};
+
+        commonMethods(userId, creditPortraits, creditPortrait,"征信画像"); //征信画像
+
+
+        commonMethods(userId, personalCredits, personalCredit,"个人征信"); //个人征信
+
+
+        commonMethods(userId, corporateCredits, corporateCredit,"企业征信"); //企业征信
+
+
+        commonMethods(userId,comprehensiveCases,comprehensiveCase,"综合案例"); //综合案例
+
 
         //封装到map
-        map.put(Constant.CREDIT_PORTRAIT_SCORE,creditPortrait);
-        map.put(Constant.PERSONAL_CREDIT_SCORE,personalCredit);
-        map.put(Constant.CORPORATE_CREDIT_SCORE,corporateCredit);
-        map.put(Constant.COMPREHENSIVE_CASE_SCORE,comprehensiveCase);
+        map.put(Constant.CREDIT_PORTRAIT_SCORE,creditPortraits);
+        map.put(Constant.PERSONAL_CREDIT_SCORE,personalCredits);
+        map.put(Constant.CORPORATE_CREDIT_SCORE,corporateCredits);
+        map.put(Constant.COMPREHENSIVE_CASE_SCORE,comprehensiveCases);
 
         return map;
     }
 
+    /**
+     * 统一返回形式
+     * @param userId 用户ID
+     * @param creditPortraits 对应模块成绩中心数据
+     * @param creditPortrait 模块数字
+     * @param ascription 归属大模块
+     */
+    private void commonMethods(String userId, List<StuScoreCenter> creditPortraits, String[] creditPortrait,String ascription) {
+        if(!creditPortraits.isEmpty()){
+            for (String s : creditPortrait) {
+                for (int j = 0; j < creditPortraits.size(); j++) {
+                    if (s.equals(creditPortraits.get(j).getModule())) {
+                        break;
+                    }
+                    StuScoreCenter stuScoreCenter = new StuScoreCenter();
+                    stuScoreCenter.setLearningProjects(s);
+                    stuScoreCenter.setTrainingTotalScore(BigDecimal.valueOf(100));
+                    stuScoreCenter.setModule(s);
+                    stuScoreCenter.setUserId(userId);
+                    stuScoreCenter.setAscription(ascription);
+                    stuScoreCenter.setCompletionStatus("未完成");
+                    creditPortraits.add(stuScoreCenter);
+                }
+            }
+        }else {
+            for (String s : creditPortrait) {
+                StuScoreCenter stuScoreCenter = new StuScoreCenter();
+                stuScoreCenter.setLearningProjects(s);
+                stuScoreCenter.setTrainingTotalScore(BigDecimal.valueOf(100));
+                stuScoreCenter.setModule(s);
+                stuScoreCenter.setUserId(userId);
+                stuScoreCenter.setAscription(ascription);
+                stuScoreCenter.setCompletionStatus("未完成");
+                creditPortraits.add(stuScoreCenter);
+            }
+        }
+    }
+
     /**
      * 更新权重信息
      * @param stuScoreCenters
@@ -221,10 +342,8 @@ public class StuScoreCenterServiceImpl implements StuScoreCenterService {
     public StuScoreCenter calculateTotalScore(List<StuScoreCenter> stuScoreCenters,String module){
         StuScoreCenter stuScoreCenter=new StuScoreCenter();
 
-        //学习项目(在成绩前面加个总)
-        StringBuilder stringBuilder=new StringBuilder(module);
-        String string = stringBuilder.insert(4, "总").toString();
-        stuScoreCenter.setLearningProjects(string);
+
+        stuScoreCenter.setLearningProjects(module);
 
         //实训时长(累加)
 
@@ -235,24 +354,41 @@ public class StuScoreCenterServiceImpl implements StuScoreCenterService {
         BigDecimal score=new BigDecimal(0);
         for (int i = 0; i < stuScoreCenters.size(); i++) {
             //取出实训时长累加
-            Integer trainingDuration = stuScoreCenters.get(i).getTrainingDuration();
-            duration=duration+trainingDuration;
+            if(stuScoreCenters.get(i).getTrainingDuration()==null){
+
+            }else {
+                Integer trainingDuration = stuScoreCenters.get(i).getTrainingDuration();
+                duration=duration+trainingDuration;
+            }
 
             //取出实训得分,并乘权重再累加
-            BigDecimal trainingScore = stuScoreCenters.get(i).getTrainingScore();
-            BigDecimal scoreWeight = stuScoreCenters.get(i).getScoreWeight();
+            if(stuScoreCenters.get(i).getTrainingScore()==null){
+
+            }else {
+                BigDecimal trainingScore = stuScoreCenters.get(i).getTrainingScore();
+                BigDecimal scoreWeight = stuScoreCenters.get(i).getScoreWeight();
+
+                String mul = bigDecimalUtils.mul(trainingScore.toString(), scoreWeight.toString(), 2);
+                score=bigDecimalUtils.add(score.toString(),mul);
+            }
 
-            String mul = bigDecimalUtils.mul(trainingScore.toString(), scoreWeight.toString(), 2);
-            score=bigDecimalUtils.add(score.toString(),mul);
         }
         stuScoreCenter.setTrainingDuration(duration);
 
         //完成情况
-        if(stuScoreCenters.size()==3){
-            stuScoreCenter.setCompletionStatus("已完成");
-        }else {
-            stuScoreCenter.setCompletionStatus("未完成");
-        }
+        int a=0;
+            for (int i = 0; i < stuScoreCenters.size(); i++) {
+                StuScoreCenter stuScoreCenter1 = stuScoreCenters.get(i);
+                if(stuScoreCenter1.getCompletionStatus().equals("已完成")){
+                    a++;
+                }
+            }
+            if(a==3){
+                stuScoreCenter.setCompletionStatus("已完成");
+            }else {
+                stuScoreCenter.setCompletionStatus("未完成");
+            }
+
 
         //实训得分
         stuScoreCenter.setTrainingScore(score);
diff --git a/src/main/resources/mappers/StuUserMapper.xml b/src/main/resources/mappers/StuUserMapper.xml
new file mode 100644
index 0000000..6dce317
--- /dev/null
+++ b/src/main/resources/mappers/StuUserMapper.xml
@@ -0,0 +1,712 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sztzjy.digital_credit.mapper.StuUserMapper">
+  <resultMap id="BaseResultMap" type="com.sztzjy.digital_credit.entity.StuUser">
+    <id column="user_id" jdbcType="VARCHAR" property="userId" />
+    <result column="student_id" jdbcType="VARCHAR" property="studentId" />
+    <result column="name" jdbcType="VARCHAR" property="name" />
+    <result column="password" jdbcType="VARCHAR" property="password" />
+    <result column="role_id" jdbcType="INTEGER" property="roleId" />
+    <result column="class_id" jdbcType="VARCHAR" property="classId" />
+    <result column="class_name" jdbcType="VARCHAR" property="className" />
+    <result column="major" jdbcType="VARCHAR" property="major" />
+    <result column="school_id" jdbcType="VARCHAR" property="schoolId" />
+    <result column="school_name" jdbcType="VARCHAR" property="schoolName" />
+    <result column="loan_cases_score" jdbcType="DECIMAL" property="loanCasesScore" />
+    <result column="per_situation_score" jdbcType="DECIMAL" property="perSituationScore" />
+    <result column="repayment_behavior_score" jdbcType="DECIMAL" property="repaymentBehaviorScore" />
+    <result column="per_influence_factor_score" jdbcType="DECIMAL" property="perInfluenceFactorScore" />
+    <result column="per_credit_optimization_socre" jdbcType="DECIMAL" property="perCreditOptimizationSocre" />
+    <result column="per_credit_rating_socre" jdbcType="DECIMAL" property="perCreditRatingSocre" />
+    <result column="ent_influence_factor_socre" jdbcType="DECIMAL" property="entInfluenceFactorSocre" />
+    <result column="ent_credit_optimization_socre" jdbcType="DECIMAL" property="entCreditOptimizationSocre" />
+    <result column="ent_credit_rating_socre" jdbcType="DECIMAL" property="entCreditRatingSocre" />
+    <result column="case_user_profile_socre" jdbcType="DECIMAL" property="caseUserProfileSocre" />
+    <result column="case_personal_credit_score" jdbcType="DECIMAL" property="casePersonalCreditScore" />
+    <result column="case_corporate_credit_score" jdbcType="DECIMAL" property="caseCorporateCreditScore" />
+    <result column="case_corporate_credit_sub_score" jdbcType="DECIMAL" property="caseCorporateCreditSubScore" />
+    <result column="case_corporate_credit_obj_score" jdbcType="DECIMAL" property="caseCorporateCreditObjScore" />
+    <result column="case_personal_credit_sub_score" jdbcType="DECIMAL" property="casePersonalCreditSubScore" />
+    <result column="case_personal_credit_obj_score" jdbcType="DECIMAL" property="casePersonalCreditObjScore" />
+    <result column="credit_portrait_score" jdbcType="DECIMAL" property="creditPortraitScore" />
+    <result column="credit_portrait_rank" jdbcType="INTEGER" property="creditPortraitRank" />
+    <result column="personal_credit_score" jdbcType="DECIMAL" property="personalCreditScore" />
+    <result column="personal_credit_rank" jdbcType="INTEGER" property="personalCreditRank" />
+    <result column="corporate_credit_score" jdbcType="DECIMAL" property="corporateCreditScore" />
+    <result column="corporate_credit_rank" jdbcType="INTEGER" property="corporateCreditRank" />
+    <result column="comprehensive_case_score" jdbcType="DECIMAL" property="comprehensiveCaseScore" />
+    <result column="comprehensive_case_rank" jdbcType="INTEGER" property="comprehensiveCaseRank" />
+    <result column="total_rank" jdbcType="INTEGER" property="totalRank" />
+    <result column="total_score" jdbcType="DECIMAL" property="totalScore" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    user_id, student_id, name, password, role_id, class_id, class_name, major, school_id, 
+    school_name, loan_cases_score, per_situation_score, repayment_behavior_score, per_influence_factor_score, 
+    per_credit_optimization_socre, per_credit_rating_socre, ent_influence_factor_socre, 
+    ent_credit_optimization_socre, ent_credit_rating_socre, case_user_profile_socre, 
+    case_personal_credit_score, case_corporate_credit_score, case_corporate_credit_sub_score, 
+    case_corporate_credit_obj_score, case_personal_credit_sub_score, case_personal_credit_obj_score, 
+    credit_portrait_score, credit_portrait_rank, personal_credit_score, personal_credit_rank, 
+    corporate_credit_score, corporate_credit_rank, comprehensive_case_score, comprehensive_case_rank, 
+    total_rank, total_score
+  </sql>
+  <select id="selectByExample" parameterType="com.sztzjy.digital_credit.entity.StuUserExample" resultMap="BaseResultMap">
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from stu_user
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
+    select 
+    <include refid="Base_Column_List" />
+    from stu_user
+    where user_id = #{userId,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    delete from stu_user
+    where user_id = #{userId,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.sztzjy.digital_credit.entity.StuUserExample">
+    delete from stu_user
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.sztzjy.digital_credit.entity.StuUser">
+    insert into stu_user (user_id, student_id, name, 
+      password, role_id, class_id, 
+      class_name, major, school_id, 
+      school_name, loan_cases_score, per_situation_score, 
+      repayment_behavior_score, per_influence_factor_score, 
+      per_credit_optimization_socre, per_credit_rating_socre, 
+      ent_influence_factor_socre, ent_credit_optimization_socre, 
+      ent_credit_rating_socre, case_user_profile_socre, 
+      case_personal_credit_score, case_corporate_credit_score, 
+      case_corporate_credit_sub_score, case_corporate_credit_obj_score, 
+      case_personal_credit_sub_score, case_personal_credit_obj_score, 
+      credit_portrait_score, credit_portrait_rank, 
+      personal_credit_score, personal_credit_rank, 
+      corporate_credit_score, corporate_credit_rank, 
+      comprehensive_case_score, comprehensive_case_rank, 
+      total_rank, total_score)
+    values (#{userId,jdbcType=VARCHAR}, #{studentId,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, 
+      #{password,jdbcType=VARCHAR}, #{roleId,jdbcType=INTEGER}, #{classId,jdbcType=VARCHAR}, 
+      #{className,jdbcType=VARCHAR}, #{major,jdbcType=VARCHAR}, #{schoolId,jdbcType=VARCHAR}, 
+      #{schoolName,jdbcType=VARCHAR}, #{loanCasesScore,jdbcType=DECIMAL}, #{perSituationScore,jdbcType=DECIMAL}, 
+      #{repaymentBehaviorScore,jdbcType=DECIMAL}, #{perInfluenceFactorScore,jdbcType=DECIMAL}, 
+      #{perCreditOptimizationSocre,jdbcType=DECIMAL}, #{perCreditRatingSocre,jdbcType=DECIMAL}, 
+      #{entInfluenceFactorSocre,jdbcType=DECIMAL}, #{entCreditOptimizationSocre,jdbcType=DECIMAL}, 
+      #{entCreditRatingSocre,jdbcType=DECIMAL}, #{caseUserProfileSocre,jdbcType=DECIMAL}, 
+      #{casePersonalCreditScore,jdbcType=DECIMAL}, #{caseCorporateCreditScore,jdbcType=DECIMAL}, 
+      #{caseCorporateCreditSubScore,jdbcType=DECIMAL}, #{caseCorporateCreditObjScore,jdbcType=DECIMAL}, 
+      #{casePersonalCreditSubScore,jdbcType=DECIMAL}, #{casePersonalCreditObjScore,jdbcType=DECIMAL}, 
+      #{creditPortraitScore,jdbcType=DECIMAL}, #{creditPortraitRank,jdbcType=INTEGER}, 
+      #{personalCreditScore,jdbcType=DECIMAL}, #{personalCreditRank,jdbcType=INTEGER}, 
+      #{corporateCreditScore,jdbcType=DECIMAL}, #{corporateCreditRank,jdbcType=INTEGER}, 
+      #{comprehensiveCaseScore,jdbcType=DECIMAL}, #{comprehensiveCaseRank,jdbcType=INTEGER}, 
+      #{totalRank,jdbcType=INTEGER}, #{totalScore,jdbcType=DECIMAL})
+  </insert>
+  <insert id="insertSelective" parameterType="com.sztzjy.digital_credit.entity.StuUser">
+    insert into stu_user
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="userId != null">
+        user_id,
+      </if>
+      <if test="studentId != null">
+        student_id,
+      </if>
+      <if test="name != null">
+        name,
+      </if>
+      <if test="password != null">
+        password,
+      </if>
+      <if test="roleId != null">
+        role_id,
+      </if>
+      <if test="classId != null">
+        class_id,
+      </if>
+      <if test="className != null">
+        class_name,
+      </if>
+      <if test="major != null">
+        major,
+      </if>
+      <if test="schoolId != null">
+        school_id,
+      </if>
+      <if test="schoolName != null">
+        school_name,
+      </if>
+      <if test="loanCasesScore != null">
+        loan_cases_score,
+      </if>
+      <if test="perSituationScore != null">
+        per_situation_score,
+      </if>
+      <if test="repaymentBehaviorScore != null">
+        repayment_behavior_score,
+      </if>
+      <if test="perInfluenceFactorScore != null">
+        per_influence_factor_score,
+      </if>
+      <if test="perCreditOptimizationSocre != null">
+        per_credit_optimization_socre,
+      </if>
+      <if test="perCreditRatingSocre != null">
+        per_credit_rating_socre,
+      </if>
+      <if test="entInfluenceFactorSocre != null">
+        ent_influence_factor_socre,
+      </if>
+      <if test="entCreditOptimizationSocre != null">
+        ent_credit_optimization_socre,
+      </if>
+      <if test="entCreditRatingSocre != null">
+        ent_credit_rating_socre,
+      </if>
+      <if test="caseUserProfileSocre != null">
+        case_user_profile_socre,
+      </if>
+      <if test="casePersonalCreditScore != null">
+        case_personal_credit_score,
+      </if>
+      <if test="caseCorporateCreditScore != null">
+        case_corporate_credit_score,
+      </if>
+      <if test="caseCorporateCreditSubScore != null">
+        case_corporate_credit_sub_score,
+      </if>
+      <if test="caseCorporateCreditObjScore != null">
+        case_corporate_credit_obj_score,
+      </if>
+      <if test="casePersonalCreditSubScore != null">
+        case_personal_credit_sub_score,
+      </if>
+      <if test="casePersonalCreditObjScore != null">
+        case_personal_credit_obj_score,
+      </if>
+      <if test="creditPortraitScore != null">
+        credit_portrait_score,
+      </if>
+      <if test="creditPortraitRank != null">
+        credit_portrait_rank,
+      </if>
+      <if test="personalCreditScore != null">
+        personal_credit_score,
+      </if>
+      <if test="personalCreditRank != null">
+        personal_credit_rank,
+      </if>
+      <if test="corporateCreditScore != null">
+        corporate_credit_score,
+      </if>
+      <if test="corporateCreditRank != null">
+        corporate_credit_rank,
+      </if>
+      <if test="comprehensiveCaseScore != null">
+        comprehensive_case_score,
+      </if>
+      <if test="comprehensiveCaseRank != null">
+        comprehensive_case_rank,
+      </if>
+      <if test="totalRank != null">
+        total_rank,
+      </if>
+      <if test="totalScore != null">
+        total_score,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="userId != null">
+        #{userId,jdbcType=VARCHAR},
+      </if>
+      <if test="studentId != null">
+        #{studentId,jdbcType=VARCHAR},
+      </if>
+      <if test="name != null">
+        #{name,jdbcType=VARCHAR},
+      </if>
+      <if test="password != null">
+        #{password,jdbcType=VARCHAR},
+      </if>
+      <if test="roleId != null">
+        #{roleId,jdbcType=INTEGER},
+      </if>
+      <if test="classId != null">
+        #{classId,jdbcType=VARCHAR},
+      </if>
+      <if test="className != null">
+        #{className,jdbcType=VARCHAR},
+      </if>
+      <if test="major != null">
+        #{major,jdbcType=VARCHAR},
+      </if>
+      <if test="schoolId != null">
+        #{schoolId,jdbcType=VARCHAR},
+      </if>
+      <if test="schoolName != null">
+        #{schoolName,jdbcType=VARCHAR},
+      </if>
+      <if test="loanCasesScore != null">
+        #{loanCasesScore,jdbcType=DECIMAL},
+      </if>
+      <if test="perSituationScore != null">
+        #{perSituationScore,jdbcType=DECIMAL},
+      </if>
+      <if test="repaymentBehaviorScore != null">
+        #{repaymentBehaviorScore,jdbcType=DECIMAL},
+      </if>
+      <if test="perInfluenceFactorScore != null">
+        #{perInfluenceFactorScore,jdbcType=DECIMAL},
+      </if>
+      <if test="perCreditOptimizationSocre != null">
+        #{perCreditOptimizationSocre,jdbcType=DECIMAL},
+      </if>
+      <if test="perCreditRatingSocre != null">
+        #{perCreditRatingSocre,jdbcType=DECIMAL},
+      </if>
+      <if test="entInfluenceFactorSocre != null">
+        #{entInfluenceFactorSocre,jdbcType=DECIMAL},
+      </if>
+      <if test="entCreditOptimizationSocre != null">
+        #{entCreditOptimizationSocre,jdbcType=DECIMAL},
+      </if>
+      <if test="entCreditRatingSocre != null">
+        #{entCreditRatingSocre,jdbcType=DECIMAL},
+      </if>
+      <if test="caseUserProfileSocre != null">
+        #{caseUserProfileSocre,jdbcType=DECIMAL},
+      </if>
+      <if test="casePersonalCreditScore != null">
+        #{casePersonalCreditScore,jdbcType=DECIMAL},
+      </if>
+      <if test="caseCorporateCreditScore != null">
+        #{caseCorporateCreditScore,jdbcType=DECIMAL},
+      </if>
+      <if test="caseCorporateCreditSubScore != null">
+        #{caseCorporateCreditSubScore,jdbcType=DECIMAL},
+      </if>
+      <if test="caseCorporateCreditObjScore != null">
+        #{caseCorporateCreditObjScore,jdbcType=DECIMAL},
+      </if>
+      <if test="casePersonalCreditSubScore != null">
+        #{casePersonalCreditSubScore,jdbcType=DECIMAL},
+      </if>
+      <if test="casePersonalCreditObjScore != null">
+        #{casePersonalCreditObjScore,jdbcType=DECIMAL},
+      </if>
+      <if test="creditPortraitScore != null">
+        #{creditPortraitScore,jdbcType=DECIMAL},
+      </if>
+      <if test="creditPortraitRank != null">
+        #{creditPortraitRank,jdbcType=INTEGER},
+      </if>
+      <if test="personalCreditScore != null">
+        #{personalCreditScore,jdbcType=DECIMAL},
+      </if>
+      <if test="personalCreditRank != null">
+        #{personalCreditRank,jdbcType=INTEGER},
+      </if>
+      <if test="corporateCreditScore != null">
+        #{corporateCreditScore,jdbcType=DECIMAL},
+      </if>
+      <if test="corporateCreditRank != null">
+        #{corporateCreditRank,jdbcType=INTEGER},
+      </if>
+      <if test="comprehensiveCaseScore != null">
+        #{comprehensiveCaseScore,jdbcType=DECIMAL},
+      </if>
+      <if test="comprehensiveCaseRank != null">
+        #{comprehensiveCaseRank,jdbcType=INTEGER},
+      </if>
+      <if test="totalRank != null">
+        #{totalRank,jdbcType=INTEGER},
+      </if>
+      <if test="totalScore != null">
+        #{totalScore,jdbcType=DECIMAL},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.sztzjy.digital_credit.entity.StuUserExample" resultType="java.lang.Long">
+    select count(*) from stu_user
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    update stu_user
+    <set>
+      <if test="record.userId != null">
+        user_id = #{record.userId,jdbcType=VARCHAR},
+      </if>
+      <if test="record.studentId != null">
+        student_id = #{record.studentId,jdbcType=VARCHAR},
+      </if>
+      <if test="record.name != null">
+        name = #{record.name,jdbcType=VARCHAR},
+      </if>
+      <if test="record.password != null">
+        password = #{record.password,jdbcType=VARCHAR},
+      </if>
+      <if test="record.roleId != null">
+        role_id = #{record.roleId,jdbcType=INTEGER},
+      </if>
+      <if test="record.classId != null">
+        class_id = #{record.classId,jdbcType=VARCHAR},
+      </if>
+      <if test="record.className != null">
+        class_name = #{record.className,jdbcType=VARCHAR},
+      </if>
+      <if test="record.major != null">
+        major = #{record.major,jdbcType=VARCHAR},
+      </if>
+      <if test="record.schoolId != null">
+        school_id = #{record.schoolId,jdbcType=VARCHAR},
+      </if>
+      <if test="record.schoolName != null">
+        school_name = #{record.schoolName,jdbcType=VARCHAR},
+      </if>
+      <if test="record.loanCasesScore != null">
+        loan_cases_score = #{record.loanCasesScore,jdbcType=DECIMAL},
+      </if>
+      <if test="record.perSituationScore != null">
+        per_situation_score = #{record.perSituationScore,jdbcType=DECIMAL},
+      </if>
+      <if test="record.repaymentBehaviorScore != null">
+        repayment_behavior_score = #{record.repaymentBehaviorScore,jdbcType=DECIMAL},
+      </if>
+      <if test="record.perInfluenceFactorScore != null">
+        per_influence_factor_score = #{record.perInfluenceFactorScore,jdbcType=DECIMAL},
+      </if>
+      <if test="record.perCreditOptimizationSocre != null">
+        per_credit_optimization_socre = #{record.perCreditOptimizationSocre,jdbcType=DECIMAL},
+      </if>
+      <if test="record.perCreditRatingSocre != null">
+        per_credit_rating_socre = #{record.perCreditRatingSocre,jdbcType=DECIMAL},
+      </if>
+      <if test="record.entInfluenceFactorSocre != null">
+        ent_influence_factor_socre = #{record.entInfluenceFactorSocre,jdbcType=DECIMAL},
+      </if>
+      <if test="record.entCreditOptimizationSocre != null">
+        ent_credit_optimization_socre = #{record.entCreditOptimizationSocre,jdbcType=DECIMAL},
+      </if>
+      <if test="record.entCreditRatingSocre != null">
+        ent_credit_rating_socre = #{record.entCreditRatingSocre,jdbcType=DECIMAL},
+      </if>
+      <if test="record.caseUserProfileSocre != null">
+        case_user_profile_socre = #{record.caseUserProfileSocre,jdbcType=DECIMAL},
+      </if>
+      <if test="record.casePersonalCreditScore != null">
+        case_personal_credit_score = #{record.casePersonalCreditScore,jdbcType=DECIMAL},
+      </if>
+      <if test="record.caseCorporateCreditScore != null">
+        case_corporate_credit_score = #{record.caseCorporateCreditScore,jdbcType=DECIMAL},
+      </if>
+      <if test="record.caseCorporateCreditSubScore != null">
+        case_corporate_credit_sub_score = #{record.caseCorporateCreditSubScore,jdbcType=DECIMAL},
+      </if>
+      <if test="record.caseCorporateCreditObjScore != null">
+        case_corporate_credit_obj_score = #{record.caseCorporateCreditObjScore,jdbcType=DECIMAL},
+      </if>
+      <if test="record.casePersonalCreditSubScore != null">
+        case_personal_credit_sub_score = #{record.casePersonalCreditSubScore,jdbcType=DECIMAL},
+      </if>
+      <if test="record.casePersonalCreditObjScore != null">
+        case_personal_credit_obj_score = #{record.casePersonalCreditObjScore,jdbcType=DECIMAL},
+      </if>
+      <if test="record.creditPortraitScore != null">
+        credit_portrait_score = #{record.creditPortraitScore,jdbcType=DECIMAL},
+      </if>
+      <if test="record.creditPortraitRank != null">
+        credit_portrait_rank = #{record.creditPortraitRank,jdbcType=INTEGER},
+      </if>
+      <if test="record.personalCreditScore != null">
+        personal_credit_score = #{record.personalCreditScore,jdbcType=DECIMAL},
+      </if>
+      <if test="record.personalCreditRank != null">
+        personal_credit_rank = #{record.personalCreditRank,jdbcType=INTEGER},
+      </if>
+      <if test="record.corporateCreditScore != null">
+        corporate_credit_score = #{record.corporateCreditScore,jdbcType=DECIMAL},
+      </if>
+      <if test="record.corporateCreditRank != null">
+        corporate_credit_rank = #{record.corporateCreditRank,jdbcType=INTEGER},
+      </if>
+      <if test="record.comprehensiveCaseScore != null">
+        comprehensive_case_score = #{record.comprehensiveCaseScore,jdbcType=DECIMAL},
+      </if>
+      <if test="record.comprehensiveCaseRank != null">
+        comprehensive_case_rank = #{record.comprehensiveCaseRank,jdbcType=INTEGER},
+      </if>
+      <if test="record.totalRank != null">
+        total_rank = #{record.totalRank,jdbcType=INTEGER},
+      </if>
+      <if test="record.totalScore != null">
+        total_score = #{record.totalScore,jdbcType=DECIMAL},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    update stu_user
+    set user_id = #{record.userId,jdbcType=VARCHAR},
+      student_id = #{record.studentId,jdbcType=VARCHAR},
+      name = #{record.name,jdbcType=VARCHAR},
+      password = #{record.password,jdbcType=VARCHAR},
+      role_id = #{record.roleId,jdbcType=INTEGER},
+      class_id = #{record.classId,jdbcType=VARCHAR},
+      class_name = #{record.className,jdbcType=VARCHAR},
+      major = #{record.major,jdbcType=VARCHAR},
+      school_id = #{record.schoolId,jdbcType=VARCHAR},
+      school_name = #{record.schoolName,jdbcType=VARCHAR},
+      loan_cases_score = #{record.loanCasesScore,jdbcType=DECIMAL},
+      per_situation_score = #{record.perSituationScore,jdbcType=DECIMAL},
+      repayment_behavior_score = #{record.repaymentBehaviorScore,jdbcType=DECIMAL},
+      per_influence_factor_score = #{record.perInfluenceFactorScore,jdbcType=DECIMAL},
+      per_credit_optimization_socre = #{record.perCreditOptimizationSocre,jdbcType=DECIMAL},
+      per_credit_rating_socre = #{record.perCreditRatingSocre,jdbcType=DECIMAL},
+      ent_influence_factor_socre = #{record.entInfluenceFactorSocre,jdbcType=DECIMAL},
+      ent_credit_optimization_socre = #{record.entCreditOptimizationSocre,jdbcType=DECIMAL},
+      ent_credit_rating_socre = #{record.entCreditRatingSocre,jdbcType=DECIMAL},
+      case_user_profile_socre = #{record.caseUserProfileSocre,jdbcType=DECIMAL},
+      case_personal_credit_score = #{record.casePersonalCreditScore,jdbcType=DECIMAL},
+      case_corporate_credit_score = #{record.caseCorporateCreditScore,jdbcType=DECIMAL},
+      case_corporate_credit_sub_score = #{record.caseCorporateCreditSubScore,jdbcType=DECIMAL},
+      case_corporate_credit_obj_score = #{record.caseCorporateCreditObjScore,jdbcType=DECIMAL},
+      case_personal_credit_sub_score = #{record.casePersonalCreditSubScore,jdbcType=DECIMAL},
+      case_personal_credit_obj_score = #{record.casePersonalCreditObjScore,jdbcType=DECIMAL},
+      credit_portrait_score = #{record.creditPortraitScore,jdbcType=DECIMAL},
+      credit_portrait_rank = #{record.creditPortraitRank,jdbcType=INTEGER},
+      personal_credit_score = #{record.personalCreditScore,jdbcType=DECIMAL},
+      personal_credit_rank = #{record.personalCreditRank,jdbcType=INTEGER},
+      corporate_credit_score = #{record.corporateCreditScore,jdbcType=DECIMAL},
+      corporate_credit_rank = #{record.corporateCreditRank,jdbcType=INTEGER},
+      comprehensive_case_score = #{record.comprehensiveCaseScore,jdbcType=DECIMAL},
+      comprehensive_case_rank = #{record.comprehensiveCaseRank,jdbcType=INTEGER},
+      total_rank = #{record.totalRank,jdbcType=INTEGER},
+      total_score = #{record.totalScore,jdbcType=DECIMAL}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.sztzjy.digital_credit.entity.StuUser">
+    update stu_user
+    <set>
+      <if test="studentId != null">
+        student_id = #{studentId,jdbcType=VARCHAR},
+      </if>
+      <if test="name != null">
+        name = #{name,jdbcType=VARCHAR},
+      </if>
+      <if test="password != null">
+        password = #{password,jdbcType=VARCHAR},
+      </if>
+      <if test="roleId != null">
+        role_id = #{roleId,jdbcType=INTEGER},
+      </if>
+      <if test="classId != null">
+        class_id = #{classId,jdbcType=VARCHAR},
+      </if>
+      <if test="className != null">
+        class_name = #{className,jdbcType=VARCHAR},
+      </if>
+      <if test="major != null">
+        major = #{major,jdbcType=VARCHAR},
+      </if>
+      <if test="schoolId != null">
+        school_id = #{schoolId,jdbcType=VARCHAR},
+      </if>
+      <if test="schoolName != null">
+        school_name = #{schoolName,jdbcType=VARCHAR},
+      </if>
+      <if test="loanCasesScore != null">
+        loan_cases_score = #{loanCasesScore,jdbcType=DECIMAL},
+      </if>
+      <if test="perSituationScore != null">
+        per_situation_score = #{perSituationScore,jdbcType=DECIMAL},
+      </if>
+      <if test="repaymentBehaviorScore != null">
+        repayment_behavior_score = #{repaymentBehaviorScore,jdbcType=DECIMAL},
+      </if>
+      <if test="perInfluenceFactorScore != null">
+        per_influence_factor_score = #{perInfluenceFactorScore,jdbcType=DECIMAL},
+      </if>
+      <if test="perCreditOptimizationSocre != null">
+        per_credit_optimization_socre = #{perCreditOptimizationSocre,jdbcType=DECIMAL},
+      </if>
+      <if test="perCreditRatingSocre != null">
+        per_credit_rating_socre = #{perCreditRatingSocre,jdbcType=DECIMAL},
+      </if>
+      <if test="entInfluenceFactorSocre != null">
+        ent_influence_factor_socre = #{entInfluenceFactorSocre,jdbcType=DECIMAL},
+      </if>
+      <if test="entCreditOptimizationSocre != null">
+        ent_credit_optimization_socre = #{entCreditOptimizationSocre,jdbcType=DECIMAL},
+      </if>
+      <if test="entCreditRatingSocre != null">
+        ent_credit_rating_socre = #{entCreditRatingSocre,jdbcType=DECIMAL},
+      </if>
+      <if test="caseUserProfileSocre != null">
+        case_user_profile_socre = #{caseUserProfileSocre,jdbcType=DECIMAL},
+      </if>
+      <if test="casePersonalCreditScore != null">
+        case_personal_credit_score = #{casePersonalCreditScore,jdbcType=DECIMAL},
+      </if>
+      <if test="caseCorporateCreditScore != null">
+        case_corporate_credit_score = #{caseCorporateCreditScore,jdbcType=DECIMAL},
+      </if>
+      <if test="caseCorporateCreditSubScore != null">
+        case_corporate_credit_sub_score = #{caseCorporateCreditSubScore,jdbcType=DECIMAL},
+      </if>
+      <if test="caseCorporateCreditObjScore != null">
+        case_corporate_credit_obj_score = #{caseCorporateCreditObjScore,jdbcType=DECIMAL},
+      </if>
+      <if test="casePersonalCreditSubScore != null">
+        case_personal_credit_sub_score = #{casePersonalCreditSubScore,jdbcType=DECIMAL},
+      </if>
+      <if test="casePersonalCreditObjScore != null">
+        case_personal_credit_obj_score = #{casePersonalCreditObjScore,jdbcType=DECIMAL},
+      </if>
+      <if test="creditPortraitScore != null">
+        credit_portrait_score = #{creditPortraitScore,jdbcType=DECIMAL},
+      </if>
+      <if test="creditPortraitRank != null">
+        credit_portrait_rank = #{creditPortraitRank,jdbcType=INTEGER},
+      </if>
+      <if test="personalCreditScore != null">
+        personal_credit_score = #{personalCreditScore,jdbcType=DECIMAL},
+      </if>
+      <if test="personalCreditRank != null">
+        personal_credit_rank = #{personalCreditRank,jdbcType=INTEGER},
+      </if>
+      <if test="corporateCreditScore != null">
+        corporate_credit_score = #{corporateCreditScore,jdbcType=DECIMAL},
+      </if>
+      <if test="corporateCreditRank != null">
+        corporate_credit_rank = #{corporateCreditRank,jdbcType=INTEGER},
+      </if>
+      <if test="comprehensiveCaseScore != null">
+        comprehensive_case_score = #{comprehensiveCaseScore,jdbcType=DECIMAL},
+      </if>
+      <if test="comprehensiveCaseRank != null">
+        comprehensive_case_rank = #{comprehensiveCaseRank,jdbcType=INTEGER},
+      </if>
+      <if test="totalRank != null">
+        total_rank = #{totalRank,jdbcType=INTEGER},
+      </if>
+      <if test="totalScore != null">
+        total_score = #{totalScore,jdbcType=DECIMAL},
+      </if>
+    </set>
+    where user_id = #{userId,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.sztzjy.digital_credit.entity.StuUser">
+    update stu_user
+    set student_id = #{studentId,jdbcType=VARCHAR},
+      name = #{name,jdbcType=VARCHAR},
+      password = #{password,jdbcType=VARCHAR},
+      role_id = #{roleId,jdbcType=INTEGER},
+      class_id = #{classId,jdbcType=VARCHAR},
+      class_name = #{className,jdbcType=VARCHAR},
+      major = #{major,jdbcType=VARCHAR},
+      school_id = #{schoolId,jdbcType=VARCHAR},
+      school_name = #{schoolName,jdbcType=VARCHAR},
+      loan_cases_score = #{loanCasesScore,jdbcType=DECIMAL},
+      per_situation_score = #{perSituationScore,jdbcType=DECIMAL},
+      repayment_behavior_score = #{repaymentBehaviorScore,jdbcType=DECIMAL},
+      per_influence_factor_score = #{perInfluenceFactorScore,jdbcType=DECIMAL},
+      per_credit_optimization_socre = #{perCreditOptimizationSocre,jdbcType=DECIMAL},
+      per_credit_rating_socre = #{perCreditRatingSocre,jdbcType=DECIMAL},
+      ent_influence_factor_socre = #{entInfluenceFactorSocre,jdbcType=DECIMAL},
+      ent_credit_optimization_socre = #{entCreditOptimizationSocre,jdbcType=DECIMAL},
+      ent_credit_rating_socre = #{entCreditRatingSocre,jdbcType=DECIMAL},
+      case_user_profile_socre = #{caseUserProfileSocre,jdbcType=DECIMAL},
+      case_personal_credit_score = #{casePersonalCreditScore,jdbcType=DECIMAL},
+      case_corporate_credit_score = #{caseCorporateCreditScore,jdbcType=DECIMAL},
+      case_corporate_credit_sub_score = #{caseCorporateCreditSubScore,jdbcType=DECIMAL},
+      case_corporate_credit_obj_score = #{caseCorporateCreditObjScore,jdbcType=DECIMAL},
+      case_personal_credit_sub_score = #{casePersonalCreditSubScore,jdbcType=DECIMAL},
+      case_personal_credit_obj_score = #{casePersonalCreditObjScore,jdbcType=DECIMAL},
+      credit_portrait_score = #{creditPortraitScore,jdbcType=DECIMAL},
+      credit_portrait_rank = #{creditPortraitRank,jdbcType=INTEGER},
+      personal_credit_score = #{personalCreditScore,jdbcType=DECIMAL},
+      personal_credit_rank = #{personalCreditRank,jdbcType=INTEGER},
+      corporate_credit_score = #{corporateCreditScore,jdbcType=DECIMAL},
+      corporate_credit_rank = #{corporateCreditRank,jdbcType=INTEGER},
+      comprehensive_case_score = #{comprehensiveCaseScore,jdbcType=DECIMAL},
+      comprehensive_case_rank = #{comprehensiveCaseRank,jdbcType=INTEGER},
+      total_rank = #{totalRank,jdbcType=INTEGER},
+      total_score = #{totalScore,jdbcType=DECIMAL}
+    where user_id = #{userId,jdbcType=VARCHAR}
+  </update>
+</mapper>
\ No newline at end of file