diff --git a/ruoyi-system/src/main/java/com/ruoyi/mall/mapper/MallSchoolAcceptMapper.java b/ruoyi-system/src/main/java/com/ruoyi/mall/mapper/MallSchoolAcceptMapper.java index b241ee5e4e7f37bc5eee652c543df0977e86e972..639a4d11c8b9b878d5b6eb05da531f849d2254b7 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/mall/mapper/MallSchoolAcceptMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/mall/mapper/MallSchoolAcceptMapper.java @@ -77,6 +77,7 @@ public interface MallSchoolAcceptMapper * @return 结果 */ public int deleteMallSchoolAcceptBySchoolAcceptIds(Long[] schoolAcceptIds); + public int insertByList(List schoolAcceptIds); /** * 专业查询近三年录取记录 diff --git a/ruoyi-system/src/main/java/com/ruoyi/mall/service/impl/MallSchoolServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/mall/service/impl/MallSchoolServiceImpl.java index 3d586a6e5675f117145aff29016c8a63390ccecf..4e2139e8bc11764802fb61540070830d52170646 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/mall/service/impl/MallSchoolServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/mall/service/impl/MallSchoolServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.mall.service.impl; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.collection.ListUtil; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -14,6 +15,7 @@ import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.weixin.utils.WeiXinUtils; import com.ruoyi.mall.domain.*; import com.ruoyi.mall.domain.Bo.CheckingOutParamBo; +import com.ruoyi.mall.domain.Bo.MallSchoolExcelBo; import com.ruoyi.mall.domain.Bo.MatchSchoolBO; import com.ruoyi.mall.domain.Vo.*; import com.ruoyi.mall.mapper.*; @@ -29,6 +31,8 @@ import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.mapper.SysUserRoleMapper; import com.ruoyi.system.service.ISysUserService; import org.apache.commons.lang3.ObjectUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.security.core.parameters.P; import org.springframework.stereotype.Service; @@ -49,93 +53,65 @@ import java.util.stream.Stream; */ @Service public class MallSchoolServiceImpl implements IMallSchoolService { + private static final Logger log = LoggerFactory.getLogger(MallSchoolServiceImpl.class); @Resource private MallSchoolMapper mallSchoolMapper; - @Resource private MallFacultyInfoMapper mallFacultyInfoMapper; - @Resource private MallMajorClassMapper mallMajorClassMapper; - @Resource private MallSchoolIntroduceMapper mallSchoolIntroduceMapper; - @Resource private MallSchoolSceneryMapper mallSchoolSceneryMapper; - @Resource private MallSchoolTagMapper mallSchoolTagMapper; - @Resource private MallSchoolAcceptRecordMapper mallSchoolAcceptRecordMapper; - @Resource private MallSchoolAcceptMapper mallSchoolAcceptMapper; - @Resource private MallSchoolAppraiseMapper mallSchoolAppraiseMapper; - @Resource private MallSchoolAcceptRulesMapper mallSchoolAcceptRulesMapper; - @Resource private MallAcceptPlanMapper mallAcceptPlanMapper; - @Resource private MallLinkMajorSchoolMapper mallLinkMajorSchoolMapper; - @Resource private MallBatchMapper mallBatchMapper; - @Resource private MallConfigLevelMapper mallConfigLevelMapper; - @Resource private MallCountMethodServiceImpl mallCountMethodService; - @Resource private MallMemberUserMapper mallMemberUserMapper; - @Resource private IMallMemberCollectSchoolService mallMemberCollectSchoolService; - @Resource private MallAcceptRateSettingMapper mallAcceptRateSettingMapper; - @Resource private MallMemberTargetSchoolMapper mallMemberTargetSchoolMapper; - @Resource private IContrastRecordService contrastRecordService; - @Resource private SetRegionMapper setRegionMapper; - @Resource private MallConfigTypeMapper mallConfigTypeMapper; - @Resource private ContrastRecordMapper contrastRecordMapper; - @Resource private MallSchoolMasterRecordMapper mallSchoolMasterRecordMapper; - @Resource private MallSchoolBatchLinkMapper mallSchoolBatchLinkMapper; - @Resource private MallSchoolLevelMapper mallSchoolLevelMapper; - @Resource private MallSubjectClassMapper mallSubjectClassMapper; - @Resource private MallAcceptRuleMapper mallAcceptRuleMapper; - @Resource private MallExamDataMapper mallExamDataMapper; - @Resource private WeiXinUtils weiXinUtils; @Resource @@ -143,6 +119,110 @@ public class MallSchoolServiceImpl implements IMallSchoolService { @Resource private SysUserRoleMapper sysUserRoleMapper; + @Override + public String importTestSchoolRecord(List list, boolean updateSupport) { + if (StringUtils.isNull(list) || list.size() == 0) { + throw new ServiceException("导入院校数据不能为空!"); + } + int successNum = 0; + int failureNum = 0; + Map> collect = list.stream().collect(Collectors.groupingBy(MallSchoolExcelBo::getSchoolName)); + List mallSchools = mallSchoolMapper.selectAllSchoolNames(ListUtil.toList(collect.keySet())); + if (CollectionUtil.isNotEmpty(mallSchools)) { + StringBuilder successMsg = new StringBuilder(); + StringBuilder failureMsg = new StringBuilder(); + Map mallSchoolMap = mallSchools.stream().collect(Collectors.toMap(MallSchool::getSchoolName, e -> e)); + List batchVOS = mallBatchMapper.selectAllBatchList(); + Map stringLongMap = batchVOS.stream().collect(Collectors.toMap(BatchVO::getBatchName, BatchVO::getBatchId)); + List mallMajorClasses = mallMajorClassMapper.selectAllMajorList(); + Map> listMap = mallMajorClasses.stream().collect(Collectors.groupingBy(MallMajorClass::getParentId)); + List majorClasses = listMap.get(0); + List mallLinkMajorSchools = mallLinkMajorSchoolMapper.selectAllList(); + Map majorSchoolMap = + mallLinkMajorSchools.stream().collect(Collectors.toMap(MallLinkMajorSchool::getSchoolId, e -> e)); + List mallAcceptRules = mallAcceptRuleMapper.selectMallAcceptRuleList(new MallAcceptRule()); + Map> mallAcceptRuleMap = + mallAcceptRules.stream().collect(Collectors.groupingBy(MallAcceptRule::getRuleClass)); + List mallSchoolAcceptRecordList = new ArrayList<>(); + List mallAcceptPlans = new ArrayList<>(); + List mallSchoolAccepts = new ArrayList<>(); + for (String s : collect.keySet()) { + MallSchool mallSchool = mallSchoolMap.get(s); + for (MallSchoolExcelBo mallSchoolExcelBo : collect.get(s)) { + try { + List mallAcceptRule = mallAcceptRuleMap.get(Integer.valueOf(mallSchoolExcelBo.getSubjectType())); + MallAcceptRule mallAcceptRule1 = mallAcceptRule.stream().filter(item -> + item.getRuleStr().equals(mallSchoolExcelBo.getRuleStr())).findFirst().orElse(null); + MallSchoolAcceptRecord mallSchoolAcceptRecord = new MallSchoolAcceptRecord(); + mallSchoolAcceptRecord.setSchoolId(mallSchool.getSchoolId()); + mallSchoolAcceptRecord.setBatchId(stringLongMap.get(mallSchoolExcelBo.getBatchName())); + mallSchoolAcceptRecord.setAcceptNum(Integer.valueOf(mallSchoolExcelBo.getAcceptNum())); + mallSchoolAcceptRecord.setAcceptYear(mallSchoolExcelBo.getAcceptYear()); + mallSchoolAcceptRecord.setAcceptLowest(new BigDecimal(mallSchoolExcelBo.getAcceptLowest())); + mallSchoolAcceptRecord.setCultureLowest(new BigDecimal(mallSchoolExcelBo.getCultureLowest())); + mallSchoolAcceptRecord.setMajorLowest(new BigDecimal(mallSchoolExcelBo.getMajorLowest())); + mallSchoolAcceptRecord.setSubjectType(mallSchoolExcelBo.getSubjectType()); + mallSchoolAcceptRecord.setAcceptRuleId(mallAcceptRule1.getAcceptRuleId()); + mallSchoolAcceptRecord.setCreateAt(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD_HH_MM_SS)); + mallSchoolAcceptRecord.setUpdateAt(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD_HH_MM_SS)); + mallSchoolAcceptRecordList.add(mallSchoolAcceptRecord); + + MallMajorClass mallMajorClass = majorClasses.stream().filter(item -> + item.getMajorName().equals(mallSchoolExcelBo.getMajorName1())).findFirst().orElse(null); + MallAcceptPlan mallAcceptPlan = new MallAcceptPlan(); + mallAcceptPlan.setSchoolId(mallSchool.getSchoolId()); + mallAcceptPlan.setBatchId(stringLongMap.get(mallSchoolExcelBo.getBatchName())); + mallAcceptPlan.setMajorId(mallMajorClass.getMajorId()); + mallAcceptPlan.setPlanYear(mallSchoolExcelBo.getAcceptYear()); + mallAcceptPlan.setAcceptRuleId(mallAcceptRule1.getAcceptRuleId()); + mallAcceptPlan.setSubjectType(Integer.valueOf(mallSchoolExcelBo.getSubjectType())); + mallAcceptPlan.setAcceptNum(Integer.valueOf(mallSchoolExcelBo.getAcceptNum())); + mallAcceptPlan.setAcceptLowest(new BigDecimal(mallSchoolExcelBo.getAcceptLowest())); + mallAcceptPlan.setSchoolPrice(new BigDecimal(mallSchoolExcelBo.getSchoolPrice())); + mallAcceptPlan.setLinkId(majorSchoolMap.get(mallSchool.getSchoolId()).getLinkId()); + mallAcceptPlan.setCreateAt(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD_HH_MM_SS)); + mallAcceptPlan.setUpdateAt(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD_HH_MM_SS)); + mallAcceptPlans.add(mallAcceptPlan); + + MallSchoolAccept mallSchoolAccept = new MallSchoolAccept(); + mallSchoolAccept.setSchoolId(mallSchool.getSchoolId()); + mallSchoolAccept.setBatchId(stringLongMap.get(mallSchoolExcelBo.getBatchName())); + mallSchoolAccept.setMajorId(mallMajorClass.getMajorId()); + mallSchoolAccept.setAcceptRuleId(mallAcceptRule1.getAcceptRuleId()); + mallSchoolAccept.setAcceptNum(Integer.valueOf(mallSchoolExcelBo.getAcceptNum())); + mallSchoolAccept.setAcceptLowest(new BigDecimal(mallSchoolExcelBo.getAcceptLowest())); + mallSchoolAccept.setAcceptYear(mallSchoolExcelBo.getAcceptYear()); + mallSchoolAccept.setSubjectType(mallSchoolExcelBo.getSubjectType()); + mallSchoolAccept.setLinkId(majorSchoolMap.get(mallSchool.getSchoolId()).getLinkId()); + mallSchoolAccept.setReference(new BigDecimal(mallSchoolExcelBo.getReference())); + mallSchoolAccept.setIsReference(1); + mallSchoolAccept.setCreateAt(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD_HH_MM_SS)); + mallSchoolAccept.setUpdateAt(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD_HH_MM_SS)); + mallSchoolAccepts.add(mallSchoolAccept); + successNum++; + successMsg.append("
" + successNum + "学校数据:" + mallSchoolExcelBo.getSchoolName() + " 导入成功"); + } catch (Exception e) { + failureNum++; + String msg = "
" + failureNum + "学校数据:" + mallSchoolExcelBo.getSchoolName() + " 导入失败:"; + failureMsg.append(msg + e.getMessage()); + log.error(msg, e); + } + } + } + mallSchoolAcceptRecordMapper.insertByList(mallSchoolAcceptRecordList); + mallAcceptPlanMapper.insertByList(mallAcceptPlans); + mallSchoolAcceptMapper.insertByList(mallSchoolAccepts); + if (failureNum > 0) { + failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); + throw new ServiceException(failureMsg.toString()); + } else { + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); + } + return successMsg.toString(); + } + return "未查询到学校数据"; + } + /** * 查询学校 * @@ -153,7 +233,7 @@ public class MallSchoolServiceImpl implements IMallSchoolService { public MallSchool selectMallSchoolBySchoolId(Long schoolId) { MallSchool mallSchool = mallSchoolMapper.selectMallSchoolBySchoolId(schoolId); - if (ObjectUtils.isNotEmpty(mallSchool)){ + if (ObjectUtils.isNotEmpty(mallSchool)) { // 学校批次查询 List list = mallSchoolBatchLinkMapper.selectMallSchoolBatchLinkBySchoolId(mallSchool.getSchoolId()); Long[] Longs = list.toArray(new Long[list.size()]); @@ -161,7 +241,7 @@ public class MallSchoolServiceImpl implements IMallSchoolService { // 查询层次 MallSchoolLevel mallSchoolLevel = mallSchoolLevelMapper.selectMallSchoolLevelBySchoolId(schoolId); - if(ObjectUtils.isNotEmpty(mallSchoolLevel)){ + if (ObjectUtils.isNotEmpty(mallSchoolLevel)) { mallSchool.setConfigLevelId(mallSchoolLevel.getConfigLevelId()); mallSchool.setConfigLevelName(mallSchoolLevel.getConfigLevelName()); } @@ -250,7 +330,7 @@ public class MallSchoolServiceImpl implements IMallSchoolService { // 批次学校关联 Long[] batchList = mallSchool.getBatchList(); - if (batchList.length > 0){ + if (batchList.length > 0) { for (Long l : batchList) { // 批次查询 MallBatch mallBatch = mallBatchMapper.selectMallBatchByBatchId(l); @@ -309,12 +389,12 @@ public class MallSchoolServiceImpl implements IMallSchoolService { // 批次学校关联 Long[] batchList = mallSchool.getBatchList(); - if (batchList.length > 0){ + if (batchList.length > 0) { // 删除不许要的批次 mallSchoolBatchLinkMapper.deleteSchoolBatchBySchoolId(mallSchool.getSchoolId()); for (Long l : batchList) { MallSchoolBatchLink link = mallSchoolBatchLinkMapper.selectSchoolBatchLinkBySchoolIdAndBatchId(mallSchool.getSchoolId(), Long.valueOf(l)); - if (ObjectUtils.isEmpty(link)){ + if (ObjectUtils.isEmpty(link)) { // 新增 MallBatch mallBatch = mallBatchMapper.selectMallBatchByBatchId(Long.valueOf(l)); MallSchoolBatchLink mallSchoolBatchLink = new MallSchoolBatchLink(); @@ -332,7 +412,7 @@ public class MallSchoolServiceImpl implements IMallSchoolService { Long configLevelId = mallSchool.getConfigLevelId(); MallSchoolLevel schoolLevel = mallSchoolLevelMapper.selectMallSchoolLevelBySchoolId(mallSchool.getSchoolId()); MallConfigLevel mallConfigLevel = mallConfigLevelMapper.selectMallConfigLevelByConfigLevelId(configLevelId); - if (ObjectUtils.isNotEmpty(schoolLevel)){ + if (ObjectUtils.isNotEmpty(schoolLevel)) { // 查询层次列表 schoolLevel.setConfigLevelId(configLevelId); schoolLevel.setConfigLevelName(mallConfigLevel.getConfigLevelName()); @@ -348,7 +428,6 @@ public class MallSchoolServiceImpl implements IMallSchoolService { } - MallConfigType mallConfigType = mallConfigTypeMapper.selectMallConfigTypeByConfigTypeId(mallSchool.getConfigTypeId()); mallSchool.setConfigTypeName(mallConfigType.getConfigTypeName()); return mallSchoolMapper.updateMallSchool(mallSchool); @@ -399,7 +478,7 @@ public class MallSchoolServiceImpl implements IMallSchoolService { Integer pageNum, Integer pageSize) { PageHelper.startPage(pageNum, pageSize); - List schoolList = mallSchoolMapper.selectSchoolList(schoolName, batchId, configLevelId, configTypeId, provinceId, cityId, null,null); + List schoolList = mallSchoolMapper.selectSchoolList(schoolName, batchId, configLevelId, configTypeId, provinceId, cityId, null, null); if (schoolList.size() > 0) { for (SchoolVO schoolVO : schoolList) { @@ -416,34 +495,35 @@ public class MallSchoolServiceImpl implements IMallSchoolService { /** * 大学对比学校列表 - * @param schoolName 学校名称 - * @param batchId 批次id + * + * @param schoolName 学校名称 + * @param batchId 批次id * @param configLevelId 层次id - * @param configTypeId 学校类型id - * @param provinceId 省份id - * @param cityId 城市id - * @param pageNum 页码 - * @param pageSize 每页个数 + * @param configTypeId 学校类型id + * @param provinceId 省份id + * @param cityId 城市id + * @param pageNum 页码 + * @param pageSize 每页个数 * @return 结果 */ @Override public AjaxResult selectMatchSchoolList(String schoolName, - Long batchId, - Long configLevelId, - Long configTypeId, - Long provinceId, - Long cityId, - Long id, - Integer pageNum, - Integer pageSize) { + Long batchId, + Long configLevelId, + Long configTypeId, + Long provinceId, + Long cityId, + Long id, + Integer pageNum, + Integer pageSize) { // 查询用户成绩 MallMemberUser mallMemberUser = mallMemberUserMapper.selectMallMemberUserById(id); - if (ObjectUtils.isEmpty(mallMemberUser.getMajorScore()) || ObjectUtils.isEmpty(mallMemberUser.getCultureScore())){ + if (ObjectUtils.isEmpty(mallMemberUser.getMajorScore()) || ObjectUtils.isEmpty(mallMemberUser.getCultureScore())) { return AjaxResult.error("请先录入成绩"); } Integer majorScore = mallMemberUser.getMajorScore(); Integer cultureScore = mallMemberUser.getCultureScore(); - //选科:0-文科,1-理科 + // 选科:0-文科,1-理科 String subjectType = mallMemberUser.getSubjectType(); PageHelper.startPage(pageNum, pageSize); @@ -451,15 +531,15 @@ public class MallSchoolServiceImpl implements IMallSchoolService { if (schoolList.size() > 0) { for (SchoolVO schoolVO : schoolList) { - //查询该学校 该批次 学生是否已添加 + // 查询该学校 该批次 学生是否已添加 ContrastRecord contrastRecord = new ContrastRecord(); contrastRecord.setBatchId(batchId); contrastRecord.setUserId(id); contrastRecord.setSchoolId(schoolVO.getSchoolId()); List contrastRecords = contrastRecordService.selectContrastRecordList(contrastRecord); - if(null != contrastRecords && contrastRecords.size()>0){//已添加 + if (null != contrastRecords && contrastRecords.size() > 0) {// 已添加 schoolVO.setRecordType("1"); - }else{//未添加 + } else {// 未添加 schoolVO.setRecordType("0"); } // 查询标签列表 @@ -469,8 +549,8 @@ public class MallSchoolServiceImpl implements IMallSchoolService { } //// 学校录取率 - //Map result = mallCountMethodService.getAcceptRate(subjectType, schoolVO.getSchoolId(), batchId, cultureScore, majorScore); - //if (!result.isEmpty() && new BigDecimal(result.get("acceptRate").toString()).compareTo(BigDecimal.ZERO) > 0 ){ + // Map result = mallCountMethodService.getAcceptRate(subjectType, schoolVO.getSchoolId(), batchId, cultureScore, majorScore); + // if (!result.isEmpty() && new BigDecimal(result.get("acceptRate").toString()).compareTo(BigDecimal.ZERO) > 0 ){ // schoolVO.setAcceptRate(new BigDecimal(result.get("acceptRate").toString())); // schoolVO.setShowAcceptRate(schoolVO.getAcceptRate() + "%"); // schoolVO.setRateType((Integer)result.get("rateType")); @@ -485,8 +565,8 @@ public class MallSchoolServiceImpl implements IMallSchoolService { * 学校概述 * * @param schoolId 学校id - * @param batchId 批次id - * @param id 用户id + * @param batchId 批次id + * @param id 用户id * @return 结果 */ @Override @@ -519,9 +599,9 @@ public class MallSchoolServiceImpl implements IMallSchoolService { // 是否加入对比 List longs = contrastRecordMapper.selectSchoolContrastStatus(id, schoolId, batchId); - if (longs.isEmpty()){ + if (longs.isEmpty()) { schoolVO.setRecordType("0"); - }else{ + } else { schoolVO.setRecordType("1"); schoolVO.setRecordId(longs.get(0)); } @@ -557,16 +637,17 @@ public class MallSchoolServiceImpl implements IMallSchoolService { /** * 学校录取数据 - * @param schoolId 学校id - * @param batchId 批次id + * + * @param schoolId 学校id + * @param batchId 批次id * @return 结果 */ @Override - public AjaxResult selectSchoolRecord( Long schoolId, Long batchId, Long id) { + public AjaxResult selectSchoolRecord(Long schoolId, Long batchId, Long id) { // 查询用户信息 MallMemberUser mallMemberUser = mallMemberUserMapper.selectMallMemberUserById(id); - if (StringUtils.isBlank(mallMemberUser.getSubjectType())){ + if (StringUtils.isBlank(mallMemberUser.getSubjectType())) { return AjaxResult.error("请先完善学科信息"); } @@ -575,32 +656,32 @@ public class MallSchoolServiceImpl implements IMallSchoolService { List recordList = mallSchoolAcceptRecordMapper.selectAcceptRecordList(schoolId, batchId, subjectType); // 专业录取数据 - List majorRecordList = mallSchoolAcceptMapper.selectSchoolMajorRecordList(schoolId, batchId , subjectType); + List majorRecordList = mallSchoolAcceptMapper.selectSchoolMajorRecordList(schoolId, batchId, subjectType); // 有参考分的计算录取率 for (SchoolMajorAcceptRecordVO schoolMajorAcceptRecordVO : majorRecordList) { - if (batchId == 4L){ + if (batchId == 4L) { // 专科 - if (schoolMajorAcceptRecordVO.getAcceptLowest() != null ){ - if ( mallMemberUser.getCultureScore() != null && mallMemberUser.getMajorScore() != null){ + if (schoolMajorAcceptRecordVO.getAcceptLowest() != null) { + if (mallMemberUser.getCultureScore() != null && mallMemberUser.getMajorScore() != null) { Map resultRate = mallCountMethodService.zhuankegetAcceptRateForReport(schoolMajorAcceptRecordVO.getAcceptLowest(), schoolMajorAcceptRecordVO.getAcceptRuleId(), mallMemberUser.getCultureScore(), mallMemberUser.getMajorScore()); schoolMajorAcceptRecordVO.setAcceptRate(resultRate.get("acceptRate") + "%"); - }else{ + } else { schoolMajorAcceptRecordVO.setAcceptRate("0"); } } - }else{ + } else { // 本科 - if (schoolMajorAcceptRecordVO.getIsReference() != null &&schoolMajorAcceptRecordVO.getIsReference().equals(1)){ + if (schoolMajorAcceptRecordVO.getIsReference() != null && schoolMajorAcceptRecordVO.getIsReference().equals(1)) { - if ( mallMemberUser.getCultureScore() != null && mallMemberUser.getMajorScore() != null){ + if (mallMemberUser.getCultureScore() != null && mallMemberUser.getMajorScore() != null) { Map resultRate = mallCountMethodService.getAcceptRateForReport(schoolMajorAcceptRecordVO.getReference(), schoolMajorAcceptRecordVO.getAcceptRuleId(), mallMemberUser.getCultureScore(), mallMemberUser.getMajorScore()); schoolMajorAcceptRecordVO.setAcceptRate(resultRate.get("acceptRate") + "%"); - }else{ + } else { schoolMajorAcceptRecordVO.setAcceptRate("0"); } @@ -619,7 +700,7 @@ public class MallSchoolServiceImpl implements IMallSchoolService { for (String sortedYear : sortedYears) { Integer isReference = 0; List collect1 = majorRecordList.stream().filter(item -> item.getAcceptYear().equals(sortedYear)).collect(Collectors.toList()); - if (collect1.get(0).getIsReference() != null && collect1.get(0).getIsReference() == 1 && sortedYears.indexOf(sortedYear) == 0){ + if (collect1.get(0).getIsReference() != null && collect1.get(0).getIsReference() == 1 && sortedYears.indexOf(sortedYear) == 0) { isReference = 1; } SchoolMajorAcceptGroupVO schoolMajorAcceptGroup = new SchoolMajorAcceptGroupVO(); @@ -631,7 +712,7 @@ public class MallSchoolServiceImpl implements IMallSchoolService { .collect(Collectors.toList()); // 录取原则分组划前端横线 - if (subList.size() > 0){ + if (subList.size() > 0) { List> list = new ArrayList<>(); Map> listMap = subList.stream().collect(Collectors.groupingBy(SchoolMajorAcceptRecordVO::getAcceptRuleStr)); for (String s : listMap.keySet()) { @@ -652,6 +733,7 @@ public class MallSchoolServiceImpl implements IMallSchoolService { /** * 我的综合分 + * * @param schoolId * @param batchId * @param id @@ -663,10 +745,10 @@ public class MallSchoolServiceImpl implements IMallSchoolService { MallMemberUser mallMemberUser = mallMemberUserMapper.selectMallMemberUserById(id); BigDecimal totalScore = BigDecimal.ZERO; // 专业录取数据 - Long ruleId = mallSchoolAcceptMapper.selectNewAccept(schoolId, batchId , mallMemberUser.getSubjectType()); - if (null != ruleId && null != mallMemberUser.getCultureScore() && null != mallMemberUser.getMajorScore()){ + Long ruleId = mallSchoolAcceptMapper.selectNewAccept(schoolId, batchId, mallMemberUser.getSubjectType()); + if (null != ruleId && null != mallMemberUser.getCultureScore() && null != mallMemberUser.getMajorScore()) { // 计算综合分 - totalScore = mallCountMethodService.getTotalScore(mallMemberUser.getCultureScore(), mallMemberUser.getMajorScore(), ruleId); + totalScore = mallCountMethodService.getTotalScore(mallMemberUser.getCultureScore(), mallMemberUser.getMajorScore(), ruleId); } Map map = new HashMap<>(); map.put("score", totalScore); @@ -675,6 +757,7 @@ public class MallSchoolServiceImpl implements IMallSchoolService { /** * 院校录取数据详情 + * * @param schoolAcceptRecordId 数据id * @return 结果 */ @@ -685,6 +768,7 @@ public class MallSchoolServiceImpl implements IMallSchoolService { /** * 学校评估列表 + * * @param schoolId 学校id * @return 结果 */ @@ -695,6 +779,7 @@ public class MallSchoolServiceImpl implements IMallSchoolService { /** * 学校招生简章 + * * @param schoolId 学校id * @return 结果 */ @@ -710,7 +795,7 @@ public class MallSchoolServiceImpl implements IMallSchoolService { // 用户信息 MallMemberUser mallMemberUser = mallMemberUserMapper.selectMallMemberUserById(id); - if (StringUtils.isBlank(mallMemberUser.getSubjectType())){ + if (StringUtils.isBlank(mallMemberUser.getSubjectType())) { return AjaxResult.error("请先完善用户学科信息"); } String subjectType = mallMemberUser.getSubjectType(); @@ -718,33 +803,33 @@ public class MallSchoolServiceImpl implements IMallSchoolService { // 招生计划 List planList = mallAcceptPlanMapper.selectAcceptPlanList(schoolId, batchId, subjectType); - //for (SchoolAcceptPlanVO schoolAcceptPlanVO : planList) { - - //// 投档公式 - //Long acceptRuleId = schoolAcceptPlanVO.getAcceptRuleId(); - //String countMethodStr = mallCountMethodService.getCountMethodStr(acceptRuleId); - //schoolAcceptPlanVO.setAcceptRuleStr(countMethodStr); - - - //// 专业名称处理 - //Long majorId = schoolAcceptPlanVO.getMajorId(); - //List list = mallLinkMajorSchoolMapper.selectSchoolMajorByParentId(schoolId, majorId); - //if (list.size() > 0){ - // StringBuilder sb = new StringBuilder(); - // for (String s : list) { - // sb.append(s).append(","); - // } - // String str = sb.toString(); - // String result = str.substring(0, str.length() - 1); - // schoolAcceptPlanVO.setMajorStr(schoolAcceptPlanVO.getMajorName() + "(" + result + ")"); - //}else{ - // schoolAcceptPlanVO.setMajorStr(schoolAcceptPlanVO.getMajorName()); - //} + // for (SchoolAcceptPlanVO schoolAcceptPlanVO : planList) { + + //// 投档公式 + // Long acceptRuleId = schoolAcceptPlanVO.getAcceptRuleId(); + // String countMethodStr = mallCountMethodService.getCountMethodStr(acceptRuleId); + // schoolAcceptPlanVO.setAcceptRuleStr(countMethodStr); + + + //// 专业名称处理 + // Long majorId = schoolAcceptPlanVO.getMajorId(); + // List list = mallLinkMajorSchoolMapper.selectSchoolMajorByParentId(schoolId, majorId); + // if (list.size() > 0){ + // StringBuilder sb = new StringBuilder(); + // for (String s : list) { + // sb.append(s).append(","); + // } + // String str = sb.toString(); + // String result = str.substring(0, str.length() - 1); + // schoolAcceptPlanVO.setMajorStr(schoolAcceptPlanVO.getMajorName() + "(" + result + ")"); + //}else{ + // schoolAcceptPlanVO.setMajorStr(schoolAcceptPlanVO.getMajorName()); + //} //} List groupList = new ArrayList<>(); - if (planList.size() > 0){ + if (planList.size() > 0) { Map> collect = planList.stream().collect(Collectors.groupingBy(SchoolAcceptPlanVO::getPlanYear)); Set planYears = collect.keySet(); @@ -764,18 +849,18 @@ public class MallSchoolServiceImpl implements IMallSchoolService { // 更新时间 String updateRange = ""; Map map = mallAcceptPlanMapper.selectUpdateTime(schoolId, batchId); - if (ObjectUtils.isNotEmpty(map)){ + if (ObjectUtils.isNotEmpty(map)) { String startTime = map.get("startTime"); String endTime = map.get("endTime"); String start = DateUtils.format(DateUtils.parseDate(startTime), "M-dd"); String end = DateUtils.format(DateUtils.parseDate(endTime), "M-dd"); - if (start.equals(end)){ + if (start.equals(end)) { updateRange = start; - }else{ - if (end == null){ + } else { + if (end == null) { updateRange = start; - }else{ + } else { updateRange = start + "~" + end; } @@ -793,8 +878,9 @@ public class MallSchoolServiceImpl implements IMallSchoolService { /** * 3个层次院校列表 + * * @param configLevelId 层次id - * @param batchId 批次id + * @param batchId 批次id * @return 结果 */ @Override @@ -804,24 +890,24 @@ public class MallSchoolServiceImpl implements IMallSchoolService { Long higherLevelId = null; Long lowerLevelId = null; - if (!(allLevelList.size() > 0)){ + if (!(allLevelList.size() > 0)) { return AjaxResult.error("层次信息异常"); } List collect = allLevelList.stream().filter(item -> item.getConfigLevelId().equals(configLevelId)).collect(Collectors.toList()); - if (!(collect.size() > 0)){ + if (!(collect.size() > 0)) { return AjaxResult.error("当前层次不存在"); } SchoolLevelVO schoolLevelVO = collect.get(0); int i = allLevelList.indexOf(schoolLevelVO); - if (allLevelList.size() > 1){ + if (allLevelList.size() > 1) { - if (i == 0){ + if (i == 0) { lowerLevelId = allLevelList.get(i + 1).getConfigLevelId(); - }else if (i == allLevelList.size()-1){ + } else if (i == allLevelList.size() - 1) { higherLevelId = allLevelList.get(i - 1).getConfigLevelId(); - }else{ + } else { higherLevelId = allLevelList.get(i - 1).getConfigLevelId(); lowerLevelId = allLevelList.get(i + 1).getConfigLevelId(); } @@ -836,29 +922,29 @@ public class MallSchoolServiceImpl implements IMallSchoolService { Map lowerMap = new HashMap<>(); MallMemberUser mallMemberUser = mallMemberUserMapper.selectMallMemberUserById(id); - if (StringUtils.isBlank(mallMemberUser.getSubjectType())){ + if (StringUtils.isBlank(mallMemberUser.getSubjectType())) { return AjaxResult.error("请先完善学科信息"); } String subjectType = mallMemberUser.getSubjectType(); // 高一层次 - if (!ObjectUtils.isEmpty(higherLevelId)){ - higherLevelList = this.selectLevelSchoolList(higherLevelId, batchId, schoolId, subjectType); + if (!ObjectUtils.isEmpty(higherLevelId)) { + higherLevelList = this.selectLevelSchoolList(higherLevelId, batchId, schoolId, subjectType); higherMap.put("higherLevelId", higherLevelId); higherMap.put("higherLevelList", higherLevelList); } // 同一层次 - if (!ObjectUtils.isEmpty(configLevelId)){ - sameLevelList = this.selectLevelSchoolList(configLevelId, batchId, schoolId, subjectType); - sameMap.put("sameLevelId", configLevelId); - sameMap.put("sameLevelList", sameLevelList); + if (!ObjectUtils.isEmpty(configLevelId)) { + sameLevelList = this.selectLevelSchoolList(configLevelId, batchId, schoolId, subjectType); + sameMap.put("sameLevelId", configLevelId); + sameMap.put("sameLevelList", sameLevelList); } // 低一层次 - if (!ObjectUtils.isEmpty(lowerLevelId)){ - lowerLevelList = this.selectLevelSchoolList(lowerLevelId, batchId, schoolId, subjectType); - lowerMap.put("lowerLevelId", lowerLevelId); - lowerMap.put("lowerLevelList", lowerLevelList); + if (!ObjectUtils.isEmpty(lowerLevelId)) { + lowerLevelList = this.selectLevelSchoolList(lowerLevelId, batchId, schoolId, subjectType); + lowerMap.put("lowerLevelId", lowerLevelId); + lowerMap.put("lowerLevelList", lowerLevelList); } Map result = new HashMap<>(); @@ -872,16 +958,17 @@ public class MallSchoolServiceImpl implements IMallSchoolService { /** * 查询当前层次学校列表 + * * @param configLevelId 层次id - * @param batchId 批次id + * @param batchId 批次id * @return */ - public List selectLevelSchoolList(Long configLevelId, Long batchId, Long schoolId, String subjectType){ + public List selectLevelSchoolList(Long configLevelId, Long batchId, Long schoolId, String subjectType) { // 查询该层次下学校列表 PageHelper.startPage(1, 3); - List schoolList = mallSchoolMapper.selectSchoolListByLevelId( batchId, configLevelId , schoolId, subjectType); + List schoolList = mallSchoolMapper.selectSchoolListByLevelId(batchId, configLevelId, schoolId, subjectType); - if (schoolList.size() > 0){ + if (schoolList.size() > 0) { for (SchoolVO schoolVO : schoolList) { if (StringUtils.isNotBlank(schoolVO.getTags())) { // 查询标签列表 @@ -897,21 +984,23 @@ public class MallSchoolServiceImpl implements IMallSchoolService { /** * 层级院校列表 + * * @param configLevelId 层级id - * @param batchId 批次id - * @param pageNum 页码 - * @param pageSize 每页个数 + * @param batchId 批次id + * @param pageNum 页码 + * @param pageSize 每页个数 * @return */ @Override - public PageInfo selectSchoolListByLevelId(Long configLevelId, Long batchId, Long schoolId, Long id, Integer pageNum, Integer pageSize) { + public PageInfo selectSchoolListByLevelId(Long configLevelId, Long batchId, Long schoolId, Long + id, Integer pageNum, Integer pageSize) { // 查询用户信息 MallMemberUser mallMemberUser = mallMemberUserMapper.selectMallMemberUserById(id); PageHelper.startPage(pageNum, pageSize); - List schoolVOS = mallSchoolMapper.selectSchoolListByLevelId(batchId, configLevelId, schoolId, mallMemberUser.getSubjectType() ); + List schoolVOS = mallSchoolMapper.selectSchoolListByLevelId(batchId, configLevelId, schoolId, mallMemberUser.getSubjectType()); - if (schoolVOS.size() > 0){ + if (schoolVOS.size() > 0) { for (SchoolVO schoolVO : schoolVOS) { if (StringUtils.isNotBlank(schoolVO.getTags())) { // 查询标签列表 @@ -925,19 +1014,21 @@ public class MallSchoolServiceImpl implements IMallSchoolService { /** * 联考成绩分析 + * * @param schoolId 学校id - * @param batchId 批次id - * @param id 用户id - * @param pageNum 页码 + * @param batchId 批次id + * @param id 用户id + * @param pageNum 页码 * @param pageSize 每页个数 * @return 结果 */ @Override - public AjaxResult selectUnionTestAnalysisList(Long schoolId, Long batchId, Long id, Integer pageNum, Integer pageSize) { + public AjaxResult selectUnionTestAnalysisList(Long schoolId, Long batchId, Long id, Integer pageNum, Integer + pageSize) { // 查询用户成绩 MallMemberUser mallMemberUser = mallMemberUserMapper.selectMallMemberUserById(id); - if (StringUtils.isBlank(mallMemberUser.getSubjectType())){ + if (StringUtils.isBlank(mallMemberUser.getSubjectType())) { return AjaxResult.error("请先完善用户学科信息"); } @@ -945,20 +1036,20 @@ public class MallSchoolServiceImpl implements IMallSchoolService { PageHelper.startPage(pageNum, pageSize); List list = mallSchoolAcceptRecordMapper.selectUnionTestAnalysisList(schoolId, batchId, mallMemberUser.getSubjectType()); - if (list.size() > 0){ + if (list.size() > 0) { for (UnionTestAnalysisVO unionTestAnalysisVO : list) { // 计算所需文化分 Integer majorScore = mallMemberUser.getMajorScore(); BigDecimal acceptLowest = unionTestAnalysisVO.getAcceptLowest(); BigDecimal cultureLowest = unionTestAnalysisVO.getCultureLowest(); - if (ObjectUtils.isNotEmpty(majorScore) && ObjectUtils.isNotEmpty(acceptLowest) ){ + if (ObjectUtils.isNotEmpty(majorScore) && ObjectUtils.isNotEmpty(acceptLowest)) { Long acceptRuleId = unionTestAnalysisVO.getAcceptRuleId(); MallAcceptRule mallAcceptRule = mallAcceptRuleMapper.selectMallAcceptRuleByAcceptRuleId(acceptRuleId); BigDecimal needCultureScore = null; // 如果录取原则没有文化分,则需要文化分为过线文化分 - if (!mallAcceptRule.getRuleStr().contains("文化")){ + if (!mallAcceptRule.getRuleStr().contains("文化")) { needCultureScore = cultureLowest; - }else{ + } else { needCultureScore = mallCountMethodService.getNeedCultureScore(majorScore, acceptLowest, acceptRuleId); } unionTestAnalysisVO.setNeedCultureScore(needCultureScore); @@ -973,19 +1064,21 @@ public class MallSchoolServiceImpl implements IMallSchoolService { /** * 综合成绩分析 + * * @param schoolId 学校id - * @param batchId 批次id - * @param id 用户id - * @param pageNum 页码 + * @param batchId 批次id + * @param id 用户id + * @param pageNum 页码 * @param pageSize 每页个数 * @return 结果 */ @Override - public AjaxResult selectUserScoreAnalysisList(Long schoolId, Long batchId, Long id, Integer pageNum, Integer pageSize) { + public AjaxResult selectUserScoreAnalysisList(Long schoolId, Long batchId, Long id, Integer pageNum, Integer + pageSize) { // 用户录取信息 MallMemberUser mallMemberUser = mallMemberUserMapper.selectMallMemberUserById(id); - if (StringUtils.isBlank(mallMemberUser.getSubjectType())){ + if (StringUtils.isBlank(mallMemberUser.getSubjectType())) { return AjaxResult.error("请先完善用户学科信息"); } String subjectType = mallMemberUser.getSubjectType(); @@ -993,9 +1086,9 @@ public class MallSchoolServiceImpl implements IMallSchoolService { PageHelper.startPage(pageNum, pageSize); List list = mallSchoolAcceptRecordMapper.selectUserScoreAnalysisList(schoolId, batchId, subjectType); - if(ObjectUtils.isNotEmpty(mallMemberUser.getCultureScore()) && ObjectUtils.isNotEmpty(mallMemberUser.getMajorScore())){ + if (ObjectUtils.isNotEmpty(mallMemberUser.getCultureScore()) && ObjectUtils.isNotEmpty(mallMemberUser.getMajorScore())) { // 计算综合分 - if (!list.isEmpty()){ + if (!list.isEmpty()) { for (UserScoreAnalysisVO userScoreAnalysisVO : list) { BigDecimal totalScore = mallCountMethodService.getTotalScore(mallMemberUser.getCultureScore(), mallMemberUser.getMajorScore(), userScoreAnalysisVO.getAcceptRuleId()); userScoreAnalysisVO.setMyScore(totalScore); @@ -1013,6 +1106,7 @@ public class MallSchoolServiceImpl implements IMallSchoolService { /** * 智能匹配大学 + * * @param matchSchoolBO 匹配参数 * @return 结果 */ @@ -1024,9 +1118,9 @@ public class MallSchoolServiceImpl implements IMallSchoolService { Long subjectId = matchSchoolBO.getSubjectId(); // 查询学科 - //MallSubjectClass mallSubjectClass = mallSubjectClassMapper.selectMallSubjectClassBySubjectId(subjectId); - //String subjectType = "文科".equals(mallSubjectClass.getSubjectName()) || "文".equals(mallSubjectClass.getSubjectName())? "0" : "1"; - String subjectType = subjectId == 1L? "0" : "1"; + // MallSubjectClass mallSubjectClass = mallSubjectClassMapper.selectMallSubjectClassBySubjectId(subjectId); + // String subjectType = "文科".equals(mallSubjectClass.getSubjectName()) || "文".equals(mallSubjectClass.getSubjectName())? "0" : "1"; + String subjectType = subjectId == 1L ? "0" : "1"; // 查询批次大学列表 List schoolVOS = mallSchoolMapper.selectSchoolList(null, batchId, null, null, null, null, null, subjectType); @@ -1044,8 +1138,8 @@ public class MallSchoolServiceImpl implements IMallSchoolService { List list1 = new ArrayList<>(); List list2 = new ArrayList<>(); List list3 = new ArrayList<>(); - if (!schoolVOS.isEmpty()){ - //List allTag = mallSchoolTagMapper.selectTagList(); + if (!schoolVOS.isEmpty()) { + // List allTag = mallSchoolTagMapper.selectTagList(); // 学校录取率计算 try { CountDownLatch countDownLatch = new CountDownLatch(schoolVOS.size()); @@ -1056,24 +1150,24 @@ public class MallSchoolServiceImpl implements IMallSchoolService { public void run() { MallSchoolAccept mallSchoolAccept = new MallSchoolAccept(); Map result = new HashMap<>(); - if(batchId == 4L){ + if (batchId == 4L) { // 专科 System.out.println("========" + Thread.currentThread().getName() + schoolVO.getSchoolId()); mallSchoolAccept = mallSchoolAcceptMapper.selectZhuankeAcceptBySchoolId(schoolVO.getSchoolId(), batchId, subjectType); // 计算专科 - if (ObjectUtils.isNotEmpty(mallSchoolAccept)){ - result = mallCountMethodService.zhuankegetAcceptRateForReport(mallSchoolAccept.getAcceptLowest(), mallSchoolAccept.getAcceptRuleId(), cultureScore, majorScore); - }else { + if (ObjectUtils.isNotEmpty(mallSchoolAccept)) { + result = mallCountMethodService.zhuankegetAcceptRateForReport(mallSchoolAccept.getAcceptLowest(), mallSchoolAccept.getAcceptRuleId(), cultureScore, majorScore); + } else { result.put("acceptRate", BigDecimal.ZERO); result.put("rateType", -2); } - }else{ + } else { // 本科 mallSchoolAccept = mallSchoolAcceptMapper.selectMinReferenceBySchoolId(schoolVO.getSchoolId(), batchId, subjectType); // 计算 - if (ObjectUtils.isNotEmpty(mallSchoolAccept)){ - result = mallCountMethodService.getAcceptRateForReport(mallSchoolAccept.getReference(), mallSchoolAccept.getAcceptRuleId(), cultureScore, majorScore); - }else { + if (ObjectUtils.isNotEmpty(mallSchoolAccept)) { + result = mallCountMethodService.getAcceptRateForReport(mallSchoolAccept.getReference(), mallSchoolAccept.getAcceptRuleId(), cultureScore, majorScore); + } else { result.put("acceptRate", "0"); result.put("rateType", -2); } @@ -1082,7 +1176,7 @@ public class MallSchoolServiceImpl implements IMallSchoolService { schoolVO.setAcceptRate(new BigDecimal(result.get("acceptRate").toString())); schoolVO.setShowAcceptRate(schoolVO.getAcceptRate() + "%"); - schoolVO.setRateType((Integer)result.get("rateType")); + schoolVO.setRateType((Integer) result.get("rateType")); // 查询标签列表 if (StringUtils.isNotBlank(schoolVO.getTags())) { @@ -1091,14 +1185,14 @@ public class MallSchoolServiceImpl implements IMallSchoolService { schoolVO.setTagList(list); } Integer rateType = schoolVO.getRateType(); - if ( ObjectUtils.isNotEmpty(rateType) ){ - if (rateType == 0){ + if (ObjectUtils.isNotEmpty(rateType)) { + if (rateType == 0) { list0.add(schoolVO); - }else if (rateType == 1){ + } else if (rateType == 1) { list1.add(schoolVO); - }else if (rateType == 2){ + } else if (rateType == 2) { list2.add(schoolVO); - }else if (rateType == 3){ + } else if (rateType == 3) { list3.add(schoolVO); } } @@ -1108,30 +1202,30 @@ public class MallSchoolServiceImpl implements IMallSchoolService { } countDownLatch.await(); - }catch (Exception e){ + } catch (Exception e) { throw new ServiceException(); } - if (!list0.isEmpty()){ + if (!list0.isEmpty()) { list0.sort(Comparator.comparing(SchoolVO::getAcceptRate).reversed()); } - if (!list1.isEmpty()){ + if (!list1.isEmpty()) { list1.sort(Comparator.comparing(SchoolVO::getAcceptRate).reversed()); } - if (!list2.isEmpty()){ + if (!list2.isEmpty()) { - Collections.sort(list2, (a,b)->{ - return b.getAcceptRate().compareTo(a.getAcceptRate()) ; + Collections.sort(list2, (a, b) -> { + return b.getAcceptRate().compareTo(a.getAcceptRate()); }); } - if (!list3.isEmpty()){ - Collections.sort(list3, (a,b)->{ - if (a != null && b != null){ - return a.getAcceptRate().compareTo(b.getAcceptRate()) ; + if (!list3.isEmpty()) { + Collections.sort(list3, (a, b) -> { + if (a != null && b != null) { + return a.getAcceptRate().compareTo(b.getAcceptRate()); } return 0; }); @@ -1140,36 +1234,36 @@ public class MallSchoolServiceImpl implements IMallSchoolService { // 可冒险 result0.put("rateType", 0); result0.put("num", list0.size()); - if (list0.size() <= 3){ + if (list0.size() <= 3) { result0.put("list", list0); - }else { - result0.put("list", list0.subList(0,3)); + } else { + result0.put("list", list0.subList(0, 3)); } // 搏一搏 result1.put("rateType", 1); result1.put("num", list1.size()); - if (list1.size() <= 3){ + if (list1.size() <= 3) { result1.put("list", list1); - }else{ + } else { result1.put("list", list1.subList(0, 3)); } // 较稳妥 result2.put("rateType", 2); result2.put("num", list2.size()); - if (list2.size() <= 3){ + if (list2.size() <= 3) { result2.put("list", list2); - }else{ + } else { result2.put("list", list2.subList(0, 3)); } // 可保底 result3.put("rateType", 3); result3.put("num", list3.size()); - if (list3.size() <= 3){ + if (list3.size() <= 3) { result3.put("list", list3); - }else{ + } else { result3.put("list", list3.subList(0, 3)); } @@ -1177,7 +1271,7 @@ public class MallSchoolServiceImpl implements IMallSchoolService { resultList.add(result1); resultList.add(result2); resultList.add(result3); - if (result0.size() == 0 && result1.size() == 1 && result2.size() == 2 && result3.size() == 3){ + if (result0.size() == 0 && result1.size() == 1 && result2.size() == 2 && result3.size() == 3) { resultList = Arrays.asList(); } } @@ -1186,46 +1280,47 @@ public class MallSchoolServiceImpl implements IMallSchoolService { /** * 根据录取概率分组标记查询学校列表 - * @param rateType 类型(0-可冒险,1-搏一搏,2-较稳妥,3-可保底) - * @param id 用户id - * @param batchId 批次id + * + * @param rateType 类型(0-可冒险,1-搏一搏,2-较稳妥,3-可保底) + * @param id 用户id + * @param batchId 批次id * @param cultureScore 文化分 - * @param majorScore 文化分 - * @param pageNum 页码 - * @param pageSize 每页个数 + * @param majorScore 文化分 + * @param pageNum 页码 + * @param pageSize 每页个数 * @return 结果 */ @Override public List matchSchoolListByType(Integer rateType, - Long id, - Long batchId, - Integer cultureScore, - Integer majorScore, - Integer pageNum, - Integer pageSize, - Integer subjectId) { + Long id, + Long batchId, + Integer cultureScore, + Integer majorScore, + Integer pageNum, + Integer pageSize, + Integer subjectId) { // 查询录取率设定表 - //List rateSettings = mallAcceptRateSettingMapper.selectRateSettingList(); + // List rateSettings = mallAcceptRateSettingMapper.selectRateSettingList(); // 查询批次大学列表 - List schoolVOS = mallSchoolMapper.selectSchoolList(null, batchId, null, null, null, null, null,null); + List schoolVOS = mallSchoolMapper.selectSchoolList(null, batchId, null, null, null, null, null, null); List> resultList = new ArrayList<>(); // 用户成绩查询 MallMemberUser mallMemberUser = mallMemberUserMapper.selectMallMemberUserById(id); StringBuilder stringBuilder = new StringBuilder(); - if (null != subjectId ){ - stringBuilder.append(subjectId == 1? "0": "1"); - }else{ + if (null != subjectId) { + stringBuilder.append(subjectId == 1 ? "0" : "1"); + } else { stringBuilder.append(mallMemberUser.getSubjectType()); } String subjectType = stringBuilder.toString(); List list = new ArrayList<>(); - if (!schoolVOS.isEmpty()){ + if (!schoolVOS.isEmpty()) { // 学校录取率计算 try { CountDownLatch countDownLatch = new CountDownLatch(schoolVOS.size()); @@ -1237,33 +1332,32 @@ public class MallSchoolServiceImpl implements IMallSchoolService { // 查询学校最低专业录取分 Map result = new HashMap<>(); MallSchoolAccept mallSchoolAccept = new MallSchoolAccept(); - if(batchId == 4L){ + if (batchId == 4L) { // 专科 mallSchoolAccept = mallSchoolAcceptMapper.selectZhuankeAcceptBySchoolId(schoolVO.getSchoolId(), batchId, subjectType); // 计算专科 - if (ObjectUtils.isNotEmpty(mallSchoolAccept)){ - result = mallCountMethodService.zhuankegetAcceptRateForReport(mallSchoolAccept.getAcceptLowest(), mallSchoolAccept.getAcceptRuleId(), cultureScore, majorScore); - }else { + if (ObjectUtils.isNotEmpty(mallSchoolAccept)) { + result = mallCountMethodService.zhuankegetAcceptRateForReport(mallSchoolAccept.getAcceptLowest(), mallSchoolAccept.getAcceptRuleId(), cultureScore, majorScore); + } else { result.put("acceptRate", BigDecimal.ZERO); result.put("rateType", -2); } - }else{ - mallSchoolAccept = mallSchoolAcceptMapper.selectMinReferenceBySchoolId(schoolVO.getSchoolId(), batchId, subjectType); - if (ObjectUtils.isNotEmpty(mallSchoolAccept)){ - result = mallCountMethodService.getAcceptRateForReport(mallSchoolAccept.getReference(), mallSchoolAccept.getAcceptRuleId(), cultureScore, majorScore); + } else { + mallSchoolAccept = mallSchoolAcceptMapper.selectMinReferenceBySchoolId(schoolVO.getSchoolId(), batchId, subjectType); + if (ObjectUtils.isNotEmpty(mallSchoolAccept)) { + result = mallCountMethodService.getAcceptRateForReport(mallSchoolAccept.getReference(), mallSchoolAccept.getAcceptRuleId(), cultureScore, majorScore); - }else{ + } else { result.put("acceptRate", 0); result.put("rateType", -2); } } - - if (!result.isEmpty() && new BigDecimal(result.get("acceptRate").toString()).compareTo(BigDecimal.ZERO) > 0 ){ + if (!result.isEmpty() && new BigDecimal(result.get("acceptRate").toString()).compareTo(BigDecimal.ZERO) > 0) { schoolVO.setAcceptRate(new BigDecimal(result.get("acceptRate").toString())); schoolVO.setShowAcceptRate(schoolVO.getAcceptRate() + "%"); - schoolVO.setRateType((Integer)result.get("rateType")); + schoolVO.setRateType((Integer) result.get("rateType")); } if (StringUtils.isNotBlank(schoolVO.getTags())) { @@ -1277,14 +1371,14 @@ public class MallSchoolServiceImpl implements IMallSchoolService { } countDownLatch.await(); - }catch (Exception e){ + } catch (Exception e) { throw new ServiceException(); } // 选择类型 - list = schoolVOS.stream().filter(item -> item.getRateType()!=null && item.getRateType().equals(rateType)).collect(Collectors.toList()); + list = schoolVOS.stream().filter(item -> item.getRateType() != null && item.getRateType().equals(rateType)).collect(Collectors.toList()); - if (!list.isEmpty()){ + if (!list.isEmpty()) { list.sort(Comparator.comparing(SchoolVO::getAcceptRate).reversed()); } @@ -1294,35 +1388,37 @@ public class MallSchoolServiceImpl implements IMallSchoolService { /** * 升学规划- 我的目标 - * @param id 用户id - * @param batchId 批次id + * + * @param id 用户id + * @param batchId 批次id * @param schoolName 学校名称 - * @param majorId 专业id + * @param majorId 专业id * @return 结果 */ @Override - public PageInfo enterPlanTargetList(Long id, Long batchId, String schoolName, Long majorId, Integer pageNum, Integer pageSize) { + public PageInfo enterPlanTargetList(Long id, Long batchId, String schoolName, Long majorId, Integer + pageNum, Integer pageSize) { // 用户信息 MallMemberUser mallMemberUser = mallMemberUserMapper.selectMallMemberUserById(id); List schoolList = new ArrayList<>(); - if (ObjectUtils.isNotEmpty(mallMemberUser.getCultureScore()) && ObjectUtils.isNotEmpty(mallMemberUser.getMajorScore())){ + if (ObjectUtils.isNotEmpty(mallMemberUser.getCultureScore()) && ObjectUtils.isNotEmpty(mallMemberUser.getMajorScore())) { String subjectType = mallMemberUser.getSubjectType(); // 录取率设定信息 - //List settingList = mallAcceptRateSettingMapper.selectRateSettingList(); + // List settingList = mallAcceptRateSettingMapper.selectRateSettingList(); // 我的目标学校 PageHelper.startPage(pageNum, pageSize); // 专业名称 String twoClassName = ""; - if (majorId != null){ + if (majorId != null) { MallMajorClass majorClass = mallMajorClassMapper.selectMallMajorClassByMajorId(majorId); twoClassName = majorClass.getMajorName(); } schoolList = mallMemberTargetSchoolMapper.selectTargetSchoolListByUserId(id, batchId, schoolName, twoClassName, subjectType); - if (!schoolList.isEmpty()){ + if (!schoolList.isEmpty()) { for (SchoolVO schoolVO : schoolList) { // 目标学校状态 @@ -1338,25 +1434,25 @@ public class MallSchoolServiceImpl implements IMallSchoolService { // 查询学校最低专业录取分 Map result = new HashMap<>(); MallSchoolAccept mallSchoolAccept = mallSchoolAcceptMapper.selectMinReferenceBySchoolId(schoolVO.getSchoolId(), batchId, subjectType); - if (ObjectUtils.isNotEmpty(mallSchoolAccept)){ - result = mallCountMethodService.getAcceptRateForReport(mallSchoolAccept.getReference(), mallSchoolAccept.getAcceptRuleId(), mallMemberUser.getCultureScore(), mallMemberUser.getMajorScore()); - }else{ + if (ObjectUtils.isNotEmpty(mallSchoolAccept)) { + result = mallCountMethodService.getAcceptRateForReport(mallSchoolAccept.getReference(), mallSchoolAccept.getAcceptRuleId(), mallMemberUser.getCultureScore(), mallMemberUser.getMajorScore()); + } else { result.put("acceptRate", new BigDecimal("1")); result.put("rateType", -2); } - if (!result.isEmpty() && new BigDecimal(result.get("acceptRate").toString()).compareTo(BigDecimal.ZERO) > 0 ){ + if (!result.isEmpty() && new BigDecimal(result.get("acceptRate").toString()).compareTo(BigDecimal.ZERO) > 0) { schoolVO.setAcceptRate(new BigDecimal(result.get("acceptRate").toString())); schoolVO.setShowAcceptRate(schoolVO.getAcceptRate() + "%"); - schoolVO.setRateType((Integer)result.get("rateType")); - }else{//录取率为0 + schoolVO.setRateType((Integer) result.get("rateType")); + } else {// 录取率为0 schoolVO.setAcceptRate(BigDecimal.ZERO); schoolVO.setShowAcceptRate(schoolVO.getAcceptRate().toPlainString() + "%"); - schoolVO.setRateType((Integer)result.get("rateType")); + schoolVO.setRateType((Integer) result.get("rateType")); } - if (schoolVO.getRateType() == 2 || schoolVO.getRateType() == 3){ + if (schoolVO.getRateType() == 2 || schoolVO.getRateType() == 3) { // 较安全 schoolVO.setWarnStatus(1); - }else{ + } else { schoolVO.setWarnStatus(0); } } @@ -1371,15 +1467,17 @@ public class MallSchoolServiceImpl implements IMallSchoolService { /** * 升学规划分类查询学校列表 + * * @param rateType 类型 - * @param id 用户id - * @param batchId 批次id - * @param pageNum 页码 + * @param id 用户id + * @param batchId 批次id + * @param pageNum 页码 * @param pageSize 每页个数 * @return 结果 */ @Override - public AjaxResult enterPlanSchoolListByType(Integer rateType, Long id, Long batchId, String schoolName, Long majorId, Integer pageNum, Integer pageSize) { + public AjaxResult enterPlanSchoolListByType(Integer rateType, Long id, Long batchId, String schoolName, Long + majorId, Integer pageNum, Integer pageSize) { // 选择类型 List collect = new ArrayList<>(); @@ -1389,24 +1487,23 @@ public class MallSchoolServiceImpl implements IMallSchoolService { // 查询用户分 MallMemberUser mallMemberUser = mallMemberUserMapper.selectMallMemberUserById(id); - if (ObjectUtils.isEmpty(mallMemberUser)){ + if (ObjectUtils.isEmpty(mallMemberUser)) { return AjaxResult.error("用户信息异常"); } - if(ObjectUtils.isNotEmpty(mallMemberUser.getCultureScore()) && ObjectUtils.isNotEmpty(mallMemberUser.getMajorScore())){ + if (ObjectUtils.isNotEmpty(mallMemberUser.getCultureScore()) && ObjectUtils.isNotEmpty(mallMemberUser.getMajorScore())) { // 文化分和专业分 Integer cultureScore = mallMemberUser.getCultureScore(); Integer majorScore = mallMemberUser.getMajorScore(); String subjectType = mallMemberUser.getSubjectType(); - // 查询录取控制线 List lineList = mallExamDataMapper.selectLineList(); // 查询二级分类 String twoClassName = ""; - if (majorId != null){ + if (majorId != null) { MallMajorClass majorClass = mallMajorClassMapper.selectMallMajorClassByMajorId(majorId); twoClassName = majorClass.getMajorName(); } @@ -1414,8 +1511,8 @@ public class MallSchoolServiceImpl implements IMallSchoolService { // 查询批次大学列表 List schoolVOS = mallSchoolMapper.selectSchoolList(schoolName, batchId, null, null, null, null, twoClassName, subjectType); - if (!schoolVOS.isEmpty()){ - try{ + if (!schoolVOS.isEmpty()) { + try { CountDownLatch countDownLatch = new CountDownLatch(schoolVOS.size()); // 学校录取率计算 @@ -1426,22 +1523,22 @@ public class MallSchoolServiceImpl implements IMallSchoolService { Map result = new HashMap<>(); MallSchoolAccept mallSchoolAccept = new MallSchoolAccept(); // 学校录取专业最低分 - if (batchId == 4L){ + if (batchId == 4L) { // 专科 mallSchoolAccept = mallSchoolAcceptMapper.selectZhuankeAcceptBySchoolId(schoolVO.getSchoolId(), batchId, subjectType); // 计算专科 - if (ObjectUtils.isNotEmpty(mallSchoolAccept)){ - result = mallCountMethodService.zhuankegetAcceptRateForReport(mallSchoolAccept.getAcceptLowest(), mallSchoolAccept.getAcceptRuleId(), cultureScore, majorScore); - }else { + if (ObjectUtils.isNotEmpty(mallSchoolAccept)) { + result = mallCountMethodService.zhuankegetAcceptRateForReport(mallSchoolAccept.getAcceptLowest(), mallSchoolAccept.getAcceptRuleId(), cultureScore, majorScore); + } else { result.put("acceptRate", BigDecimal.ZERO); result.put("rateType", -2); } - }else{ + } else { // 本科 - mallSchoolAccept = mallSchoolAcceptMapper.selectMinReferenceBySchoolId(schoolVO.getSchoolId(), batchId, subjectType); - if (ObjectUtils.isNotEmpty(mallSchoolAccept)){ - result = mallCountMethodService.getAcceptRateForReport(mallSchoolAccept.getReference() != null?mallSchoolAccept.getReference() : new BigDecimal("500") , mallSchoolAccept.getAcceptRuleId(), mallMemberUser.getCultureScore(), mallMemberUser.getMajorScore()); - }else{ + mallSchoolAccept = mallSchoolAcceptMapper.selectMinReferenceBySchoolId(schoolVO.getSchoolId(), batchId, subjectType); + if (ObjectUtils.isNotEmpty(mallSchoolAccept)) { + result = mallCountMethodService.getAcceptRateForReport(mallSchoolAccept.getReference() != null ? mallSchoolAccept.getReference() : new BigDecimal("500"), mallSchoolAccept.getAcceptRuleId(), mallMemberUser.getCultureScore(), mallMemberUser.getMajorScore()); + } else { result.put("acceptRate", BigDecimal.ZERO); result.put("rateType", -2); } @@ -1449,7 +1546,7 @@ public class MallSchoolServiceImpl implements IMallSchoolService { schoolVO.setAcceptRate(new BigDecimal(result.get("acceptRate").toString())); schoolVO.setShowAcceptRate(schoolVO.getAcceptRate() + "%"); - schoolVO.setRateType((Integer)result.get("rateType")); + schoolVO.setRateType((Integer) result.get("rateType")); if (StringUtils.isNotBlank(schoolVO.getTags())) { // 查询标签列表 @@ -1462,45 +1559,45 @@ public class MallSchoolServiceImpl implements IMallSchoolService { } countDownLatch.await(); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); throw new ServiceException(); } - if(rateType == -1){ + if (rateType == -1) { collect = schoolVOS; - }else{ - collect = schoolVOS.stream().filter(item -> item.getRateType()!=null && item.getRateType().equals(rateType)).collect(Collectors.toList()); + } else { + collect = schoolVOS.stream().filter(item -> item.getRateType() != null && item.getRateType().equals(rateType)).collect(Collectors.toList()); } // 排序并处理分页 - if (!collect.isEmpty()){ + if (!collect.isEmpty()) { // 排序 - if (rateType == 3){ - collect.sort(Comparator.comparing(SchoolVO:: getAcceptRate)); + if (rateType == 3) { + collect.sort(Comparator.comparing(SchoolVO::getAcceptRate)); - }else if (rateType == -1){ - collect.sort(Comparator.comparing(SchoolVO:: getSchoolId)); + } else if (rateType == -1) { + collect.sort(Comparator.comparing(SchoolVO::getSchoolId)); - }else{ - collect.sort(Comparator.comparing(SchoolVO:: getAcceptRate).reversed()); + } else { + collect.sort(Comparator.comparing(SchoolVO::getAcceptRate).reversed()); } } } } - //java8 stream实现list分页 + // java8 stream实现list分页 List pageList = collect.stream().sorted().skip((long) (pageNum - 1) * pageSize) .limit(pageSize) .collect(Collectors.toList()); PageInfo pageInfo = new PageInfo(pageList); - //获取PageInfo其他参数 + // 获取PageInfo其他参数 pageInfo.setTotal(collect.size()); - int endRow = pageInfo.getEndRow() == 0 ? 0 : (int)((pageNum - 1) * pageSize + pageInfo.getEndRow() + 1); + int endRow = pageInfo.getEndRow() == 0 ? 0 : (int) ((pageNum - 1) * pageSize + pageInfo.getEndRow() + 1); pageInfo.setEndRow(endRow); boolean hasNextPage = collect.size() <= pageSize * pageNum ? false : true; pageInfo.setHasNextPage(hasNextPage); @@ -1527,13 +1624,18 @@ public class MallSchoolServiceImpl implements IMallSchoolService { pageInfo.setStartRow(starRow); return AjaxResult.success(pageInfo); } - /**志愿自主选择 筛选学校*/ + + /** + * 志愿自主选择 筛选学校 + */ @Override public List getAstrictSchoolIds(CheckingOutParamBo bo) { return mallSchoolMapper.selectSchoolByParams(bo); } - /**志愿自主选择 获取学校信息*/ + /** + * 志愿自主选择 获取学校信息 + */ @Override public List schoolListInfoForReport(List sIds) { return mallSchoolMapper.schoolListInfoForReport(sIds); @@ -1541,22 +1643,24 @@ public class MallSchoolServiceImpl implements IMallSchoolService { /** * 保研率学校列表 - * @param schoolName 学校名 - * @param batchId 批次id + * + * @param schoolName 学校名 + * @param batchId 批次id * @param configLevelId 层次id - * @param configTypeId 办学类型id - * @param provinceId 省份 - * @param cityId 城市 - * @param pageNum 页码 - * @param pageSize 每页个数 + * @param configTypeId 办学类型id + * @param provinceId 省份 + * @param cityId 城市 + * @param pageNum 页码 + * @param pageSize 每页个数 * @return 结果 */ @Override - public PageInfo selectSchoolListForMaster(String schoolName, Long batchId, Long configLevelId, Long configTypeId, Long provinceId, Long cityId, Integer pageNum, Integer pageSize) { + public PageInfo selectSchoolListForMaster(String schoolName, Long batchId, Long configLevelId, Long + configTypeId, Long provinceId, Long cityId, Integer pageNum, Integer pageSize) { PageHelper.startPage(pageNum, pageSize); List schoolList = mallSchoolMapper.selectSchoolListForMaster(schoolName, batchId, configLevelId, configTypeId, provinceId, cityId); - if (!schoolList.isEmpty()){ + if (!schoolList.isEmpty()) { for (SchoolVO schoolVO : schoolList) { if (StringUtils.isNotBlank(schoolVO.getTags())) { // 查询标签列表 @@ -1575,13 +1679,14 @@ public class MallSchoolServiceImpl implements IMallSchoolService { /** * 专业开设学校 - * @param schoolName 学校名称 - * @param batchId 批次id + * + * @param schoolName 学校名称 + * @param batchId 批次id * @param configLevelId 层次id - * @param configTypeId 类型id - * @param provinceId 省份id - * @param cityId 城市id - * @param type 类型(0-强校,1-硕士点) + * @param configTypeId 类型id + * @param provinceId 省份id + * @param cityId 城市id + * @param type 类型(0-强校,1-硕士点) * @return 结果 */ @Override @@ -1597,7 +1702,7 @@ public class MallSchoolServiceImpl implements IMallSchoolService { Integer pageSize) { PageHelper.startPage(pageNum, pageSize); List list = mallSchoolMapper.selectSchoolListByMajorId(schoolName, batchId, configLevelId, configTypeId, provinceId, cityId, type, majorId); - if (!list.isEmpty()){ + if (!list.isEmpty()) { for (SchoolVO schoolVO : list) { if (StringUtils.isNotBlank(schoolVO.getTags())) { // 查询标签列表 @@ -1612,7 +1717,8 @@ public class MallSchoolServiceImpl implements IMallSchoolService { /** * 修改学校重复数据 - * @param schoolId 保留的学校ID + * + * @param schoolId 保留的学校ID * @param deleteSchoolId 删除的学校ID * @return 结果 */ @@ -1708,7 +1814,7 @@ public class MallSchoolServiceImpl implements IMallSchoolService { String qrCode = ""; // 小程序码 Long schoolId = mallSchool.getSchoolId(); - String key = schoolId + ".png"; + String key = schoolId + ".png"; qrCode = weiXinUtils.getSchoolQRCode(schoolId, key); updateSchool.setQrCode(qrCode); } @@ -1727,4 +1833,5 @@ public class MallSchoolServiceImpl implements IMallSchoolService { public MallSchool selectMallSchoolBySysUserId(Long sysUserId) { return mallSchoolMapper.selectMallSchoolBySysUserId(sysUserId); } + } diff --git a/ruoyi-system/src/main/resources/mapper/mall/MallAcceptPlanMapper.xml b/ruoyi-system/src/main/resources/mapper/mall/MallAcceptPlanMapper.xml index 64528e4528d04ac3fac057f2684f2f9c474e5bf5..776b43e9afa598a73ed548b348a73942dd5ddb53 100644 --- a/ruoyi-system/src/main/resources/mapper/mall/MallAcceptPlanMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/mall/MallAcceptPlanMapper.xml @@ -413,9 +413,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - school_id, INSERT INTO mall_accept_plan ( - batch_id,batch_id,plan_year,major_id,subject_type,accept_num, + school_id,batch_id,plan_year,major_id,subject_type,accept_num, school_price,accept_rule_id,little_score_limit,sort, create_at,update_at,del_flag,link_id ) VALUES diff --git a/ruoyi-system/src/main/resources/mapper/mall/MallSchoolAcceptMapper.xml b/ruoyi-system/src/main/resources/mapper/mall/MallSchoolAcceptMapper.xml index cb950c51a4fe0fed30f6fa96d589592b6902973e..752ece3bcfaccc6c724ad9786914b171115153ce 100644 --- a/ruoyi-system/src/main/resources/mapper/mall/MallSchoolAcceptMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/mall/MallSchoolAcceptMapper.xml @@ -159,6 +159,44 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{linkId}, + + insert into mall_school_accept( + school_id, + major_id, + batch_id, + accept_num, + accept_lowest, + accept_year, + accept_rule_id, + send_rule_id, + create_at, + update_at, + del_flag, + subject_type, + reference, + is_reference, + link_id + ) VALUES + + ( + #{item.schoolId}, + #{item.majorId}, + #{item.batchId}, + #{item.acceptNum}, + #{item.acceptLowest}, + #{item.acceptYear}, + #{item.acceptRuleId}, + #{item.sendRuleId}, + #{item.createAt}, + #{item.updateAt}, + #{item.delFlag}, + #{item.subjectType}, + #{item.reference}, + #{item.isReference}, + #{item.linkId}, + ) + + update mall_school_accept