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 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 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 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 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 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 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 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 stuScoreCenters = stuScoreCenterMapper.selectByExample(scoreCenterExample); //查询权重 StuUser stuUser = stuUserMapper.selectByPrimaryKey(userId); - TchModuleWeithExample example=new TchModuleWeithExample(); + TchModuleWeithExample example = new TchModuleWeithExample(); example.createCriteria().andSchoolIdEqualTo(stuUser.getSchoolId()); List 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 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 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 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 getScore(String userId, String module) { Map> totalScoreCalculation = this.getTotalScoreCalculation(userId); - if(!module.equals(Constant.SCORE_OVERVIEW)){ + if(module.equals(Constant.COMPREHENSIVE_CASE_SCORE)){ //取到对应值 List 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> stringListEntry:totalScoreCalculation.entrySet()){ List 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 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 stuScoreCenters = stuScoreCenterMapper.selectByExample(scoreCenterExample); //征信画像总成绩 - List creditPortrait=new ArrayList<>(); + List creditPortraits=new ArrayList<>(); //个人征信总成绩 - List personalCredit =new ArrayList<>(); + List personalCredits =new ArrayList<>(); //企业征信总成绩 - List corporateCredit=new ArrayList<>(); + List corporateCredits=new ArrayList<>(); //综合案例总成绩 - List comprehensiveCase=new ArrayList<>(); + List comprehensiveCases=new ArrayList<>(); Map> 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 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 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 index 55b80fd..6dce317 100644 --- a/src/main/resources/mappers/StuUserMapper.xml +++ b/src/main/resources/mappers/StuUserMapper.xml @@ -401,8 +401,7 @@ - - + update stu_user @@ -710,7 +709,4 @@ total_score = #{totalScore,jdbcType=DECIMAL} where user_id = #{userId,jdbcType=VARCHAR} - - - \ No newline at end of file