From 64a365560444242ecf46aa783932e7a27db0d72b Mon Sep 17 00:00:00 2001 From: zhouwentao <1577701412@qq.com> Date: Fri, 15 Mar 2024 23:11:42 +0800 Subject: [PATCH] updates --- .../mini/controller/MiniVipController.java | 2 +- .../modules/mini/service/MiniUserService.java | 2 +- .../jeecg/modules/yx/constant/YxConstant.java | 3 +++ .../yx/controller/YxScoreController.java | 4 +-- .../controller/YxScoreSegmentController.java | 3 ++- .../modules/yx/service/impl/MusicService.java | 11 +++++--- .../modules/yx/service/impl/WuDaoService.java | 26 ++++++++++++++----- .../impl/YxSchoolMajorServiceImpl.java | 1 + .../impl/YxScoreSegmentServiceImpl.java | 2 ++ 9 files changed, 40 insertions(+), 14 deletions(-) diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mini/controller/MiniVipController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mini/controller/MiniVipController.java index 96442b2..ba296c8 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mini/controller/MiniVipController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mini/controller/MiniVipController.java @@ -79,7 +79,7 @@ public class MiniVipController { AssertUtils.isTrue(cardValid,"当前卡密无效或已被使用"); YxVipCard yxVipCard = yxVipCardService.getOne(new LambdaQueryWrapper().eq(YxVipCard::getCardNum, card)); VipDTO userVip = miniUserService.getUserVip(user.getId()); - if (userVip!=null) { + if (userVip!=null && userVip.getVipLevel()!=0) { if (userVip.getSkuCode().equals(yxVipCard.getSkuCode())) { throw new JeecgBootException("该类型激活码您已重复使用"); } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mini/service/MiniUserService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mini/service/MiniUserService.java index 09a6413..822fa96 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mini/service/MiniUserService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mini/service/MiniUserService.java @@ -92,7 +92,7 @@ public class MiniUserService { vipDTO.setVipLevel(3); }else if("1004".equals(skuCode)){ vipDTO.setVipLevel(4); - }else{ + }else if("9999".equals(skuCode)){ vipDTO.setVipLevel(9); } YxVipSku vipSku = yxVipSkuService.getBySkuCode(skuCode); diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/constant/YxConstant.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/constant/YxConstant.java index 83c921b..df6c4cc 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/constant/YxConstant.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/constant/YxConstant.java @@ -64,4 +64,7 @@ public class YxConstant { //当天最多修改成绩次数 public static final Integer todayMaxEditScoreCount =5; + public static BigDecimal bigDecimal1 = new BigDecimal("1"); + public static BigDecimal bigDecimal175= new BigDecimal("175"); + public static BigDecimal bigDecimal50=new BigDecimal("50"); } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxScoreController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxScoreController.java index 9ea1257..53ad6bd 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxScoreController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxScoreController.java @@ -127,7 +127,7 @@ public class YxScoreController { //表演类型的方向 if ("舞蹈类".equals(professionalCategory)) { //舞蹈类使用艺术舞蹈的省控线判定批次 - lambdaQueryWrapper.eq(YxHistoryScoreControlLine::getProfessionalCategory,"艺术舞蹈类"); + lambdaQueryWrapper.eq(YxHistoryScoreControlLine::getProfessionalCategory,"舞蹈类"); }else{ lambdaQueryWrapper.eq(YxHistoryScoreControlLine::getProfessionalCategory,professionalCategory); } @@ -137,7 +137,7 @@ public class YxScoreController { //24年分数转换折合23年分数 YxScoreSegment scoreSegment = null; if ("舞蹈类".equals(professionalCategory)) { - scoreSegment = yxScoreSegmentService.checkOldYearScore(YxConstant.nowYear, professionalScore, professionalCategory,"艺术舞蹈", yxUserScore.getProvince()); + scoreSegment = yxScoreSegmentService.checkOldYearScore(YxConstant.nowYear, professionalScore, professionalCategory,null, yxUserScore.getProvince()); professionalScore = scoreSegment.getScore(); }else if("音乐类".equals(professionalCategory)){ if (!professionalCategoryChildren.contains("器乐")) { diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxScoreSegmentController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxScoreSegmentController.java index a11bf79..a95d953 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxScoreSegmentController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/controller/YxScoreSegmentController.java @@ -279,7 +279,7 @@ public class YxScoreSegmentController extends JeecgController test() { String year = "2023"; - String professionalCategory = "表演类"; + String professionalCategory = "舞蹈类"; String professionalCategoryChild=null; String province = "河南"; LambdaQueryWrapper yxScoreSegmentLambdaQueryWrapper = new LambdaQueryWrapper<>(); @@ -289,6 +289,7 @@ public class YxScoreSegmentController extends JeecgController list = yxScoreSegmentService.list(yxScoreSegmentLambdaQueryWrapper); List scoreSegmentNextAddList=new ArrayList<>(); //根据5分一段表,遍历,折算出每个段位内4分的占比 diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/MusicService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/MusicService.java index 0dba158..2e40b42 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/MusicService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/MusicService.java @@ -216,10 +216,15 @@ public class MusicService { differenceMap = ScoreUtil.computeHistoryMajorEnrollScoreLineDifferenceWithRulesEnrollProbability(rulesEnrollProbability, historyMajorEnrollList); historyThreeYearDiff = (BigDecimal) differenceMap.get("scoreDifference"); nowYearDiff = studentScore.subtract(nowYearProvincialControlLine); - if (historyThreeYearDiff == null || historyThreeYearDiff.doubleValue() == 0) { - continue; + if (historyThreeYearDiff.compareTo(YxConstant.bigDecimal0)==0) { + enrollProbability = nowYearDiff.multiply(YxConstant.bigDecimal100); + }else{ + if (historyThreeYearDiff == null || historyThreeYearDiff.doubleValue() == 0) { + continue; + } + enrollProbability = nowYearDiff.divide(historyThreeYearDiff, 4, RoundingMode.HALF_UP).multiply(YxConstant.bigDecimal100); } - enrollProbability = nowYearDiff.divide(historyThreeYearDiff, 4, RoundingMode.HALF_UP).multiply(YxConstant.bigDecimal100); + } //录取方式计算 //录取率*0.75 diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/WuDaoService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/WuDaoService.java index 818d35e..3e6b186 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/WuDaoService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/WuDaoService.java @@ -68,9 +68,9 @@ public class WuDaoService { //=====================分数转换 start if ("2024".equals(YxConstant.nowYear)) { YxScoreSegment scoreSegment = null; - scoreSegment = yxScoreSegmentService.checkOldYearScore(YxConstant.nowYear, professionalScore, professionalCategory, "艺术舞蹈", activeCurrentUserScore.getProvince()); + scoreSegment = yxScoreSegmentService.checkOldYearScore(YxConstant.nowYear, professionalScore, professionalCategory, null, activeCurrentUserScore.getProvince()); yswd = scoreSegment.getScore(); - scoreSegment = yxScoreSegmentService.checkOldYearScore(YxConstant.nowYear, professionalScore, professionalCategory, "国际标准舞", activeCurrentUserScore.getProvince()); + scoreSegment = yxScoreSegmentService.checkOldYearScore(YxConstant.nowYear, professionalScore, professionalCategory, null, activeCurrentUserScore.getProvince()); gjbzw = scoreSegment.getScore(); } @@ -148,6 +148,8 @@ public class WuDaoService { recommendMajorDTO.setEnrollProbability(enrollProbability); recommendMajorDTO.setRulesEnrollProbability(ScoreUtil.replaceLastZeroChar(rulesEnrollProbability)); recommendMajorDTO.setProbabilityOperator(ScoreUtil.replaceLastZeroChar(probabilityOperator)); + enrollProbability = enrollProbability.multiply(YxConstant.bigDecimal075); + } else { nowYearProvincialControlLine = ScoreUtil.covertIntoControlLine(rulesEnrollProbability, culturalControlLine, specialControlLine, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator); if (nowYearProvincialControlLine == null) { @@ -159,14 +161,26 @@ public class WuDaoService { differenceMap = ScoreUtil.computeHistoryMajorEnrollScoreLineDifferenceWithRulesEnrollProbability(rulesEnrollProbability, historyMajorEnrollList); historyThreeYearDiff = (BigDecimal) differenceMap.get("scoreDifference"); nowYearDiff = studentScore.subtract(nowYearProvincialControlLine); - if (historyThreeYearDiff == null || historyThreeYearDiff.doubleValue() == 0) { + if(nowYearDiff.compareTo(YxConstant.bigDecimal0)==0 && (historyThreeYearDiff == null || historyThreeYearDiff.doubleValue() == 0)) { + //当前年分差为0,并且 前年的分差也为0 + enrollProbability = YxConstant.bigDecimal50;//录取率50 + }else if (historyThreeYearDiff == null || historyThreeYearDiff.doubleValue() == 0) { continue; + } else if(nowYearDiff.compareTo(YxConstant.bigDecimal0)==0 && historyThreeYearDiff.compareTo(YxConstant.bigDecimal0)>0){ + //当前年分差为0,但是之前年分差大于零0 + enrollProbability = YxConstant.bigDecimal1.divide(historyThreeYearDiff,4,RoundingMode.HALF_UP).multiply(YxConstant.bigDecimal100); + if (historyThreeYearDiff.compareTo(YxConstant.bigDecimal1)==0) { + //如果历年分差为1,再乘0.75 + enrollProbability = enrollProbability.multiply(YxConstant.bigDecimal075); + } + }else{ + enrollProbability = nowYearDiff.divide(historyThreeYearDiff, 4, RoundingMode.HALF_UP).multiply(YxConstant.bigDecimal100); + //录取率*0.75 + enrollProbability = enrollProbability.multiply(YxConstant.bigDecimal075); } - enrollProbability = nowYearDiff.divide(historyThreeYearDiff, 4, RoundingMode.HALF_UP).multiply(YxConstant.bigDecimal100); + } //录取方式计算 - //录取率*0.75 - enrollProbability = enrollProbability.multiply(YxConstant.bigDecimal075); if (enrollProbability.compareTo(YxConstant.bigDecimal150) > 0) { enrollProbability = YxConstant.bigDecimal95x; } else if (enrollProbability.compareTo(YxConstant.bigDecimal100) > 0) { diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxSchoolMajorServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxSchoolMajorServiceImpl.java index b80d1be..ca7ff4e 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxSchoolMajorServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxSchoolMajorServiceImpl.java @@ -147,6 +147,7 @@ public class YxSchoolMajorServiceImpl extends ServiceImpl yxHistoryMajorEnrollList = yxHistoryMajorEnrollService.list(hmeWrapper); diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxScoreSegmentServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxScoreSegmentServiceImpl.java index aa22bab..27972ed 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxScoreSegmentServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/yx/service/impl/YxScoreSegmentServiceImpl.java @@ -93,6 +93,8 @@ public class YxScoreSegmentServiceImpl extends ServiceImpl