添加解释

This commit is contained in:
xbx 2024-05-30 20:51:49 +08:00
parent a5dc424f29
commit a562efe488
3 changed files with 474 additions and 446 deletions

View File

@ -188,6 +188,7 @@ public class CenterServiceImpl extends ServiceImpl<Cet_4Mapper, Cet_4> implement
//判断是否存在缓存 //判断是否存在缓存
String key = "getData:"+college + major + entryDate; String key = "getData:"+college + major + entryDate;
if (Boolean.TRUE.equals(redisTemplate.hasKey(key))) { if (Boolean.TRUE.equals(redisTemplate.hasKey(key))) {
System.out.println((JSONObject) redisTemplate.opsForValue().get(key));
return Result.ok((JSONObject) redisTemplate.opsForValue().get(key)); return Result.ok((JSONObject) redisTemplate.opsForValue().get(key));
} }
//获取所有batch //获取所有batch

View File

@ -89,6 +89,7 @@ public class Cet_4ServiceImpl extends ServiceImpl<Cet_4Mapper, Cet_4> implements
throw new RuntimeException(e); throw new RuntimeException(e);
} }
JSONObject jsonObject = new JSONObject(new LinkedHashMap<>()); JSONObject jsonObject = new JSONObject(new LinkedHashMap<>());
JSONObject resultData = new JSONObject();
LambdaQueryWrapper<Cet_4> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<Cet_4> queryWrapper = new LambdaQueryWrapper<>();
//构造查询条件 //构造查询条件
@ -98,13 +99,32 @@ public class Cet_4ServiceImpl extends ServiceImpl<Cet_4Mapper, Cet_4> implements
queryWrapper.eq(Cet_4::getBatch, batch).ge(Cet_4::getResult, 425); queryWrapper.eq(Cet_4::getBatch, batch).ge(Cet_4::getResult, 425);
List<Cet_4> result = cet4Mapper.selectList(queryWrapper); List<Cet_4> result = cet4Mapper.selectList(queryWrapper);
collect = result.stream().collect(Collectors.groupingBy(Cet_4::getCollege)); collect = result.stream().collect(Collectors.groupingBy(Cet_4::getCollege));
//获取全校人数
long allStudent = getNumAll(batch);
//获取全校通过人数
LambdaQueryWrapper<Cet_4> passQW = new LambdaQueryWrapper<>();
passQW.eq(Cet_4::getBatch, batch).ge(Cet_4::getResult, 425);
long passStudent = cet4Mapper.selectCount(queryWrapper);
double passRateSum = passStudent / (double) allStudent * 100;
DecimalFormat decimalFormat = new DecimalFormat("#.#");
String rate = decimalFormat.format(passRateSum);
double res = Double.parseDouble(rate);
resultData.put("sumRate", res);
} else { } else {
queryWrapper.eq(Cet_4::getCollege, college).eq(Cet_4::getBatch, batch).ge(Cet_4::getResult, 425); queryWrapper.eq(Cet_4::getCollege, college).eq(Cet_4::getBatch, batch).ge(Cet_4::getResult, 425);
List<Cet_4> result = cet4Mapper.selectList(queryWrapper); List<Cet_4> result = cet4Mapper.selectList(queryWrapper);
collect = result.stream().collect(Collectors.groupingBy(Cet_4::getMajorname)); collect = result.stream().collect(Collectors.groupingBy(Cet_4::getMajorname));
//获取学院人数
long allStudent = getNumCollege(college, batch);
//获取学院通过人数
LambdaQueryWrapper<Cet_4> passQW = new LambdaQueryWrapper<>();
passQW.eq(Cet_4::getCollege, college).eq(Cet_4::getBatch, batch).ge(Cet_4::getResult, 425);
long passStudent = cet4Mapper.selectCount(queryWrapper);
double passRateSum = passStudent / (double) allStudent * 100;
DecimalFormat decimalFormat = new DecimalFormat("#.#");
String rate = decimalFormat.format(passRateSum);
double res = Double.parseDouble(rate);
resultData.put("sumRate", res);
} }
// System.out.println(collect); // System.out.println(collect);
// List<Cet_4> result = cet4Mapper.selectList(queryWrapper); // List<Cet_4> result = cet4Mapper.selectList(queryWrapper);
@ -120,7 +140,6 @@ public class Cet_4ServiceImpl extends ServiceImpl<Cet_4Mapper, Cet_4> implements
cet4MajorQW.select(Cet4_major::getMajorname).eq(Cet4_major::getCollege, college).groupBy(Cet4_major::getMajorname); cet4MajorQW.select(Cet4_major::getMajorname).eq(Cet4_major::getCollege, college).groupBy(Cet4_major::getMajorname);
//若为转专业的则剔除 //若为转专业的则剔除
List<Object> majorList = cet4_MajorMapper.selectObjs(cet4MajorQW); List<Object> majorList = cet4_MajorMapper.selectObjs(cet4MajorQW);
System.out.println(majorList);
if (majorList.contains(entry.getKey())) { if (majorList.contains(entry.getKey())) {
sum = (double) getNumMajor(entry.getKey(), batch); sum = (double) getNumMajor(entry.getKey(), batch);
} else { } else {
@ -137,15 +156,14 @@ public class Cet_4ServiceImpl extends ServiceImpl<Cet_4Mapper, Cet_4> implements
} }
//对jsonObject的值进行排序 //对jsonObject的值进行排序
List<Map.Entry<String, Object>> list = new ArrayList<>(jsonObject.entrySet()); List<Map.Entry<String, Object>> list = new ArrayList<>(jsonObject.entrySet());
System.out.println(list);
Collections.sort(list, (o1, o2) -> (double) o1.getValue() > (double) o2.getValue() ? -1 : 1); Collections.sort(list, (o1, o2) -> (double) o1.getValue() > (double) o2.getValue() ? -1 : 1);
jsonObject.clear(); jsonObject.clear();
for (Map.Entry<String, Object> stringObjectEntry : list) { for (Map.Entry<String, Object> stringObjectEntry : list) {
jsonObject.put(stringObjectEntry.getKey(), stringObjectEntry.getValue()); jsonObject.put(stringObjectEntry.getKey(), stringObjectEntry.getValue());
} }
return Result.OK(jsonObject); resultData.put("data", jsonObject);
System.out.println(resultData);
return Result.OK(resultData);
} }
@Override @Override
@ -508,12 +526,20 @@ public class Cet_4ServiceImpl extends ServiceImpl<Cet_4Mapper, Cet_4> implements
return Result.ok(result); return Result.ok(result);
} }
//获取全校人数
private long getNumAll(Date batch) {
LambdaQueryWrapper<Cet_4> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Cet_4::getBatch, batch);
return cet4Mapper.selectCount(queryWrapper);
}
//获取学院的人数
private long getNumCollege(String college, Date batch) { private long getNumCollege(String college, Date batch) {
LambdaQueryWrapper<Cet_4> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<Cet_4> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Cet_4::getCollege, college).eq(Cet_4::getBatch, batch); queryWrapper.eq(Cet_4::getCollege, college).eq(Cet_4::getBatch, batch);
return cet4Mapper.selectCount(queryWrapper); return cet4Mapper.selectCount(queryWrapper);
} }
//获取专业的人数
private long getNumMajor(String major, Date batch) { private long getNumMajor(String major, Date batch) {
LambdaQueryWrapper<Cet_4> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<Cet_4> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Cet_4::getMajorname, major).eq(Cet_4::getBatch, batch); queryWrapper.eq(Cet_4::getMajorname, major).eq(Cet_4::getBatch, batch);

View File

@ -1,4 +1,5 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>org.jeecgframework.boot</groupId> <groupId>org.jeecgframework.boot</groupId>
<artifactId>jeecg-boot-parent</artifactId> <artifactId>jeecg-boot-parent</artifactId>