From 5a42872af44012a768af82f7ad0d91018eb44ad9 Mon Sep 17 00:00:00 2001 From: whb <17803890193@163.com> Date: Sun, 28 Apr 2024 16:19:17 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E5=BE=81=E4=BF=A1=E6=88=90=E7=BB=A9=E6=80=BB=E6=88=90=E7=BB=A9?= =?UTF-8?q?=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/StuRateController.java | 2 + .../controller/StuUserPortraitController.java | 3 + .../StuOperationAssetAnalysisModule.java | 3 +- .../sztzjy/digital_credit/entity/StuUser.java | 2 +- .../digital_credit/mapper/StuUserMapper.java | 6 +- .../service/StuRateService.java | 3 + .../StuUserPortraitControllerService.java | 7 + .../StuEnterPriseByInfoEntryServiceImpl.java | 51 +- ...StuExperimentTrainByCreditServiceImpl.java | 7 +- .../StuFinancialEarlyWarningServiceImpl.java | 17 +- .../service/impl/StuRateServiceImpl.java | 142 +++- .../StuUserPortraitControllerServiceImpl.java | 24 + .../sztzjy/digital_credit/util/SealUtil.java | 136 ++-- .../StuOperationAssetAnalysisModuleMapper.xml | 22 +- src/main/resources/mappers/StuUserMapper.xml | 716 ++++++++++++++++++ 15 files changed, 1037 insertions(+), 104 deletions(-) create mode 100644 src/main/resources/mappers/StuUserMapper.xml diff --git a/src/main/java/com/sztzjy/digital_credit/controller/StuRateController.java b/src/main/java/com/sztzjy/digital_credit/controller/StuRateController.java index 6f69a6d..77a405c 100644 --- a/src/main/java/com/sztzjy/digital_credit/controller/StuRateController.java +++ b/src/main/java/com/sztzjy/digital_credit/controller/StuRateController.java @@ -105,4 +105,6 @@ private StuRateService rateService; + + } diff --git a/src/main/java/com/sztzjy/digital_credit/controller/StuUserPortraitController.java b/src/main/java/com/sztzjy/digital_credit/controller/StuUserPortraitController.java index 24ee449..075f704 100644 --- a/src/main/java/com/sztzjy/digital_credit/controller/StuUserPortraitController.java +++ b/src/main/java/com/sztzjy/digital_credit/controller/StuUserPortraitController.java @@ -42,4 +42,7 @@ public class StuUserPortraitController { + + + } diff --git a/src/main/java/com/sztzjy/digital_credit/entity/StuOperationAssetAnalysisModule.java b/src/main/java/com/sztzjy/digital_credit/entity/StuOperationAssetAnalysisModule.java index 8e6cd47..33b0e81 100644 --- a/src/main/java/com/sztzjy/digital_credit/entity/StuOperationAssetAnalysisModule.java +++ b/src/main/java/com/sztzjy/digital_credit/entity/StuOperationAssetAnalysisModule.java @@ -4,9 +4,10 @@ import java.util.Date; import io.swagger.annotations.ApiModelProperty; /** + * 企业营运资产分析模型 * * @author whb - * stu_operation_asset_analysis module + * stu_operation_asset_analysis_module */ public class StuOperationAssetAnalysisModule { @ApiModelProperty("id") diff --git a/src/main/java/com/sztzjy/digital_credit/entity/StuUser.java b/src/main/java/com/sztzjy/digital_credit/entity/StuUser.java index 9f06793..0504c22 100644 --- a/src/main/java/com/sztzjy/digital_credit/entity/StuUser.java +++ b/src/main/java/com/sztzjy/digital_credit/entity/StuUser.java @@ -5,7 +5,7 @@ import java.math.BigDecimal; import io.swagger.annotations.ApiModelProperty; /** * - * @author tz + * @author whb * stu_user */ public class StuUser { diff --git a/src/main/java/com/sztzjy/digital_credit/mapper/StuUserMapper.java b/src/main/java/com/sztzjy/digital_credit/mapper/StuUserMapper.java index 0fe4954..d53056d 100644 --- a/src/main/java/com/sztzjy/digital_credit/mapper/StuUserMapper.java +++ b/src/main/java/com/sztzjy/digital_credit/mapper/StuUserMapper.java @@ -3,10 +3,8 @@ package com.sztzjy.digital_credit.mapper; import com.sztzjy.digital_credit.entity.StuUser; import com.sztzjy.digital_credit.entity.StuUserExample; import java.util.List; - -import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; -@Mapper + public interface StuUserMapper { long countByExample(StuUserExample example); @@ -29,4 +27,6 @@ public interface StuUserMapper { int updateByPrimaryKeySelective(StuUser record); int updateByPrimaryKey(StuUser record); + + } \ No newline at end of file diff --git a/src/main/java/com/sztzjy/digital_credit/service/StuRateService.java b/src/main/java/com/sztzjy/digital_credit/service/StuRateService.java index 3e5af0d..23d1061 100644 --- a/src/main/java/com/sztzjy/digital_credit/service/StuRateService.java +++ b/src/main/java/com/sztzjy/digital_credit/service/StuRateService.java @@ -77,4 +77,7 @@ public interface StuRateService { //企业征信完成状态 Boolean completionStatusOfEnterprise(String userId); + + + void enterScoreWriteUserByUserId(Object obj,String module,String userId); } diff --git a/src/main/java/com/sztzjy/digital_credit/service/StuUserPortraitControllerService.java b/src/main/java/com/sztzjy/digital_credit/service/StuUserPortraitControllerService.java index 663c00a..ba7ff08 100644 --- a/src/main/java/com/sztzjy/digital_credit/service/StuUserPortraitControllerService.java +++ b/src/main/java/com/sztzjy/digital_credit/service/StuUserPortraitControllerService.java @@ -17,5 +17,12 @@ public interface StuUserPortraitControllerService { ResultEntity userPortraitByModuleSave(StuUserPortrait userPortrait); + /** + * 用户画像提交状态 + * @param userId + * @return + */ + + Boolean userPortraitSubState(String userId); } diff --git a/src/main/java/com/sztzjy/digital_credit/service/impl/StuEnterPriseByInfoEntryServiceImpl.java b/src/main/java/com/sztzjy/digital_credit/service/impl/StuEnterPriseByInfoEntryServiceImpl.java index c2c5ac3..f431a2e 100644 --- a/src/main/java/com/sztzjy/digital_credit/service/impl/StuEnterPriseByInfoEntryServiceImpl.java +++ b/src/main/java/com/sztzjy/digital_credit/service/impl/StuEnterPriseByInfoEntryServiceImpl.java @@ -19,6 +19,7 @@ import com.sztzjy.digital_credit.entity.*; import com.sztzjy.digital_credit.entity.dto.StuFinancialIndexDTO; import com.sztzjy.digital_credit.mapper.*; import com.sztzjy.digital_credit.service.StuEnterPriseByInfoEntryService; +import com.sztzjy.digital_credit.service.StuRateService; import com.sztzjy.digital_credit.util.ConvertUtil; import com.sztzjy.digital_credit.util.MyExcelListener; import com.sztzjy.digital_credit.util.ResultEntity; @@ -31,10 +32,13 @@ import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.io.InputStream; +import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Date; import java.util.List; + + @Service public class StuEnterPriseByInfoEntryServiceImpl implements StuEnterPriseByInfoEntryService { @@ -66,6 +70,12 @@ public class StuEnterPriseByInfoEntryServiceImpl implements StuEnterPriseByInfoE @Autowired private StuSolvencyMapper solvencyMapper; + @Autowired + private StuUserMapper userMapper; + + @Autowired + private StuRateService stuRateService; + /** * 基本信息查询 * @param userId @@ -184,8 +194,10 @@ public class StuEnterPriseByInfoEntryServiceImpl implements StuEnterPriseByInfoE stuBaseInfo.setId(stuBaseInfoList.get(0).getId()); stuBaseInfoMapper.updateByPrimaryKeySelective(stuBaseInfo); - return new ResultEntity<>(HttpStatus.OK,"保存成功!",stuBaseInfo.getErrorNumber()); + //计算分数写入用户表 + stuRateService.enterScoreWriteUserByUserId(stuBaseInfo,"基本信息",stuBaseInfo.getUserId()); + return new ResultEntity<>(HttpStatus.OK,"保存成功!",stuBaseInfo.getErrorNumber()); }else { //首次提交判断输入数据是否则正确 @@ -196,6 +208,7 @@ public class StuEnterPriseByInfoEntryServiceImpl implements StuEnterPriseByInfoE //插入数据库 stuBaseInfoMapper.insertSelective(stuBaseInfo); + stuRateService.enterScoreWriteUserByUserId(stuBaseInfo,"基本信息",stuBaseInfo.getUserId()); return new ResultEntity<>(HttpStatus.OK,"保存成功!",stuBaseInfo.getErrorNumber()); } @@ -298,6 +311,11 @@ public class StuEnterPriseByInfoEntryServiceImpl implements StuEnterPriseByInfoE creditRecords.setId(stuCreditRecordsList.get(0).getId()); creditRecords.setUpdateTime(new Date()); creditRecordsMapper.updateByPrimaryKeySelective(creditRecords); + + //计算分数写入用户表 + stuRateService.enterScoreWriteUserByUserId(creditRecords,"信贷记录",creditRecords.getUserId()); + + return new ResultEntity<>(HttpStatus.OK,"保存成功!",creditRecords.getErrorNumber()); }else { @@ -308,6 +326,8 @@ public class StuEnterPriseByInfoEntryServiceImpl implements StuEnterPriseByInfoE creditRecords.setId(IdUtil.simpleUUID()); creditRecords.setCreateTime(new Date()); creditRecordsMapper.insertSelective(creditRecords); + //计算分数写入用户表 + stuRateService.enterScoreWriteUserByUserId(creditRecords,"信贷记录",creditRecords.getUserId()); return new ResultEntity<>(HttpStatus.OK,"保存成功!",creditRecords.getErrorNumber()); } @@ -468,6 +488,8 @@ public class StuEnterPriseByInfoEntryServiceImpl implements StuEnterPriseByInfoE profitAbility = FinancialProfitAbilityCheck(profitAbility); profitAbility.setId(profitAbilityList.get(0).getId()); profitAbilityMapper.updateByPrimaryKeySelective(profitAbility); + //计算分数写入用户表 + stuRateService.enterScoreWriteUserByUserId(profitAbility,"盈利能力",profitAbility.getUserId()); return new ResultEntity<>(HttpStatus.OK,"保存成功!",profitAbility.getErrorNumber()); @@ -479,7 +501,8 @@ public class StuEnterPriseByInfoEntryServiceImpl implements StuEnterPriseByInfoE //插入数据库 profitAbilityMapper.insertSelective(profitAbility); - + //计算分数写入用户表 + stuRateService.enterScoreWriteUserByUserId(profitAbility,"盈利能力",profitAbility.getUserId()); return new ResultEntity<>(HttpStatus.OK,"保存成功!",profitAbility.getErrorNumber()); } @@ -552,6 +575,10 @@ public class StuEnterPriseByInfoEntryServiceImpl implements StuEnterPriseByInfoE solvency = resultCheckByFinancialSolvency(solvency); solvency.setId(stuSolvencyList.get(0).getId()); solvencyMapper.updateByPrimaryKeySelective(solvency); + + //计算分数写入用户表 + stuRateService.enterScoreWriteUserByUserId(solvency,"偿债能力",solvency.getUserId()); + return new ResultEntity<>(HttpStatus.OK,"保存成功!",solvency.getErrorNumber()); }else { @@ -561,6 +588,8 @@ public class StuEnterPriseByInfoEntryServiceImpl implements StuEnterPriseByInfoE solvencyMapper.insertSelective(solvency); + //计算分数写入用户表 + stuRateService.enterScoreWriteUserByUserId(solvency,"偿债能力",solvency.getUserId()); return new ResultEntity<>(HttpStatus.OK,"保存成功!",solvency.getErrorNumber()); } @@ -633,7 +662,8 @@ public class StuEnterPriseByInfoEntryServiceImpl implements StuEnterPriseByInfoE operatingCapacity = financialOperatingCapacityCheck(operatingCapacity); operatingCapacity.setId(operatingCapacityList.get(0).getId()); operatingCapacityMapper.updateByPrimaryKeySelective(operatingCapacity); - + //计算分数写入用户表 + stuRateService.enterScoreWriteUserByUserId(operatingCapacity,"营运能力",operatingCapacity.getUserId()); return new ResultEntity<>(HttpStatus.OK,"保存成功!",operatingCapacity.getErrorNumber()); @@ -644,7 +674,8 @@ public class StuEnterPriseByInfoEntryServiceImpl implements StuEnterPriseByInfoE //插入数据库 operatingCapacityMapper.insertSelective(operatingCapacity); - + //计算分数写入用户表 + stuRateService.enterScoreWriteUserByUserId(operatingCapacity,"营运能力",operatingCapacity.getUserId()); return new ResultEntity<>(HttpStatus.OK,"保存成功!",operatingCapacity.getErrorNumber()); } @@ -723,6 +754,9 @@ public class StuEnterPriseByInfoEntryServiceImpl implements StuEnterPriseByInfoE growthAbility.setId(growthAbilityList.get(0).getId()); growthAbilityMapper.updateByPrimaryKeySelective(growthAbility); + //计算分数写入用户表 + stuRateService.enterScoreWriteUserByUserId(growthAbility,"成长能力",growthAbility.getUserId()); + return new ResultEntity<>(HttpStatus.OK,"保存成功!",growthAbility.getErrorNumber()); @@ -732,7 +766,8 @@ public class StuEnterPriseByInfoEntryServiceImpl implements StuEnterPriseByInfoE //插入数据库 growthAbilityMapper.insertSelective(growthAbility); - + //计算分数写入用户表 + stuRateService.enterScoreWriteUserByUserId(growthAbility,"成长能力",growthAbility.getUserId()); return new ResultEntity<>(HttpStatus.OK,"保存成功!",growthAbility.getErrorNumber()); } } @@ -808,7 +843,8 @@ public class StuEnterPriseByInfoEntryServiceImpl implements StuEnterPriseByInfoE duPontAnalysis = financialDuPontAnalysisCheck(duPontAnalysis); duPontAnalysis.setId(duPontAnalysisList.get(0).getId()); duPontAnalysisMapper.updateByPrimaryKeySelective(duPontAnalysis); - + //计算分数写入用户表 + stuRateService.enterScoreWriteUserByUserId(duPontAnalysis,"杜邦分析",duPontAnalysis.getUserId()); return new ResultEntity<>(HttpStatus.OK,"保存成功!",duPontAnalysis.getErrorNumber()); @@ -818,7 +854,8 @@ public class StuEnterPriseByInfoEntryServiceImpl implements StuEnterPriseByInfoE //插入数据库 duPontAnalysisMapper.insertSelective(duPontAnalysis); - + //计算分数写入用户表 + stuRateService.enterScoreWriteUserByUserId(duPontAnalysis,"杜邦分析",duPontAnalysis.getUserId()); return new ResultEntity<>(HttpStatus.OK,"保存成功!",duPontAnalysis.getErrorNumber()); } } diff --git a/src/main/java/com/sztzjy/digital_credit/service/impl/StuExperimentTrainByCreditServiceImpl.java b/src/main/java/com/sztzjy/digital_credit/service/impl/StuExperimentTrainByCreditServiceImpl.java index 8b3d436..45caf37 100644 --- a/src/main/java/com/sztzjy/digital_credit/service/impl/StuExperimentTrainByCreditServiceImpl.java +++ b/src/main/java/com/sztzjy/digital_credit/service/impl/StuExperimentTrainByCreditServiceImpl.java @@ -38,6 +38,12 @@ public class StuExperimentTrainByCreditServiceImpl implements StuExperimentTrain List machineLearningList = machineLearningMapper.selectByExample(machineLearningExample); if (!machineLearningList.isEmpty()) { + + if (machineLearningList.get(0).getSubState() == 1) + { + return new ResultEntity<>(HttpStatus.OK,"保存成功!"); + } + //已经有数据 StuMachineLearning machineLearning = machineLearningList.get(0); @@ -59,7 +65,6 @@ public class StuExperimentTrainByCreditServiceImpl implements StuExperimentTrain return new ResultEntity<>(HttpStatus.OK,"保存成功!"); - } } diff --git a/src/main/java/com/sztzjy/digital_credit/service/impl/StuFinancialEarlyWarningServiceImpl.java b/src/main/java/com/sztzjy/digital_credit/service/impl/StuFinancialEarlyWarningServiceImpl.java index df9ef7a..7a4baf8 100644 --- a/src/main/java/com/sztzjy/digital_credit/service/impl/StuFinancialEarlyWarningServiceImpl.java +++ b/src/main/java/com/sztzjy/digital_credit/service/impl/StuFinancialEarlyWarningServiceImpl.java @@ -10,6 +10,7 @@ import com.sztzjy.digital_credit.entity.*; import com.sztzjy.digital_credit.mapper.StuOperationAssetAnalysisModuleMapper; import com.sztzjy.digital_credit.mapper.StuScoreModuleMapper; import com.sztzjy.digital_credit.service.StuFinancialEarlyWarningService; +import com.sztzjy.digital_credit.service.StuRateService; import com.sztzjy.digital_credit.util.ResultEntity; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -29,6 +30,10 @@ public class StuFinancialEarlyWarningServiceImpl implements StuFinancialEarlyWar @Autowired private StuOperationAssetAnalysisModuleMapper operationAssetAnalysisModuleMapper; + + @Autowired + private StuRateService stuRateService; + /** * Z计分模型 * @param userId @@ -140,6 +145,10 @@ public class StuFinancialEarlyWarningServiceImpl implements StuFinancialEarlyWar scoreModule.setId(scoreModuleList.get(0).getId()); scoreModuleMapper.updateByPrimaryKeySelective(scoreModule); + + //计算分数写入用户表 + stuRateService.enterScoreWriteUserByUserId(scoreModule,"Z计分模型",scoreModule.getUserId()); + return new ResultEntity<>(HttpStatus.OK,"保存成功!",scoreModule.getErrorNumber()); @@ -151,6 +160,8 @@ public class StuFinancialEarlyWarningServiceImpl implements StuFinancialEarlyWar //插入数据库 scoreModuleMapper.insertSelective(scoreModule); + //计算分数写入用户表 + stuRateService.enterScoreWriteUserByUserId(scoreModule,"Z计分模型",scoreModule.getUserId()); return new ResultEntity<>(HttpStatus.OK,"保存成功!",scoreModule.getErrorNumber()); @@ -263,7 +274,8 @@ public class StuFinancialEarlyWarningServiceImpl implements StuFinancialEarlyWar analysisModule.setUpdateTime(new Date()); analysisModule.setId(moduleList.get(0).getId()); operationAssetAnalysisModuleMapper.updateByPrimaryKeySelective(analysisModule); - + //计算分数写入用户表 + stuRateService.enterScoreWriteUserByUserId(analysisModule,"营运资产分析模型",analysisModule.getUserId()); return new ResultEntity<>(HttpStatus.OK,"保存成功!",analysisModule.getErrorNumber()); @@ -275,7 +287,8 @@ public class StuFinancialEarlyWarningServiceImpl implements StuFinancialEarlyWar //插入数据库 operationAssetAnalysisModuleMapper.insertSelective(analysisModule); - + //计算分数写入用户表 + stuRateService.enterScoreWriteUserByUserId(analysisModule,"营运资产分析模型",analysisModule.getUserId()); return new ResultEntity<>(HttpStatus.OK,"保存成功!",analysisModule.getErrorNumber()); } diff --git a/src/main/java/com/sztzjy/digital_credit/service/impl/StuRateServiceImpl.java b/src/main/java/com/sztzjy/digital_credit/service/impl/StuRateServiceImpl.java index 3b5e5c1..5390d56 100644 --- a/src/main/java/com/sztzjy/digital_credit/service/impl/StuRateServiceImpl.java +++ b/src/main/java/com/sztzjy/digital_credit/service/impl/StuRateServiceImpl.java @@ -3,6 +3,7 @@ package com.sztzjy.digital_credit.service.impl;/** * @date 2024-04-17 10:33 */ +import cn.hutool.core.convert.Convert; import cn.hutool.core.util.IdUtil; import com.sztzjy.digital_credit.entity.*; import com.sztzjy.digital_credit.mapper.*; @@ -14,9 +15,9 @@ import org.springframework.context.annotation.Bean; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.lang.reflect.Field; +import java.math.BigDecimal; +import java.util.*; @Service public class StuRateServiceImpl implements StuRateService { @@ -61,6 +62,11 @@ public class StuRateServiceImpl implements StuRateService { @Autowired private StuSolvencyMapper solvencyMapper; + @Autowired + StuUserMapper userMapper; + + + @@ -168,7 +174,8 @@ public class StuRateServiceImpl implements StuRateService { ratingModel.setUpdateTime(new Date()); ratingModel.setId(stuRatingModelList.get(0).getId()); ratingModelMapper.updateByPrimaryKeySelective(ratingModel); - + //计算分数写入用户表 + enterScoreWriteUserByUserId(ratingModel,"评级模型",ratingModel.getUserId()); return new ResultEntity<>(HttpStatus.OK,"保存成功!",ratingModel.getErrorNumber()); @@ -180,7 +187,8 @@ public class StuRateServiceImpl implements StuRateService { //插入数据库 ratingModelMapper.insertSelective(ratingModel); - + //计算分数写入用户表 + enterScoreWriteUserByUserId(ratingModel,"评级模型",ratingModel.getUserId()); return new ResultEntity<>(HttpStatus.OK,"保存成功!",ratingModel.getErrorNumber()); } @@ -288,13 +296,13 @@ public class StuRateServiceImpl implements StuRateService { } //用户已经有了数据只能更新不能插入 - //首次提交判断输入数据是否则正确 ratingResult = resultCheckByrateResult(ratingResult); ratingResult.setUpdateTime(new Date()); ratingResult.setId(ratingResultList.get(0).getId()); resultMapper.updateByPrimaryKeySelective(ratingResult); - + //计算分数写入用户表 + enterScoreWriteUserByUserId(ratingResult,"评级结果",ratingResult.getUserId()); return new ResultEntity<>(HttpStatus.OK,"保存成功!",ratingResult.getErrorNumber()); @@ -306,9 +314,10 @@ public class StuRateServiceImpl implements StuRateService { //插入数据库 resultMapper.insertSelective(ratingResult); + //计算分数写入用户表 + enterScoreWriteUserByUserId(ratingResult,"评级结果",ratingResult.getUserId()); + return new ResultEntity<>(HttpStatus.OK,"保存成功!",ratingResult.getErrorNumber()); - - return new ResultEntity<>(HttpStatus.OK,"保存成功!",ratingResult.getErrorNumber()); } } @@ -337,8 +346,8 @@ public class StuRateServiceImpl implements StuRateService { creditEnhanceMeasureList.get(0).setEnchancePlan(enhanceMeasure.getEnchancePlan()); - // 智能评分 - int scoreByAuto = enchancePlanAutoScore(enhanceMeasure.getEnchancePlan().length()); + // 智能评分 //插入user表企业征信主观成绩数据 + int scoreByAuto = enchancePlanAutoScore(enhanceMeasure.getEnchancePlan().length(),enhanceMeasure.getUserId(),enhanceMeasure.getModule()); creditEnhanceMeasureList.get(0).setSysScore(scoreByAuto); @@ -346,6 +355,7 @@ public class StuRateServiceImpl implements StuRateService { creditEnhanceMeasureList.get(0).setErrorNumber(20-scoreByAuto); + creditEnhanceMeasureMapper.updateByPrimaryKeySelective(creditEnhanceMeasureList.get(0)); return new ResultEntity<>(HttpStatus.OK,"保存成功",scoreByAuto); @@ -357,7 +367,7 @@ public class StuRateServiceImpl implements StuRateService { int length = enhanceMeasure.getEnchancePlan().length(); // TODO: 2024/4/17 智能评分 - int scoreByAuto = enchancePlanAutoScore(length); + int scoreByAuto = enchancePlanAutoScore(length,enhanceMeasure.getUserId(),enhanceMeasure.getModule()); enhanceMeasure.setSysScore(scoreByAuto); @@ -609,12 +619,30 @@ public class StuRateServiceImpl implements StuRateService { } //增信措施自动评分 - private int enchancePlanAutoScore(int length) { + private int enchancePlanAutoScore(int length,String userId,String module) { //50字以内5分,每多10个字多1分,上限20分 int baseScore = 5; int additionalScore = (length > 50) ? (length - 50) / 10 : 0; int score = baseScore + additionalScore; + int min = Math.min(score, 20); + + StuUserExample userExample = new StuUserExample(); + userExample.createCriteria().andUserIdEqualTo(userId); + List stuUsers = userMapper.selectByExample(userExample); + if (!stuUsers.isEmpty()){ + //将自动评分成绩写入对应成绩 + if ("个人征信".equals(module)){ + stuUsers.get(0).setCasePersonalCreditScore(BigDecimal.valueOf(min)); + } + if ("企业征信".equals(module)){ + stuUsers.get(0).setCaseCorporateCreditSubScore(BigDecimal.valueOf(min)); + } + + userMapper.updateByPrimaryKeySelective(stuUsers.get(0)); + } + + return Math.min(score, 20); // 上限20分 } @@ -687,4 +715,92 @@ public class StuRateServiceImpl implements StuRateService { } + + //企业征信将成绩写入用户表,计算总成绩 + public void enterScoreWriteUserByUserId(Object obj,String module,String userId) { + + + Class aClass = obj.getClass(); + + + try { + //判断提交状态是否为1 + Field subState = aClass.getDeclaredField("subState"); + subState.setAccessible(true); + + Object state = subState.get(obj); + //不为1返回 + if (!state.equals(1)){ + return ; + } + + + // 获取错误次数的属性 + Field field = aClass.getDeclaredField("errorNumber"); + // 设置访问权限,允许访问私有属性 + field.setAccessible(true); + //获取错误次数 + Object errorCount = field.get(obj); + + + HashMap map = new HashMap<>(); + map.put("基本信息",24); + map.put("信贷记录",16); + map.put("盈利能力",7); + map.put("偿债能力",7); + map.put("营运能力",8); + map.put("成长能力",1); + map.put("杜邦分析",4); + map.put("Z计分模型",12); + map.put("营运资产分析模型",10); + map.put("评级模型",35); + map.put("评级结果",6); + + + + + Integer currentCount = map.get(module); + + //获取正确得分 + Integer info = currentCount - Convert.toInt(errorCount); + if (info<= 0 ) + { + info = 0; + } + + + + StuUser user = userMapper.selectByPrimaryKey(userId); + //获取用户企业征信客观成绩 + BigDecimal caseCorporateCreditObjScore = user.getCaseCorporateCreditObjScore(); + if (user.getCaseCorporateCreditObjScore() == null){ + caseCorporateCreditObjScore = BigDecimal.valueOf(0); + } + + caseCorporateCreditObjScore = caseCorporateCreditObjScore.add(BigDecimal.valueOf(info)); + //赋值企业征信客观成绩 + user.setCaseCorporateCreditObjScore(caseCorporateCreditObjScore); + //获取企业征信客观总成绩 + BigDecimal caseCorporateCreditScore = user.getCaseCorporateCreditScore(); + if (caseCorporateCreditScore == null){ + caseCorporateCreditScore = BigDecimal.valueOf(0); + } + //赋值企业征信客观总的成绩 + user.setCaseCorporateCreditScore(caseCorporateCreditScore.add(BigDecimal.valueOf(info))); + + userMapper.updateByPrimaryKeySelective(user); + + + + } catch (Exception e) { + throw new RuntimeException(e); + } + + + } + + + + + } diff --git a/src/main/java/com/sztzjy/digital_credit/service/impl/StuUserPortraitControllerServiceImpl.java b/src/main/java/com/sztzjy/digital_credit/service/impl/StuUserPortraitControllerServiceImpl.java index 2f5354a..d8af9b1 100644 --- a/src/main/java/com/sztzjy/digital_credit/service/impl/StuUserPortraitControllerServiceImpl.java +++ b/src/main/java/com/sztzjy/digital_credit/service/impl/StuUserPortraitControllerServiceImpl.java @@ -92,6 +92,30 @@ public class StuUserPortraitControllerServiceImpl implements StuUserPortraitCont } + /** + * 用户画像提交状态 + * @param userId + * @return + */ + + @Override + public Boolean userPortraitSubState(String userId) { + + StuUserPortraitExample portraitExample = new StuUserPortraitExample(); + portraitExample.createCriteria().andUserIdEqualTo(userId); + List userPortraitList = userPortraitMapper.selectByExample(portraitExample); + if (!userPortraitList.isEmpty()) { + if (userPortraitList.size() == 7 ) + { + return true; + } + + return false; + + } + + return false; + } //将分数保存到用户表,如果重新实训将用户表数据删除 diff --git a/src/main/java/com/sztzjy/digital_credit/util/SealUtil.java b/src/main/java/com/sztzjy/digital_credit/util/SealUtil.java index c6f8374..232c44f 100644 --- a/src/main/java/com/sztzjy/digital_credit/util/SealUtil.java +++ b/src/main/java/com/sztzjy/digital_credit/util/SealUtil.java @@ -1,65 +1,71 @@ -//package com.sztzjy.digital_credit.util; -// -//import cn.hutool.core.util.IdUtil; -//import com.sztzjy.digital_credit.util.file.LocalFileUtil; -//import com.sztzjy.digital_credit.util.seal.SealCircle; -//import com.sztzjy.digital_credit.util.seal.SealFont; -//import org.springframework.beans.factory.annotation.Value; -//import org.springframework.stereotype.Component; -// -//import javax.annotation.Resource; -//import java.io.File; -// -///** -// * @author 17803 -// * @date 2023-12-05 15:11 -// */ -// -//@Component -//public class SealUtil { -// -// @Resource -// LocalFileUtil localFileUtil; -// -// @Value("${file.path}") -// private String filePath; -// -// public String genertSealB(String name) throws Exception{ -// String file = filePath+"/seal/"; -// // 创建 File 对象 -// File infoFile = new File(file); -// if (!infoFile.exists()) { -// infoFile.mkdir(); -// } -// String s = IdUtil.fastSimpleUUID(); -// com.sztzjy.digital_credit.util.seal.SealUtil.builder() -// .size(200) -// .borderCircle(SealCircle.builder().line(4).width(95).height(95).build()) -// .mainFont(SealFont.builder().text(name+"有限公司").size(22).space(30.0).margin(4).build()) -// .centerFont(SealFont.builder().text("★").size(60).build()) -// .titleFont(SealFont.builder().text("电子签章").size(16).space(8.0).margin(54).build()) -// .build() -// .draw(filePath+"/seal/"+ s +".png"); -// System.out.println(name+"公章已生成"); -// return s; -// } -// public String genertSealA(String name) throws Exception{ -// String file = filePath+"/seal/"; -// // 创建 File 对象 -// File infoFile = new File(file); -// if (!infoFile.exists()) { -// infoFile.mkdir(); -// } -// String s = IdUtil.fastSimpleUUID(); -// com.sztzjy.digital_credit.util.seal.SealUtil.builder() -// .size(200) -// .borderCircle(SealCircle.builder().line(4).width(95).height(95).build()) -// .mainFont(SealFont.builder().text(name).size(22).space(30.0).margin(4).build()) -// .centerFont(SealFont.builder().text("★").size(60).build()) -// .titleFont(SealFont.builder().text("电子签章").size(16).space(8.0).margin(54).build()) -// .build() -// .draw(filePath+"/seal/"+ s +".png"); -// System.out.println(name+"公章已生成"); -// return s; -// } -//} +package com.sztzjy.digital_credit.util; + +import cn.hutool.core.util.IdUtil; + +import com.sztzjy.digital_credit.util.file.LocalFileUtil; +import com.sztzjy.digital_credit.util.seal.SealCircle; +import com.sztzjy.digital_credit.util.seal.SealFont; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.io.File; + +/** + * @author 17803 + * @date 2023-12-05 15:11 + */ + +@Component +public class SealUtil { + + @Resource + LocalFileUtil localFileUtil; + + @Value("${file.path}") + private String filePath; + + public String genertSealB(String name) throws Exception{ + String file = filePath+"/seal/"; + // 创建 File 对象 + File infoFile = new File(file); + if (!infoFile.exists()) { + infoFile.mkdir(); + } + String s = IdUtil.fastSimpleUUID(); + com.sztzjy.digital_credit.util.seal.SealUtil.builder() + .size(200) + .borderCircle(SealCircle.builder().line(4).width(95).height(95).build()) + .mainFont(SealFont.builder().text(name+"有限公司").size(22).space(30.0).margin(4).build()) + .centerFont(SealFont.builder().text("★").size(60).build()) + .titleFont(SealFont.builder().text("电子签章").size(16).space(8.0).margin(54).build()) + .build() + .draw(filePath+"/seal/"+ s +".png"); + System.out.println(name+"公章已生成"); + return s; + } + public String genertSealA(String name) throws Exception{ + String file = "D:/home/"+"seal/"; + //String file = filePath+"/seal/"; + + // 创建 File 对象 + File infoFile = new File(file); + if (!infoFile.exists()) { + infoFile.mkdir(); + } + String s = IdUtil.fastSimpleUUID(); + com.sztzjy.digital_credit.util.seal.SealUtil.builder() + .size(200) + .borderCircle(SealCircle.builder().line(4).width(95).height(95).build()) + .mainFont(SealFont.builder().text(name).size(22).space(30.0).margin(4).build()) + .centerFont(SealFont.builder().text("★").size(60).build()) + .titleFont(SealFont.builder().text("电子签章").size(16).space(8.0).margin(54).build()) + .build() + .draw(filePath+"/seal/"+ s +".png"); + System.out.println(name+"公章已生成"); + return s; + } + + + +} diff --git a/src/main/resources/mappers/StuOperationAssetAnalysisModuleMapper.xml b/src/main/resources/mappers/StuOperationAssetAnalysisModuleMapper.xml index 31fcc02..2e293d0 100644 --- a/src/main/resources/mappers/StuOperationAssetAnalysisModuleMapper.xml +++ b/src/main/resources/mappers/StuOperationAssetAnalysisModuleMapper.xml @@ -87,7 +87,7 @@ distinct - from "stu_operation_asset_analysis module" + from stu_operation_asset_analysis_module @@ -98,21 +98,21 @@ - delete from "stu_operation_asset_analysis module" + delete from stu_operation_asset_analysis_module where id = #{id,jdbcType=VARCHAR} - delete from "stu_operation_asset_analysis module" + delete from stu_operation_asset_analysis_module - insert into "stu_operation_asset_analysis module" (id, operat_asset, work_capital, + insert into stu_operation_asset_analysis_module (id, operat_asset, work_capital, current_ratio, quick_ratio, short_term_debt_to_equity_ratio, equity_ratio, evaluation_value, credit_limit, error_number, sub_state, state, @@ -126,7 +126,7 @@ ) - insert into "stu_operation_asset_analysis module" + insert into stu_operation_asset_analysis_module id, @@ -223,13 +223,13 @@ - update "stu_operation_asset_analysis module" + update stu_operation_asset_analysis_module id = #{record.id,jdbcType=VARCHAR}, @@ -282,7 +282,7 @@ - update "stu_operation_asset_analysis module" + update stu_operation_asset_analysis_module set id = #{record.id,jdbcType=VARCHAR}, operat_asset = #{record.operatAsset,jdbcType=VARCHAR}, work_capital = #{record.workCapital,jdbcType=VARCHAR}, @@ -303,7 +303,7 @@ - update "stu_operation_asset_analysis module" + update stu_operation_asset_analysis_module operat_asset = #{operatAsset,jdbcType=VARCHAR}, @@ -351,7 +351,7 @@ where id = #{id,jdbcType=VARCHAR} - update "stu_operation_asset_analysis module" + update stu_operation_asset_analysis_module set operat_asset = #{operatAsset,jdbcType=VARCHAR}, work_capital = #{workCapital,jdbcType=VARCHAR}, current_ratio = #{currentRatio,jdbcType=VARCHAR}, diff --git a/src/main/resources/mappers/StuUserMapper.xml b/src/main/resources/mappers/StuUserMapper.xml new file mode 100644 index 0000000..55b80fd --- /dev/null +++ b/src/main/resources/mappers/StuUserMapper.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + 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 + + + + + delete from stu_user + where user_id = #{userId,jdbcType=VARCHAR} + + + delete from stu_user + + + + + + 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 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, + + + + + #{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}, + + + + + + + update stu_user + + + 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}, + + + + + + + + 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} + + + + + + update stu_user + + + 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 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} + + + + + \ No newline at end of file From 4d93232ee0a03502ec4ceb4202af317d3d47348b Mon Sep 17 00:00:00 2001 From: whb <17803890193@163.com> Date: Mon, 29 Apr 2024 10:54:22 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=AE=8C=E6=88=90=E8=B4=9F=E5=80=BA?= =?UTF-8?q?=E4=BF=A1=E6=81=AF,=E5=AF=B9=E5=A4=96=E6=8B=85=E4=BF=9D,?= =?UTF-8?q?=E7=BA=B3=E7=A8=8E=E6=83=85=E5=86=B5,=E5=8F=82=E4=BF=9D?= =?UTF-8?q?=E6=83=85=E5=86=B5=E5=AE=9E=E9=AA=8C=E5=AE=9E=E8=AE=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StuExperimentTrainByCreditController.java | 53 +++++++++++++++++-- 1 file changed, 49 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/sztzjy/digital_credit/controller/StuExperimentTrainByCreditController.java b/src/main/java/com/sztzjy/digital_credit/controller/StuExperimentTrainByCreditController.java index 386f01c..96398cf 100644 --- a/src/main/java/com/sztzjy/digital_credit/controller/StuExperimentTrainByCreditController.java +++ b/src/main/java/com/sztzjy/digital_credit/controller/StuExperimentTrainByCreditController.java @@ -4,15 +4,24 @@ import com.sztzjy.digital_credit.annotation.AnonymousAccess; import com.sztzjy.digital_credit.entity.StuMachineLearning; import com.sztzjy.digital_credit.service.StuExperimentTrainByCreditService; import com.sztzjy.digital_credit.util.ResultEntity; +import com.sztzjy.digital_credit.util.file.IFileUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.NotBlank; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.HashMap; +import java.util.List; /** * @author 17803 @@ -30,6 +39,13 @@ public class StuExperimentTrainByCreditController { private StuExperimentTrainByCreditService experimentTrainByCreditService; + + @Value("${file.path}") + private String filePath; + + @Resource + IFileUtil iFileUtil; + @ApiOperation("前端校验数据(自动保存接口)") @AnonymousAccess @PostMapping("/trainByPublicSave") @@ -41,10 +57,39 @@ public class StuExperimentTrainByCreditController { + @ApiOperation("查看统一功能") + @GetMapping("/preAllView") + @AnonymousAccess + public ResponseEntity preViewByContract( + @RequestParam(required = true,name = "name")@NotBlank @ApiParam("文件类型名如:负债信息概要/参保信息样板") String name) throws IOException { + + + HashMap map = new HashMap<>(); + map.put("负债信息概要","/credit/**"); + map.put("参保信息样板","/credit/**"); + + + String fileUrl = map.get(name); + + // 模拟加载公章图片的数据(假设在硬盘上的某个路径下) + String imagePath = filePath + fileUrl; + // 替换为你的实际路径 + byte[] sealBytes = Files.readAllBytes(Paths.get(imagePath)); + // 构建HTTP响应,设置Content-Type为image/png + return ResponseEntity.ok().contentType(MediaType.IMAGE_PNG).body(sealBytes); + } +// 担保协议书 + + @PostMapping("/downloadDoc") + @AnonymousAccess + @ApiOperation("下载担保协议书") + public void download(HttpServletResponse response){ + iFileUtil.download(response,"/credit/**"); + } }