diff --git a/src/main/java/cn/teammodel/controller/admin/controller/ArtController.java b/src/main/java/cn/teammodel/controller/admin/controller/ArtController.java index 260d06b..244df4a 100644 --- a/src/main/java/cn/teammodel/controller/admin/controller/ArtController.java +++ b/src/main/java/cn/teammodel/controller/admin/controller/ArtController.java @@ -2,10 +2,7 @@ package cn.teammodel.controller.admin.controller; import cn.teammodel.common.R; import cn.teammodel.controller.admin.service.ArtService; -import cn.teammodel.model.dto.admin.art.ArtAnalysisDto; -import cn.teammodel.model.dto.admin.art.ArtFindDto; -import cn.teammodel.model.dto.admin.art.DataFileCommentDto; -import cn.teammodel.model.dto.admin.art.DataFileDto; +import cn.teammodel.model.dto.admin.art.*; import cn.teammodel.model.dto.admin.common.GroupDto; import cn.teammodel.model.dto.admin.common.RGroupList; import cn.teammodel.model.vo.admin.ArtElementsVo; @@ -63,5 +60,11 @@ public class ArtController { Map res = ArtService.getArtAnalytics(artAnalysisDto,request); return R.success(res); } + @PostMapping("fiveArtAnalysis") + @ApiOperation("五育艺术分析") + public R> getFiveArtAnalysis(@Valid @RequestBody FiveArtDto fiveArtDto, HttpServletRequest request) { + Map res = ArtService.getFiveArtAnalysis(fiveArtDto,request); + return R.success(res); + } } diff --git a/src/main/java/cn/teammodel/controller/admin/service/ArtService.java b/src/main/java/cn/teammodel/controller/admin/service/ArtService.java index b8315c4..c8aa56e 100644 --- a/src/main/java/cn/teammodel/controller/admin/service/ArtService.java +++ b/src/main/java/cn/teammodel/controller/admin/service/ArtService.java @@ -1,9 +1,6 @@ package cn.teammodel.controller.admin.service; -import cn.teammodel.model.dto.admin.art.ArtAnalysisDto; -import cn.teammodel.model.dto.admin.art.ArtFindDto; -import cn.teammodel.model.dto.admin.art.DataFileCommentDto; -import cn.teammodel.model.dto.admin.art.DataFileDto; +import cn.teammodel.model.dto.admin.art.*; import cn.teammodel.model.dto.admin.common.GroupDto; import cn.teammodel.model.dto.admin.common.RGroupList; import cn.teammodel.model.vo.admin.ArtElementsVo; @@ -19,4 +16,5 @@ public interface ArtService { List getPdfData(DataFileDto dataFileDto,HttpServletRequest request); List updateComment(DataFileCommentDto dataFileCommentDto, HttpServletRequest request); Map getArtAnalytics(ArtAnalysisDto artAnalysisDto, HttpServletRequest request); + Map getFiveArtAnalysis(FiveArtDto fiveArtDto, HttpServletRequest request); } diff --git a/src/main/java/cn/teammodel/controller/admin/service/impl/ArtServiceImpl.java b/src/main/java/cn/teammodel/controller/admin/service/impl/ArtServiceImpl.java index 66d5b3e..39c1b0a 100644 --- a/src/main/java/cn/teammodel/controller/admin/service/impl/ArtServiceImpl.java +++ b/src/main/java/cn/teammodel/controller/admin/service/impl/ArtServiceImpl.java @@ -3,10 +3,7 @@ package cn.teammodel.controller.admin.service.impl; import cn.teammodel.common.ErrorCode; import cn.teammodel.config.exception.ServiceException; import cn.teammodel.controller.admin.service.ArtService; -import cn.teammodel.model.dto.admin.art.ArtAnalysisDto; -import cn.teammodel.model.dto.admin.art.ArtFindDto; -import cn.teammodel.model.dto.admin.art.DataFileCommentDto; -import cn.teammodel.model.dto.admin.art.DataFileDto; +import cn.teammodel.model.dto.admin.art.*; import cn.teammodel.model.dto.admin.common.GroupDto; import cn.teammodel.model.dto.admin.common.RGroupList; import cn.teammodel.model.dto.admin.common.RMember; @@ -159,4 +156,30 @@ public class ArtServiceImpl implements ArtService { } return analysis; } + + @Override + public Map getFiveArtAnalysis(FiveArtDto fiveArtDto, HttpServletRequest request) { + Map analysis = new HashMap<>(); + try { + if (!fiveArtDto.getSubjects().isEmpty()) { + for (FiveArtDto.Subs subs : fiveArtDto.getSubjects()) { + Map analysisSubjects = new HashMap<>(); + ArtAnalysisDto artAnalysisDto = new ArtAnalysisDto(); + artAnalysisDto.setId(fiveArtDto.getId()); + artAnalysisDto.setCode(fiveArtDto.getCode()); + artAnalysisDto.setPeriodId(fiveArtDto.getPeriodId()); + artAnalysisDto.setAreaId(fiveArtDto.getAreaId()); + artAnalysisDto.setExamId(subs.getExamId()); + artAnalysisDto.setClassIds(fiveArtDto.getClassIds()); + artAnalysisDto.setSubjectId(subs.getSubjectId()); + analysisSubjects = getArtAnalytics( artAnalysisDto, request); + analysis.put(subs.getSubjectId(),analysisSubjects); + } + } + return analysis; + + }catch (Exception e) { + throw new ServiceException(ErrorCode.SYSTEM_ERROR.getCode(), "获取数据异常"); + } + } } diff --git a/src/main/java/cn/teammodel/model/dto/admin/art/FiveArtDto.java b/src/main/java/cn/teammodel/model/dto/admin/art/FiveArtDto.java new file mode 100644 index 0000000..4f6dd12 --- /dev/null +++ b/src/main/java/cn/teammodel/model/dto/admin/art/FiveArtDto.java @@ -0,0 +1,26 @@ +package cn.teammodel.model.dto.admin.art; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; +@Data +public class FiveArtDto { + @ApiModelProperty("艺术活动唯一ID") + public String id; + @ApiModelProperty("科目ID 针对艺术评测 ID如下 subject_music 为音乐 subject_painting为美术") + public List subjects; + @ApiModelProperty("学校编码") + public String code; + @ApiModelProperty("学段ID") + public String periodId; + @ApiModelProperty("区域ID 为了获取当前学校所在区域 配置内容") + public String areaId; + @ApiModelProperty("班级ID集合,为了查询效率减少数据回传过大的问题,目前设计了几种方式,查询年级 则传该年级所有班级ID集合(此方式下不会返回学生数据),查指定班级则传对应班级ID即可") + public List classIds; + @Data + public static class Subs { + public String subjectId; + public String examId; + } +}