fix: 修复新增年级/班级时Integer转Long类型错误
JSON解析时数值会被解析为Integer,直接强制转换为List<Long>会报错 改为逐个元素转换:id -> Long.valueOf(id.toString())
This commit is contained in:
parent
40fe55b42a
commit
3cad9fa79a
|
|
@ -95,8 +95,12 @@ public class PgSchoolController extends BaseController {
|
|||
@PostMapping("/grade")
|
||||
public R<Void> addSchoolGrade(@RequestBody Map<String, Object> params) {
|
||||
Long schoolId = Long.valueOf(params.get("schoolId").toString());
|
||||
// JSON解析时数值会被解析为Integer,需要逐个转换为Long
|
||||
@SuppressWarnings("unchecked")
|
||||
List<Long> gradeIds = (List<Long>) params.get("gradeIds");
|
||||
List<?> rawGradeIds = (List<?>) params.get("gradeIds");
|
||||
List<Long> gradeIds = rawGradeIds.stream()
|
||||
.map(id -> Long.valueOf(id.toString()))
|
||||
.toList();
|
||||
return toAjax(schoolService.addSchoolGrades(schoolId, gradeIds));
|
||||
}
|
||||
|
||||
|
|
@ -109,8 +113,12 @@ public class PgSchoolController extends BaseController {
|
|||
public R<Void> addGradeClass(@RequestBody Map<String, Object> params) {
|
||||
Long schoolId = Long.valueOf(params.get("schoolId").toString());
|
||||
Long schoolGradeId = Long.valueOf(params.get("schoolGradeId").toString());
|
||||
// JSON解析时数值会被解析为Integer,需要逐个转换为Long
|
||||
@SuppressWarnings("unchecked")
|
||||
List<Long> classIds = (List<Long>) params.get("classIds");
|
||||
List<?> rawClassIds = (List<?>) params.get("classIds");
|
||||
List<Long> classIds = rawClassIds.stream()
|
||||
.map(id -> Long.valueOf(id.toString()))
|
||||
.toList();
|
||||
return toAjax(schoolService.addGradeClasses(schoolId, schoolGradeId, classIds));
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue