最近写了几个接口,获取某某班知识点、认知层次、核心素养、关键能力以及题型的得分详细情况。它们分为不同得entity,共同继承了同一个父级entity。如下代码所示:
@Data
public class ReportClassKnowledgeVo extends BaseFourElements implements Serializable {
/*知识点*/
private Long knowledgeId;
/*认知层次*/
private Long level;
/*知识点的名称*/
private String knowledgeName;
}
这些得分详细情况处理后都放到班级下面去。它们的业务处理完全一样,就是实体不一样,所以我想把這些都相同的业务处理提出来作为一个方法,减少代码的冗余。如下代码所示:
public <T> List<SchoolClassVo> detailClassData(Long schoolCode, String classIds,List<T> t){
List<SchoolClassVo> schoolClass= userService.findClassById(StringArray.getStringArray(classIds));
schoolClass.addAll(ObjFactory.createObjClass(classIds,schoolCode,schoolClass.size()>0 ? schoolClass.get(0).getGradeCode():null));
List<Object> knowledges = new ArrayList<>();
for (SchoolClassVo schoolClassVo:schoolClass){
/