依据学生id和姓名获取四级成绩修改

This commit is contained in:
YuNan 2024-09-09 21:37:47 +08:00
parent 1a078ceddd
commit 018b55434c
4 changed files with 19 additions and 35 deletions

View File

@ -170,13 +170,8 @@ public class Cet_4Controller extends JeecgController<Cet_4, ICet_4Service> {
* 依据学生id和姓名获取四级成绩
*/
@GetMapping("/getDataByStudent")
public Result<JSONObject> getDataByStudent(@RequestParam("id") Integer id, @RequestParam("name") String name){
// 参数检查
if (id == null || name == null) {
return Result.error("ID 或姓名不能为空");
}
return cet_4Service.getDataByStudent(id , name);
public Result<JSONObject> getDataByStudent(@RequestBody JSONObject jsonObject){
return cet_4Service.getDataByStudent(jsonObject);
}
}

View File

@ -23,6 +23,6 @@ public interface ICet_4Service extends IService<Cet_4> {
Result<JSONObject> getRateByMajor(JSONObject webData);
Result<JSONObject> getDataByStudent(Integer studentId, String studentName);
Result<JSONObject> getDataByStudent(JSONObject jsonObject);
boolean cleanData();
}

View File

@ -48,7 +48,7 @@ public class Cet_4ServiceImpl extends ServiceImpl<Cet_4Mapper, Cet_4> implements
CetCleanService cetCleanService;
@Resource
private RedisTemplate<String,Object> redisTemplate;
private RedisTemplate<String, Object> redisTemplate;
@Override
@ -544,12 +544,12 @@ public class Cet_4ServiceImpl extends ServiceImpl<Cet_4Mapper, Cet_4> implements
@ApiOperation(value = "仅用作清洗数据")
@Override
public boolean cleanData() {
LambdaQueryWrapper<CetClean> cleanWrapper=new LambdaQueryWrapper<>();
LambdaQueryWrapper<CetClean> cleanWrapper = new LambdaQueryWrapper<>();
cleanWrapper.groupBy(CetClean::getCollege);
List<CetClean> list = cetCleanService.list(cleanWrapper);
Set<String> collegeSet = list.stream().map(CetClean::getCollege).collect(Collectors.toSet());
LambdaQueryWrapper<Cet_4> cet4Wrapper=new LambdaQueryWrapper<>();
cet4Wrapper.notIn(Cet_4::getCollege,collegeSet);
LambdaQueryWrapper<Cet_4> cet4Wrapper = new LambdaQueryWrapper<>();
cet4Wrapper.notIn(Cet_4::getCollege, collegeSet);
return remove(cet4Wrapper);
}
@ -557,30 +557,18 @@ public class Cet_4ServiceImpl extends ServiceImpl<Cet_4Mapper, Cet_4> implements
* 依据学生id和姓名获取四级数据
*/
@Override
public Result<JSONObject> getDataByStudent(Integer id,String name) {
//判断是否存在缓存
String key = "getDataByStudent:"+id + name;
if (Boolean.TRUE.equals(redisTemplate.hasKey(key))) {
System.out.println((JSONObject) redisTemplate.opsForValue().get(key));
return Result.ok((JSONObject) redisTemplate.opsForValue().get(key));
public Result<JSONObject> getDataByStudent(JSONObject jsonObject) {
String name = jsonObject.getString("name");
Integer id = jsonObject.getInteger("id");
if (name == null || id == null) {
return Result.error("请填写完整的参数");
}
JSONObject result = new JSONObject();
//收集成绩
LambdaQueryWrapper<Cet_4> Cet_4ResultQW = new LambdaQueryWrapper<>();
Cet_4ResultQW.select(Cet_4::getResult)
.groupBy(Cet_4::getResult);
List<Map<String, Object>> Cet_4Result = cet4Mapper.selectMaps(Cet_4ResultQW);
if (Cet_4Result == null) {
return Result.error("查询结果为空");
}
System.out.println(Cet_4Result);
result.put("results", Cet_4Result);
//将数据存入缓存
redisTemplate.opsForValue().set(key, result);
LambdaQueryWrapper<Cet_4> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Cet_4::getName, name)
.eq(Cet_4::getId, id);
List<Cet_4> list = list(wrapper);
result.put("results", list);
return Result.ok(result);
}
@ -590,6 +578,7 @@ public class Cet_4ServiceImpl extends ServiceImpl<Cet_4Mapper, Cet_4> implements
queryWrapper.eq(Cet_4::getBatch, batch);
return cet4Mapper.selectCount(queryWrapper);
}
//获取学院的人数
private long getNumCollege(String college, Date batch) {
LambdaQueryWrapper<Cet_4> queryWrapper = new LambdaQueryWrapper<>();

View File

@ -21,7 +21,7 @@ public class text {
System.err.println("Cet_4Controller 未正确注入");
return;
}
Result<JSONObject> result = cet_4Controller.getDataByStudent(2023011559, "余映婵");
// Result<JSONObject> result = cet_4Controller.getDataByStudent(2023011559, "余映婵");
System.out.println(result);
}
}