Merge pull request 'dev' (#7) from YuNan/CET-cmd-2.0:dev into dev

Reviewed-on: #7
This commit is contained in:
YuNan 2025-03-19 15:58:13 +08:00
commit d5c7172fed
2 changed files with 27 additions and 16 deletions

View File

@ -209,10 +209,10 @@ public class CenterServiceImpl extends ServiceImpl<Cet_4Mapper, Cet_4> implement
public Result<JSONObject> getData(String college, String major, String entryDate) { public Result<JSONObject> getData(String college, String major, String entryDate) {
//判断是否存在缓存 //判断是否存在缓存
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)); // 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
JSONObject batch = getBatch(); JSONObject batch = getBatch();
JSONArray batchsArray = batch.getJSONArray("batches"); JSONArray batchsArray = batch.getJSONArray("batches");
@ -339,8 +339,8 @@ public class CenterServiceImpl extends ServiceImpl<Cet_4Mapper, Cet_4> implement
json.put("batch", batchList.get(i)); json.put("batch", batchList.get(i));
json.put("attendNumber", attendNumber4[i]);//每个年级的参加人数, json.put("attendNumber", attendNumber4[i]);//每个年级的参加人数,
json.put("passNumber", passNew4[i]);//每个年级的新通过人数 json.put("passNumber", passNew4[i]);//每个年级的新通过人数
json.put("batchpassrate", df.format((passNew4[i] / (double) attendNumber4[i])));//每个批次新通过人数/参加人数 json.put("batchpassrate", df.format(((attendNumber4[i] == 0) ? 0 : passNew4[i] / (double) attendNumber4[i])));//每个批次新通过人数/参加人数
json.put("gradepassrate", df.format((passNumber[i] / (double) allStudent)));//累计通过 / 总人数 json.put("gradepassrate", df.format(((allStudent == 0) ? 0 : passNumber[i] / (double) allStudent)));//累计通过 / 总人数
gradeArray.add(json); gradeArray.add(json);
resultJson.put(grade[i / 2], gradeArray); resultJson.put(grade[i / 2], gradeArray);
} else { } else {
@ -350,8 +350,8 @@ public class CenterServiceImpl extends ServiceImpl<Cet_4Mapper, Cet_4> implement
json.put("batch", batchList.get(j)); json.put("batch", batchList.get(j));
json.put("attendNumber", attendNumber4[j]);//每个年级的参加人数, json.put("attendNumber", attendNumber4[j]);//每个年级的参加人数,
json.put("passNumber", passNew4[j]);//每个年级的新通过人数 json.put("passNumber", passNew4[j]);//每个年级的新通过人数
json.put("batchpassrate", df.format((passNew4[j] / (double) attendNumber4[j])));//每个批次新通过人数/参加人数 json.put("batchpassrate", df.format(((attendNumber4[j] == 0) ? 0 : passNew4[j] / (double) attendNumber4[j])));//每个批次新通过人数/参加人数
json.put("gradepassrate", df.format((passNumber[i + 1] / (double) allStudent)));//累计通过 / 总人数 json.put("gradepassrate", df.format(((allStudent == 0) ? 0 : passNumber[i + 1] / (double) allStudent)));//累计通过 / 总人数
gradeArray.add(json); gradeArray.add(json);
} }
resultJson.put(grade[i / 2], gradeArray); resultJson.put(grade[i / 2], gradeArray);
@ -363,7 +363,8 @@ public class CenterServiceImpl extends ServiceImpl<Cet_4Mapper, Cet_4> implement
result.put("total", allStudent);//总人数 result.put("total", allStudent);//总人数
result.put("totalName", totalName);//总人数 result.put("totalName", totalName);//总人数
result.put("passNumber", passNumber[n - 1]);//累计通过人数 result.put("passNumber", passNumber[n - 1]);//累计通过人数
result.put("passRate", df.format((passNumber[n - 1] / (double) allStudent)));//累计通过率 result.put("passRate", df.format(((allStudent == 0) ? 0 : passNumber[n - 1] / (double) allStudent)));//累计通过率
// 将数据存入缓存 // 将数据存入缓存
redisTemplate.opsForValue().set(key, result, Duration.ofDays(7)); redisTemplate.opsForValue().set(key, result, Duration.ofDays(7));
return Result.ok(result); return Result.ok(result);

View File

@ -97,9 +97,9 @@ public class Cet_4ServiceImpl extends ServiceImpl<Cet_4Mapper, Cet_4> implements
@Override @Override
public Result<JSONObject> getRateByBatch(String college, String batchStr) { public Result<JSONObject> getRateByBatch(String college, String batchStr) {
if (redisTemplate.opsForValue().get("getRateByBatch" + college + batchStr) != null) { // if (redisTemplate.opsForValue().get("getRateByBatch" + college + batchStr) != null) {
return Result.ok((JSONObject) redisTemplate.opsForValue().get("getRateByBatch" + college + batchStr)); // return Result.ok((JSONObject) redisTemplate.opsForValue().get("getRateByBatch" + college + batchStr));
} // }
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
DecimalFormat decimalFormat = new DecimalFormat("#.#"); DecimalFormat decimalFormat = new DecimalFormat("#.#");
Date batch; Date batch;
@ -127,9 +127,10 @@ public class Cet_4ServiceImpl extends ServiceImpl<Cet_4Mapper, Cet_4> implements
passedList = passedList.stream().filter(e -> trueEntryDate.contains(e.getEntrydate())).collect(Collectors.toList()); passedList = passedList.stream().filter(e -> trueEntryDate.contains(e.getEntrydate())).collect(Collectors.toList());
if(college.equals("全校")){ if(college.equals("全校")){
collect = passedList.stream().collect(Collectors.groupingBy(Cet_4::getCollege)); collect = passedList.stream().collect(Collectors.groupingBy(Cet_4::getCollege));
}else{ } else {
//TODOmajorname为空时存在异常 collect = passedList.stream()
collect = passedList.stream().collect(Collectors.groupingBy(Cet_4::getMajorname)); .filter(cet4 -> cet4.getMajorname() != null)
.collect(Collectors.groupingBy(Cet_4::getMajorname));
} }
// 过滤除去错误的数据 // 过滤除去错误的数据
@ -139,7 +140,16 @@ public class Cet_4ServiceImpl extends ServiceImpl<Cet_4Mapper, Cet_4> implements
long passStudent = passedList.size(); long passStudent = passedList.size();
double passRateSum = (passStudent / (double) allStudent) * 100; double passRateSum = (passStudent / (double) allStudent) * 100;
String rate = decimalFormat.format(passRateSum); String rate = decimalFormat.format(passRateSum);
double res = Double.parseDouble(rate); double res;
try {
res= Double.parseDouble(rate);
}catch (NumberFormatException e){
e.printStackTrace();
res=0;
}
// double res = Double.parseDouble(rate);
resultData.put("sumRate", res); resultData.put("sumRate", res);