From fadceff29dde87874c51a25940bb002aeb9e3475 Mon Sep 17 00:00:00 2001 From: yz <3614508250@qq.com> Date: Thu, 24 Oct 2024 13:52:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=9F=A5=E8=AF=86=E7=82=B9?= =?UTF-8?q?=E3=80=81=E4=BF=AE=E5=A4=8D=E4=B8=80=E9=94=AE=E8=AF=84=E5=88=86?= =?UTF-8?q?=E7=AD=89=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/GradeController.java | 119 +++++- .../controller/KnowledgePointController.java | 66 +++ .../controller/SynthesisPlanController.java | 4 +- .../common/StatisticsController.java | 6 +- .../entity/KnowledgePoint.java | 42 ++ .../entity/KnowledgePointExample.java | 399 ++++++++++++++++++ .../entity/dto/SynthesisPlanScoreDto.java | 3 +- .../mapper/KnowledgePointMapper.java | 37 ++ .../service/impl/ScoreRankServiceImpl.java | 8 +- .../resources/mapper/KnowledgePointMapper.xml | 181 ++++++++ 10 files changed, 839 insertions(+), 26 deletions(-) create mode 100644 src/main/java/com/sztzjy/money_management/controller/KnowledgePointController.java create mode 100644 src/main/java/com/sztzjy/money_management/entity/KnowledgePoint.java create mode 100644 src/main/java/com/sztzjy/money_management/entity/KnowledgePointExample.java create mode 100644 src/main/java/com/sztzjy/money_management/mapper/KnowledgePointMapper.java create mode 100644 src/main/resources/mapper/KnowledgePointMapper.xml diff --git a/src/main/java/com/sztzjy/money_management/controller/GradeController.java b/src/main/java/com/sztzjy/money_management/controller/GradeController.java index 691d120..06fb65f 100644 --- a/src/main/java/com/sztzjy/money_management/controller/GradeController.java +++ b/src/main/java/com/sztzjy/money_management/controller/GradeController.java @@ -736,7 +736,7 @@ public class GradeController { example.createCriteria().andCaseidEqualTo(caseId).andIsAnswerEqualTo("题目答案"); List teaObj = caseLifeEducationPlanMapper.selectByExampleWithBLOBs(example); if (!teaObj.isEmpty()) { - objCaseScoreVo.setAnswerOne(String.valueOf(teaObj.get(0).getReturnOnInvestment())); + objCaseScoreVo.setAnswerOne(String.valueOf(teaObj.get(0).getFinancialPlan())); objCaseScoreVo.setAnswerTwo(teaObj.get(0).getAnalysis()); } } @@ -745,7 +745,7 @@ public class GradeController { example.createCriteria().andCaseIdEqualTo(caseId).andIsAnswerEqualTo("题目答案"); List teaObj = caseConsumptionPlanMapper.selectByExampleWithBLOBs(example); if (!teaObj.isEmpty()) { - objCaseScoreVo.setAnswerOne(String.valueOf(teaObj.get(0).getReturnOnInvestment())); + objCaseScoreVo.setAnswerOne(String.valueOf(teaObj.get(0).getFinancialPlan())); objCaseScoreVo.setAnswerTwo(teaObj.get(0).getAnalysis()); } } @@ -754,7 +754,7 @@ public class GradeController { example.createCriteria().andCaseidEqualTo(caseId).andIsAnswerEqualTo("题目答案"); List teaObj = caseStartAnUndertakingPlanMapper.selectByExample(example); if (!teaObj.isEmpty()) { - objCaseScoreVo.setAnswerOne(String.valueOf(teaObj.get(0).getReturnOnInvestmentRate())); + objCaseScoreVo.setAnswerOne(String.valueOf(teaObj.get(0).getFinancialPlan())); objCaseScoreVo.setAnswerTwo(teaObj.get(0).getAnalysis()); } } @@ -763,7 +763,7 @@ public class GradeController { example.createCriteria().andCaseidEqualTo(caseId).andIsAnswerEqualTo("题目答案"); List teaObj = caseRetirementPlanMapper.selectByExample(example); if (!teaObj.isEmpty()) { - objCaseScoreVo.setAnswerOne(String.valueOf(teaObj.get(0).getReturnOnInvestmentRate())); + objCaseScoreVo.setAnswerOne(String.valueOf(teaObj.get(0).getFinancialPlan())); objCaseScoreVo.setAnswerTwo(teaObj.get(0).getAnalysis()); } } @@ -871,13 +871,10 @@ public class GradeController { //根据caseId 查询caseInfo表中的manage_money_matters_type字段 如果等于综合规划 则查询com_case表 获取理财类型TypeList 如果不等于综合规划 则获取caseInfo中的manage_money_matters_type作为理财类型Type CaseInfo caseInfo = caseInfoMapper.selectByPrimaryKey(caseid); List typeList = new ArrayList<>(); - if ("综合规划".equals(caseInfo.getManageMoneyMattersType())) { - ComCaseExample comCaseExample = new ComCaseExample(); - comCaseExample.createCriteria().andCaseidEqualTo(caseid); - List comCaseList = comCaseMapper.selectByExample(comCaseExample); - for (int j = 0; j < comCaseList.size(); j++) { - String manageMoneyMattersType = comCaseList.get(j).getManageMoneyMattersType(); - typeList.add(manageMoneyMattersType); + if (caseInfo.getManageMoneyMattersType().contains(",")) { + String[] split = caseInfo.getManageMoneyMattersType().split(","); + for (String type : split) { + typeList.add(type); } } else { typeList.add(caseInfo.getManageMoneyMattersType()); @@ -916,6 +913,11 @@ public class GradeController { List scoreList = synthesisPlanScoreMapper.selectByExample(scoreExample); SynthesisPlanScore synthesisPlanScore = scoreList.get(0); synthesisPlanScore.setScore(teacherScore); + if(teacherScore.compareTo(BigDecimal.ZERO)>0){ + synthesisPlanScore.setStatus("答对"); + }else { + synthesisPlanScore.setStatus("答错"); + } synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore); } else if ("现金规划".equals(type)) { CaseCashPlanExample example = new CaseCashPlanExample(); @@ -948,6 +950,11 @@ public class GradeController { List scoreList = synthesisPlanScoreMapper.selectByExample(scoreExample); SynthesisPlanScore synthesisPlanScore = scoreList.get(0); synthesisPlanScore.setScore(teacherScore); + if(teacherScore.compareTo(BigDecimal.ZERO)>0){ + synthesisPlanScore.setStatus("答对"); + }else { + synthesisPlanScore.setStatus("答错"); + } synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore); } else if ("生涯规划-教育规划".equals(type)) { CaseLifeEducationPlanExample example = new CaseLifeEducationPlanExample(); @@ -979,7 +986,7 @@ public class GradeController { teaExample.createCriteria().andCaseidEqualTo(caseid).andIsAnswerEqualTo("题目答案"); List teaCasePlanList = caseLifeEducationPlanMapper.selectByExample(teaExample); CaseLifeEducationPlan teaPlan = teaCasePlanList.get(0); - BigDecimal teaFinancialPlanningMoney = teaPlan.getReturnOnInvestment(); + BigDecimal teaFinancialPlanningMoney = new BigDecimal(teaPlan.getFinancialPlan()); BigDecimal returnOnInvestment = stuPlan.getReturnOnInvestment(); BigDecimal disposableInput = stuPlan.getDisposableInput(); BigDecimal monthlyInvestment = stuPlan.getMonthlyInvestment(); @@ -1001,6 +1008,11 @@ public class GradeController { List scoreList = synthesisPlanScoreMapper.selectByExample(scoreExample); SynthesisPlanScore synthesisPlanScore = scoreList.get(0); synthesisPlanScore.setScore(teacherScore); + if(teacherScore.compareTo(BigDecimal.ZERO)>0){ + synthesisPlanScore.setStatus("答对"); + }else { + synthesisPlanScore.setStatus("答错"); + } synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore); //修改理财方案老师评分 @@ -1009,6 +1021,11 @@ public class GradeController { List scoreList2 = synthesisPlanScoreMapper.selectByExample(scoreExample2); SynthesisPlanScore synthesisPlanScore2 = scoreList2.get(0); synthesisPlanScore2.setScore(teacherFinancialPlanningScore); + if(teacherFinancialPlanningScore.compareTo(BigDecimal.ZERO)>0){ + synthesisPlanScore2.setStatus("答对"); + }else { + synthesisPlanScore2.setStatus("答错"); + } synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore2); } else if ("生涯规划-消费规划".equals(type)) { CaseConsumptionPlanExample example = new CaseConsumptionPlanExample(); @@ -1040,7 +1057,7 @@ public class GradeController { teaExample.createCriteria().andCaseIdEqualTo(caseid).andIsAnswerEqualTo("题目答案"); List teaCasePlanList = caseConsumptionPlanMapper.selectByExample(teaExample); CaseConsumptionPlan teaPlan = teaCasePlanList.get(0); - BigDecimal teaFinancialPlanningMoney = teaPlan.getReturnOnInvestment(); + BigDecimal teaFinancialPlanningMoney = new BigDecimal(teaPlan.getFinancialPlan()); BigDecimal returnOnInvestment = stuPlan.getReturnOnInvestment(); BigDecimal disposableInput = stuPlan.getDisposableInput(); BigDecimal monthlyInvestment = stuPlan.getMonthlyInvestment(); @@ -1062,6 +1079,11 @@ public class GradeController { List scoreList = synthesisPlanScoreMapper.selectByExample(scoreExample); SynthesisPlanScore synthesisPlanScore = scoreList.get(0); synthesisPlanScore.setScore(teacherScore); + if(teacherScore.compareTo(BigDecimal.ZERO)>0){ + synthesisPlanScore.setStatus("答对"); + }else { + synthesisPlanScore.setStatus("答错"); + } synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore); //修改理财方案老师评分 @@ -1070,6 +1092,11 @@ public class GradeController { List scoreList2 = synthesisPlanScoreMapper.selectByExample(scoreExample2); SynthesisPlanScore synthesisPlanScore2 = scoreList2.get(0); synthesisPlanScore2.setScore(teacherFinancialPlanningScore); + if(teacherFinancialPlanningScore.compareTo(BigDecimal.ZERO)>0){ + synthesisPlanScore2.setStatus("答对"); + }else { + synthesisPlanScore2.setStatus("答错"); + } synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore2); } else if ("生涯规划-创业规划".equals(type)) { CaseStartAnUndertakingPlanExample example = new CaseStartAnUndertakingPlanExample(); @@ -1101,7 +1128,7 @@ public class GradeController { teaExample.createCriteria().andCaseidEqualTo(caseid).andIsAnswerEqualTo("题目答案"); List teaCasePlanList = caseStartAnUndertakingPlanMapper.selectByExample(teaExample); CaseStartAnUndertakingPlan teaPlan = teaCasePlanList.get(0); - BigDecimal teaFinancialPlanningMoney = teaPlan.getReturnOnInvestmentRate(); + BigDecimal teaFinancialPlanningMoney = new BigDecimal(teaPlan.getFinancialPlan()); BigDecimal returnOnInvestment = stuPlan.getReturnOnInvestmentRate(); BigDecimal disposableInput = stuPlan.getDisposableInput(); BigDecimal monthlyInvestment = stuPlan.getMonthlyInvestment(); @@ -1123,6 +1150,11 @@ public class GradeController { List scoreList = synthesisPlanScoreMapper.selectByExample(scoreExample); SynthesisPlanScore synthesisPlanScore = scoreList.get(0); synthesisPlanScore.setScore(teacherScore); + if(teacherScore.compareTo(BigDecimal.ZERO)>0){ + synthesisPlanScore.setStatus("答对"); + }else { + synthesisPlanScore.setStatus("答错"); + } synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore); //修改理财方案老师评分 @@ -1131,6 +1163,11 @@ public class GradeController { List scoreList2 = synthesisPlanScoreMapper.selectByExample(scoreExample2); SynthesisPlanScore synthesisPlanScore2 = scoreList2.get(0); synthesisPlanScore2.setScore(teacherFinancialPlanningScore); + if(teacherFinancialPlanningScore.compareTo(BigDecimal.ZERO)>0){ + synthesisPlanScore2.setStatus("答对"); + }else { + synthesisPlanScore2.setStatus("答错"); + } synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore2); } else if ("生涯规划-退休规划".equals(type)) { CaseRetirementPlanExample example = new CaseRetirementPlanExample(); @@ -1162,7 +1199,7 @@ public class GradeController { teaExample.createCriteria().andCaseidEqualTo(caseid).andIsAnswerEqualTo("题目答案"); List teaCasePlanList = caseRetirementPlanMapper.selectByExample(teaExample); CaseRetirementPlan teaPlan = teaCasePlanList.get(0); - BigDecimal teaFinancialPlanningMoney = teaPlan.getReturnOnInvestmentRate(); + BigDecimal teaFinancialPlanningMoney = new BigDecimal(teaPlan.getFinancialPlan()); BigDecimal returnOnInvestment = stuPlan.getReturnOnInvestmentRate(); BigDecimal disposableInput = stuPlan.getDisposableInput(); BigDecimal monthlyInvestment = stuPlan.getMonthlyInvestment(); @@ -1184,6 +1221,11 @@ public class GradeController { List scoreList = synthesisPlanScoreMapper.selectByExample(scoreExample); SynthesisPlanScore synthesisPlanScore = scoreList.get(0); synthesisPlanScore.setScore(teacherScore); + if(teacherScore.compareTo(BigDecimal.ZERO)>0){ + synthesisPlanScore.setStatus("答对"); + }else { + synthesisPlanScore.setStatus("答错"); + } synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore); //修改理财方案老师评分 @@ -1192,6 +1234,11 @@ public class GradeController { List scoreList2 = synthesisPlanScoreMapper.selectByExample(scoreExample2); SynthesisPlanScore synthesisPlanScore2 = scoreList2.get(0); synthesisPlanScore2.setScore(teacherFinancialPlanningScore); + if(teacherFinancialPlanningScore.compareTo(BigDecimal.ZERO)>0){ + synthesisPlanScore2.setStatus("答对"); + }else { + synthesisPlanScore2.setStatus("答错"); + } synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore2); } else if ("生涯规划-保险规划".equals(type)) { //根据caseid和userId查询case_Financial_Ratios表 @@ -1228,6 +1275,11 @@ public class GradeController { List scoreList = synthesisPlanScoreMapper.selectByExample(scoreExample); SynthesisPlanScore synthesisPlanScore = scoreList.get(0); synthesisPlanScore.setScore(teacherScore); + if(teacherScore.compareTo(BigDecimal.ZERO)>0){ + synthesisPlanScore.setStatus("答对"); + }else { + synthesisPlanScore.setStatus("答错"); + } synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore); } else if ("投资规划".equals(type)) { //根据caseid和userId查询case_Financial_Ratios表 @@ -1261,6 +1313,11 @@ public class GradeController { List scoreList = synthesisPlanScoreMapper.selectByExample(scoreExample); SynthesisPlanScore synthesisPlanScore = scoreList.get(0); synthesisPlanScore.setScore(teacherScore); + if(teacherScore.compareTo(BigDecimal.ZERO)>0){ + synthesisPlanScore.setStatus("答对"); + }else { + synthesisPlanScore.setStatus("答错"); + } synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore); } else if ("税务筹划".equals(type)) { //根据caseid和userId查询case_Financial_Ratios表 @@ -1294,6 +1351,11 @@ public class GradeController { List scoreList = synthesisPlanScoreMapper.selectByExample(scoreExample); SynthesisPlanScore synthesisPlanScore = scoreList.get(0); synthesisPlanScore.setScore(teacherScore); + if(teacherScore.compareTo(BigDecimal.ZERO)>0){ + synthesisPlanScore.setStatus("答对"); + }else { + synthesisPlanScore.setStatus("答错"); + } synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore); } else if ("财产分配".equals(type)) { //根据caseid和userId查询case_Financial_Ratios表 @@ -1342,12 +1404,22 @@ public class GradeController { List scoreList = synthesisPlanScoreMapper.selectByExample(scoreExample); SynthesisPlanScore synthesisPlanScore = scoreList.get(0); synthesisPlanScore.setScore(teacherScore1); + if(teacherScore1.compareTo(BigDecimal.ZERO)>0){ + synthesisPlanScore.setStatus("答对"); + }else { + synthesisPlanScore.setStatus("答错"); + } synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore); SynthesisPlanScoreExample scoreExample2 = new SynthesisPlanScoreExample(); scoreExample2.createCriteria().andCaseidEqualTo(caseid).andUseridEqualTo(userid).andManageMoneyMattersTypeEqualTo("财产分配").andTestCenterEqualTo("财产分配规划分析"); List scoreList2 = synthesisPlanScoreMapper.selectByExample(scoreExample2); SynthesisPlanScore synthesisPlanScore2 = scoreList2.get(0); synthesisPlanScore2.setScore(teacherScore2); + if(teacherScore2.compareTo(BigDecimal.ZERO)>0){ + synthesisPlanScore2.setStatus("答对"); + }else { + synthesisPlanScore2.setStatus("答错"); + } synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore2); } else if ("财产传承".equals(type)) { //根据caseid和userId查询case_Financial_Ratios表 @@ -1381,11 +1453,18 @@ public class GradeController { List scoreList2 = synthesisPlanScoreMapper.selectByExample(scoreExample2); SynthesisPlanScore synthesisPlanScore2 = scoreList2.get(0); synthesisPlanScore2.setScore(teacherScore2); + if(teacherScore2.compareTo(BigDecimal.ZERO)>0){ + synthesisPlanScore2.setStatus("答对"); + }else { + synthesisPlanScore2.setStatus("答错"); + } synthesisPlanScoreMapper.updateByPrimaryKey(synthesisPlanScore2); } else { continue; } } + client.setSubmitStatus("已审核"); + synthesisPlanClientMapper.updateByPrimaryKeySelective(client); } return new ResultEntity(HttpStatus.OK, "一键评分成功"); } @@ -1398,10 +1477,14 @@ public class GradeController { // regularYear 定期定额投资年份 Integer regularMonth = regularYear * 12; //定期定额投资月份 n //单笔投资的终值 FV=PV*(1+r)^n FV终值 PV一次性投入金额 r预计投资收益率 n定期定额投资月份 - BigDecimal dbFV = disposableInput.multiply((BigDecimal.ONE.add(returnOnInvestment)).pow(regularMonth)); + BigDecimal dbFV = disposableInput.multiply((BigDecimal.ONE.add(returnOnInvestment)).pow(regularMonth)).setScale(2,BigDecimal.ROUND_HALF_UP); //普通年金的终值 FV=PMT*(((1+r)^n)-1)/r PMT 每月定期投资金额 r预计投资收益率 n定期定额投资月份 - BigDecimal ptFV = monthlyInvestment.divide(((((BigDecimal.ONE.add(returnOnInvestment)).pow(regularMonth)).subtract(BigDecimal.ONE)).divide(returnOnInvestment))); - BigDecimal answer = dbFV.add(ptFV); + BigDecimal ptFV = monthlyInvestment.multiply(((((BigDecimal.ONE.add(returnOnInvestment)).pow(regularMonth)).subtract(BigDecimal.ONE)).divide(returnOnInvestment))); +// BigDecimal pow = BigDecimal.ONE.add(returnOnInvestment).pow(regularMonth); +// BigDecimal subtract = pow.subtract(BigDecimal.ONE); +// BigDecimal divide = monthlyInvestment.multiply(subtract); +// divide + BigDecimal answer = dbFV.add(ptFV).setScale(2,BigDecimal.ROUND_HALF_UP); return answer; } diff --git a/src/main/java/com/sztzjy/money_management/controller/KnowledgePointController.java b/src/main/java/com/sztzjy/money_management/controller/KnowledgePointController.java new file mode 100644 index 0000000..54cea18 --- /dev/null +++ b/src/main/java/com/sztzjy/money_management/controller/KnowledgePointController.java @@ -0,0 +1,66 @@ +package com.sztzjy.money_management.controller; + +import com.sztzjy.money_management.annotation.AnonymousAccess; +import com.sztzjy.money_management.entity.KnowledgePoint; +import com.sztzjy.money_management.entity.KnowledgePointExample; +import com.sztzjy.money_management.mapper.KnowledgePointMapper; +import com.sztzjy.money_management.util.ResultEntity; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@Api(tags = "知识点相关接口") +@RequestMapping("api/knowledgePoint") +public class KnowledgePointController { + @Autowired + KnowledgePointMapper knowledgePointMapper; + + @PostMapping("/insertKnowledgePoint") + @ApiOperation("知识点新增/编辑") + @AnonymousAccess + private ResultEntity insertKnowledgePoint(@RequestBody KnowledgePoint knowledgePoint) { + String knowledgePointName = knowledgePoint.getKnowledgePointName(); + KnowledgePointExample pointExample = new KnowledgePointExample(); + pointExample.createCriteria().andKnowledgePointNameEqualTo(knowledgePointName); + List knowledgePoints = knowledgePointMapper.selectByExample(pointExample); + if(knowledgePoints.isEmpty()){ + int insert = knowledgePointMapper.insert(knowledgePoint); + if (insert==1){ + return new ResultEntity(HttpStatus.OK, "新增成功!"); + }else { + return new ResultEntity(HttpStatus.BAD_REQUEST, "新增失败!"); + } + }else { + int i = knowledgePointMapper.updateByPrimaryKey(knowledgePoint); + if (i==1){ + return new ResultEntity(HttpStatus.OK, "编辑成功!"); + }else { + return new ResultEntity(HttpStatus.BAD_REQUEST, "编辑失败!"); + } + } + + } + + + @PostMapping("/getKnowledgePoint") + @ApiOperation("知识点展示") + @AnonymousAccess + private ResultEntity getKnowledgePoint(@RequestParam String knowledgePointName) { + KnowledgePoint knowledgePoint = knowledgePointMapper.selectByPrimaryKey(knowledgePointName); + return new ResultEntity<>(knowledgePoint); + } + + @PostMapping("/getKnowledgePointMulu") + @ApiOperation("知识点左侧栏展示") + @AnonymousAccess + private ResultEntity> getKnowledgePointMulu() { + KnowledgePointExample knowledgePointExample = new KnowledgePointExample(); + List nameList = knowledgePointMapper.selectNameList(); + return new ResultEntity<>(nameList); + } +} diff --git a/src/main/java/com/sztzjy/money_management/controller/SynthesisPlanController.java b/src/main/java/com/sztzjy/money_management/controller/SynthesisPlanController.java index 0cadae7..df6854b 100644 --- a/src/main/java/com/sztzjy/money_management/controller/SynthesisPlanController.java +++ b/src/main/java/com/sztzjy/money_management/controller/SynthesisPlanController.java @@ -276,8 +276,8 @@ public class SynthesisPlanController { PageHelper.startPage(index, size); SynthesisPlanScoreExample example = new SynthesisPlanScoreExample(); example.createCriteria().andCaseidEqualTo(caseId).andUseridEqualTo(userId); - List synthesisPlanScores = synthesisPlanScoreMapper.selectByExample(example); - PageInfo pageInfo = new PageInfo<>(synthesisPlanScores); + List synthesisPlanScores = synthesisPlanScoreMapper.selectByExampleWithBLOBs(example); + PageInfo pageInfo = new PageInfo<>(synthesisPlanScores); SynthesisPlanScoreDto synthesisPlanScoreDto = new SynthesisPlanScoreDto(); synthesisPlanScoreDto.setContent(pageInfo); //根据userID获取学号和姓名 diff --git a/src/main/java/com/sztzjy/money_management/controller/common/StatisticsController.java b/src/main/java/com/sztzjy/money_management/controller/common/StatisticsController.java index 91876ac..dc7a13f 100644 --- a/src/main/java/com/sztzjy/money_management/controller/common/StatisticsController.java +++ b/src/main/java/com/sztzjy/money_management/controller/common/StatisticsController.java @@ -89,12 +89,16 @@ public class StatisticsController { @AnonymousAccess @GetMapping("/getStuTrainingScoreTrend") @ApiOperation("学生端 -成绩走势") - public ResultEntity> getStuTrainingScoreTrend(@RequestParam String userId,@RequestParam String classId){ + public ResultEntity> getStuTrainingScoreTrend(@RequestParam String userId,@RequestParam String classId,@RequestParam String schoolId){ //根据schoolID 查询score_rank表第一名和最后一名 并根据userId 查询本学生的成绩 ScoreRankExample scoreRankExample = new ScoreRankExample(); scoreRankExample.createCriteria().andClassIdEqualTo(classId).andUpdateDateEqualTo(scoreRankService.getNowDate().trim()); scoreRankExample.setOrderByClause("khal_score desc"); List scoreRankList = scoreRankMapper.selectByExample(scoreRankExample); + if(scoreRankList.isEmpty()){ //代表成绩还没更新 + scoreRankService.doRankOne(schoolId); + scoreRankList = scoreRankMapper.selectByExample(scoreRankExample); + } String firstUserId = scoreRankList.get(0).getUserid(); //第一名UserId String endUserId = scoreRankList.get(scoreRankList.size() - 1).getUserid();//最后一名UserId diff --git a/src/main/java/com/sztzjy/money_management/entity/KnowledgePoint.java b/src/main/java/com/sztzjy/money_management/entity/KnowledgePoint.java new file mode 100644 index 0000000..4940a48 --- /dev/null +++ b/src/main/java/com/sztzjy/money_management/entity/KnowledgePoint.java @@ -0,0 +1,42 @@ +package com.sztzjy.money_management.entity; + +import io.swagger.annotations.ApiModelProperty; +/** + * + * @author xcj + * knowledge_point + */ +public class KnowledgePoint { + @ApiModelProperty("知识点名称") + private String knowledgePointName; + + @ApiModelProperty("知识点内容") + private String knowledgePoint; + + @ApiModelProperty("排序") + private Integer sort; + + public String getKnowledgePointName() { + return knowledgePointName; + } + + public void setKnowledgePointName(String knowledgePointName) { + this.knowledgePointName = knowledgePointName == null ? null : knowledgePointName.trim(); + } + + public String getKnowledgePoint() { + return knowledgePoint; + } + + public void setKnowledgePoint(String knowledgePoint) { + this.knowledgePoint = knowledgePoint == null ? null : knowledgePoint.trim(); + } + + public Integer getSort() { + return sort; + } + + public void setSort(Integer sort) { + this.sort = sort; + } +} \ No newline at end of file diff --git a/src/main/java/com/sztzjy/money_management/entity/KnowledgePointExample.java b/src/main/java/com/sztzjy/money_management/entity/KnowledgePointExample.java new file mode 100644 index 0000000..6dff16e --- /dev/null +++ b/src/main/java/com/sztzjy/money_management/entity/KnowledgePointExample.java @@ -0,0 +1,399 @@ +package com.sztzjy.money_management.entity; + +import java.util.ArrayList; +import java.util.List; + +public class KnowledgePointExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public KnowledgePointExample() { + oredCriteria = new ArrayList<>(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList<>(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andKnowledgePointNameIsNull() { + addCriterion("knowledge_point_name is null"); + return (Criteria) this; + } + + public Criteria andKnowledgePointNameIsNotNull() { + addCriterion("knowledge_point_name is not null"); + return (Criteria) this; + } + + public Criteria andKnowledgePointNameEqualTo(String value) { + addCriterion("knowledge_point_name =", value, "knowledgePointName"); + return (Criteria) this; + } + + public Criteria andKnowledgePointNameNotEqualTo(String value) { + addCriterion("knowledge_point_name <>", value, "knowledgePointName"); + return (Criteria) this; + } + + public Criteria andKnowledgePointNameGreaterThan(String value) { + addCriterion("knowledge_point_name >", value, "knowledgePointName"); + return (Criteria) this; + } + + public Criteria andKnowledgePointNameGreaterThanOrEqualTo(String value) { + addCriterion("knowledge_point_name >=", value, "knowledgePointName"); + return (Criteria) this; + } + + public Criteria andKnowledgePointNameLessThan(String value) { + addCriterion("knowledge_point_name <", value, "knowledgePointName"); + return (Criteria) this; + } + + public Criteria andKnowledgePointNameLessThanOrEqualTo(String value) { + addCriterion("knowledge_point_name <=", value, "knowledgePointName"); + return (Criteria) this; + } + + public Criteria andKnowledgePointNameLike(String value) { + addCriterion("knowledge_point_name like", value, "knowledgePointName"); + return (Criteria) this; + } + + public Criteria andKnowledgePointNameNotLike(String value) { + addCriterion("knowledge_point_name not like", value, "knowledgePointName"); + return (Criteria) this; + } + + public Criteria andKnowledgePointNameIn(List values) { + addCriterion("knowledge_point_name in", values, "knowledgePointName"); + return (Criteria) this; + } + + public Criteria andKnowledgePointNameNotIn(List values) { + addCriterion("knowledge_point_name not in", values, "knowledgePointName"); + return (Criteria) this; + } + + public Criteria andKnowledgePointNameBetween(String value1, String value2) { + addCriterion("knowledge_point_name between", value1, value2, "knowledgePointName"); + return (Criteria) this; + } + + public Criteria andKnowledgePointNameNotBetween(String value1, String value2) { + addCriterion("knowledge_point_name not between", value1, value2, "knowledgePointName"); + return (Criteria) this; + } + + public Criteria andKnowledgePointIsNull() { + addCriterion("knowledge_point is null"); + return (Criteria) this; + } + + public Criteria andKnowledgePointIsNotNull() { + addCriterion("knowledge_point is not null"); + return (Criteria) this; + } + + public Criteria andKnowledgePointEqualTo(String value) { + addCriterion("knowledge_point =", value, "knowledgePoint"); + return (Criteria) this; + } + + public Criteria andKnowledgePointNotEqualTo(String value) { + addCriterion("knowledge_point <>", value, "knowledgePoint"); + return (Criteria) this; + } + + public Criteria andKnowledgePointGreaterThan(String value) { + addCriterion("knowledge_point >", value, "knowledgePoint"); + return (Criteria) this; + } + + public Criteria andKnowledgePointGreaterThanOrEqualTo(String value) { + addCriterion("knowledge_point >=", value, "knowledgePoint"); + return (Criteria) this; + } + + public Criteria andKnowledgePointLessThan(String value) { + addCriterion("knowledge_point <", value, "knowledgePoint"); + return (Criteria) this; + } + + public Criteria andKnowledgePointLessThanOrEqualTo(String value) { + addCriterion("knowledge_point <=", value, "knowledgePoint"); + return (Criteria) this; + } + + public Criteria andKnowledgePointLike(String value) { + addCriterion("knowledge_point like", value, "knowledgePoint"); + return (Criteria) this; + } + + public Criteria andKnowledgePointNotLike(String value) { + addCriterion("knowledge_point not like", value, "knowledgePoint"); + return (Criteria) this; + } + + public Criteria andKnowledgePointIn(List values) { + addCriterion("knowledge_point in", values, "knowledgePoint"); + return (Criteria) this; + } + + public Criteria andKnowledgePointNotIn(List values) { + addCriterion("knowledge_point not in", values, "knowledgePoint"); + return (Criteria) this; + } + + public Criteria andKnowledgePointBetween(String value1, String value2) { + addCriterion("knowledge_point between", value1, value2, "knowledgePoint"); + return (Criteria) this; + } + + public Criteria andKnowledgePointNotBetween(String value1, String value2) { + addCriterion("knowledge_point not between", value1, value2, "knowledgePoint"); + return (Criteria) this; + } + + public Criteria andSortIsNull() { + addCriterion("sort is null"); + return (Criteria) this; + } + + public Criteria andSortIsNotNull() { + addCriterion("sort is not null"); + return (Criteria) this; + } + + public Criteria andSortEqualTo(Integer value) { + addCriterion("sort =", value, "sort"); + return (Criteria) this; + } + + public Criteria andSortNotEqualTo(Integer value) { + addCriterion("sort <>", value, "sort"); + return (Criteria) this; + } + + public Criteria andSortGreaterThan(Integer value) { + addCriterion("sort >", value, "sort"); + return (Criteria) this; + } + + public Criteria andSortGreaterThanOrEqualTo(Integer value) { + addCriterion("sort >=", value, "sort"); + return (Criteria) this; + } + + public Criteria andSortLessThan(Integer value) { + addCriterion("sort <", value, "sort"); + return (Criteria) this; + } + + public Criteria andSortLessThanOrEqualTo(Integer value) { + addCriterion("sort <=", value, "sort"); + return (Criteria) this; + } + + public Criteria andSortIn(List values) { + addCriterion("sort in", values, "sort"); + return (Criteria) this; + } + + public Criteria andSortNotIn(List values) { + addCriterion("sort not in", values, "sort"); + return (Criteria) this; + } + + public Criteria andSortBetween(Integer value1, Integer value2) { + addCriterion("sort between", value1, value2, "sort"); + return (Criteria) this; + } + + public Criteria andSortNotBetween(Integer value1, Integer value2) { + addCriterion("sort not between", value1, value2, "sort"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/sztzjy/money_management/entity/dto/SynthesisPlanScoreDto.java b/src/main/java/com/sztzjy/money_management/entity/dto/SynthesisPlanScoreDto.java index 6a353e2..7e5485d 100644 --- a/src/main/java/com/sztzjy/money_management/entity/dto/SynthesisPlanScoreDto.java +++ b/src/main/java/com/sztzjy/money_management/entity/dto/SynthesisPlanScoreDto.java @@ -2,6 +2,7 @@ package com.sztzjy.money_management.entity.dto; import com.github.pagehelper.PageInfo; import com.sztzjy.money_management.entity.SynthesisPlanScore; +import com.sztzjy.money_management.entity.SynthesisPlanScoreWithBLOBs; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.NoArgsConstructor; @@ -23,5 +24,5 @@ public class SynthesisPlanScoreDto { private Double totalScore; @ApiModelProperty("审核内容") - private PageInfo content; + private PageInfo content; } diff --git a/src/main/java/com/sztzjy/money_management/mapper/KnowledgePointMapper.java b/src/main/java/com/sztzjy/money_management/mapper/KnowledgePointMapper.java new file mode 100644 index 0000000..cc8426a --- /dev/null +++ b/src/main/java/com/sztzjy/money_management/mapper/KnowledgePointMapper.java @@ -0,0 +1,37 @@ +package com.sztzjy.money_management.mapper; + +import com.sztzjy.money_management.entity.KnowledgePoint; +import com.sztzjy.money_management.entity.KnowledgePointExample; +import java.util.List; + +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +@Mapper +public interface KnowledgePointMapper { + long countByExample(KnowledgePointExample example); + + int deleteByExample(KnowledgePointExample example); + + int deleteByPrimaryKey(String knowledgePointName); + + int insert(KnowledgePoint record); + + int insertSelective(KnowledgePoint record); + + List selectByExample(KnowledgePointExample example); + + KnowledgePoint selectByPrimaryKey(String knowledgePointName); + + int updateByExampleSelective(@Param("record") KnowledgePoint record, @Param("example") KnowledgePointExample example); + + int updateByExample(@Param("record") KnowledgePoint record, @Param("example") KnowledgePointExample example); + + int updateByPrimaryKeySelective(KnowledgePoint record); + + int updateByPrimaryKey(KnowledgePoint record); + + + @Select("select knowledge_point_name from knowledge_point") + List selectNameList(); +} \ No newline at end of file diff --git a/src/main/java/com/sztzjy/money_management/service/impl/ScoreRankServiceImpl.java b/src/main/java/com/sztzjy/money_management/service/impl/ScoreRankServiceImpl.java index 047c32c..87d1d62 100644 --- a/src/main/java/com/sztzjy/money_management/service/impl/ScoreRankServiceImpl.java +++ b/src/main/java/com/sztzjy/money_management/service/impl/ScoreRankServiceImpl.java @@ -214,7 +214,7 @@ public class ScoreRankServiceImpl implements ScoreRankService { .collect(Collectors.toList()); for (int j = 0; j < zhghSortedList.size(); j++) { - zhghSortedList.get(j).setKhalRank(j + 1); + zhghSortedList.get(j).setZhghRank(j + 1); } //理论考核排序 @@ -223,7 +223,7 @@ public class ScoreRankServiceImpl implements ScoreRankService { .collect(Collectors.toList()); for (int j = 0; j < llkhSortedList.size(); j++) { - llkhSortedList.get(j).setKhalRank(j + 1); + llkhSortedList.get(j).setLlkhRank(j + 1); } //保存到数据库 @@ -461,7 +461,7 @@ public class ScoreRankServiceImpl implements ScoreRankService { .collect(Collectors.toList()); for (int j = 0; j < zhghSortedList.size(); j++) { - zhghSortedList.get(j).setKhalRank(j + 1); + zhghSortedList.get(j).setZhghRank(j + 1); } //理论考核排序 @@ -470,7 +470,7 @@ public class ScoreRankServiceImpl implements ScoreRankService { .collect(Collectors.toList()); for (int j = 0; j < llkhSortedList.size(); j++) { - llkhSortedList.get(j).setKhalRank(j + 1); + llkhSortedList.get(j).setLlkhRank(j + 1); } //保存到数据库 diff --git a/src/main/resources/mapper/KnowledgePointMapper.xml b/src/main/resources/mapper/KnowledgePointMapper.xml new file mode 100644 index 0000000..376f3ea --- /dev/null +++ b/src/main/resources/mapper/KnowledgePointMapper.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + 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} + + + + + + + + + + + knowledge_point_name, knowledge_point, sort + + + + + delete from knowledge_point + where knowledge_point_name = #{knowledgePointName,jdbcType=VARCHAR} + + + delete from knowledge_point + + + + + + insert into knowledge_point (knowledge_point_name, knowledge_point, + sort) + values (#{knowledgePointName,jdbcType=VARCHAR}, #{knowledgePoint,jdbcType=VARCHAR}, + #{sort,jdbcType=INTEGER}) + + + insert into knowledge_point + + + knowledge_point_name, + + + knowledge_point, + + + sort, + + + + + #{knowledgePointName,jdbcType=VARCHAR}, + + + #{knowledgePoint,jdbcType=VARCHAR}, + + + #{sort,jdbcType=INTEGER}, + + + + + + update knowledge_point + + + knowledge_point_name = #{record.knowledgePointName,jdbcType=VARCHAR}, + + + knowledge_point = #{record.knowledgePoint,jdbcType=VARCHAR}, + + + sort = #{record.sort,jdbcType=INTEGER}, + + + + + + + + update knowledge_point + set knowledge_point_name = #{record.knowledgePointName,jdbcType=VARCHAR}, + knowledge_point = #{record.knowledgePoint,jdbcType=VARCHAR}, + sort = #{record.sort,jdbcType=INTEGER} + + + + + + update knowledge_point + + + knowledge_point = #{knowledgePoint,jdbcType=VARCHAR}, + + + sort = #{sort,jdbcType=INTEGER}, + + + where knowledge_point_name = #{knowledgePointName,jdbcType=VARCHAR} + + + update knowledge_point + set knowledge_point = #{knowledgePoint,jdbcType=VARCHAR}, + sort = #{sort,jdbcType=INTEGER} + where knowledge_point_name = #{knowledgePointName,jdbcType=VARCHAR} + + \ No newline at end of file