From f090a76a3fd8f56c2f219cbbba0676ec766354fb Mon Sep 17 00:00:00 2001 From: sunhonglei Date: Wed, 5 Mar 2025 18:54:00 +0800 Subject: [PATCH] =?UTF-8?q?=E8=80=83=E8=AF=95=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ccic/safeliab/entity/ExamStatistics.java | 18 ++ .../safeliab/dao/ExamStatisticsMapper.java | 20 ++ .../service/ExamStatisticsService.java | 19 ++ .../service/ExamStatisticsServiceImpl.java | 37 ++++ .../web/ExamStatisticsController.java | 44 +++++ .../mappers/ExamStatisticsMapper.xml | 174 ++++++++++++++++++ 6 files changed, 312 insertions(+) create mode 100644 ccic-entity/src/main/java/com/ccic/safeliab/entity/ExamStatistics.java create mode 100644 ccic-exam/src/main/java/com/ccic/safeliab/dao/ExamStatisticsMapper.java create mode 100644 ccic-exam/src/main/java/com/ccic/safeliab/service/ExamStatisticsService.java create mode 100644 ccic-exam/src/main/java/com/ccic/safeliab/service/ExamStatisticsServiceImpl.java create mode 100644 ccic-exam/src/main/java/com/ccic/safeliab/web/ExamStatisticsController.java create mode 100644 ccic-exam/src/main/resources/mappers/ExamStatisticsMapper.xml diff --git a/ccic-entity/src/main/java/com/ccic/safeliab/entity/ExamStatistics.java b/ccic-entity/src/main/java/com/ccic/safeliab/entity/ExamStatistics.java new file mode 100644 index 0000000..18c5dbb --- /dev/null +++ b/ccic-entity/src/main/java/com/ccic/safeliab/entity/ExamStatistics.java @@ -0,0 +1,18 @@ +package com.ccic.safeliab.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class ExamStatistics extends BaseEntity{ + +} diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/dao/ExamStatisticsMapper.java b/ccic-exam/src/main/java/com/ccic/safeliab/dao/ExamStatisticsMapper.java new file mode 100644 index 0000000..a4700b6 --- /dev/null +++ b/ccic-exam/src/main/java/com/ccic/safeliab/dao/ExamStatisticsMapper.java @@ -0,0 +1,20 @@ +package com.ccic.safeliab.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ccic.safeliab.entity.ExamStatistics; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; +import java.util.Map; + +@Mapper +public interface ExamStatisticsMapper extends BaseMapper{ + int getQuestionCount(); + int getPaperCount(); + int getExamCount(); + List> getIndustryDimensionData(); + List> getAqServiceDimensionData(); + List> getExamTableData(); + List> getScoreDistributionData(); + List> getPaperDistributionData(); +} \ No newline at end of file diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamStatisticsService.java b/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamStatisticsService.java new file mode 100644 index 0000000..64a5b53 --- /dev/null +++ b/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamStatisticsService.java @@ -0,0 +1,19 @@ +package com.ccic.safeliab.service; + +import com.ccic.safeliab.entity.ExamSchedule; +import com.ccic.safeliab.entity.ExamStatistics; +import com.ccic.safeliab.support.BaseService; + +import java.util.List; +import java.util.Map; + +public interface ExamStatisticsService extends BaseService { + int getQuestionCount(); + int getPaperCount(); + int getExamCount(); + List> getIndustryDimensionData(); + List> getAqServiceDimensionData(); + List> getExamTableData(); + List> getScoreDistributionData(); + List> getPaperDistributionData(); +} diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamStatisticsServiceImpl.java b/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamStatisticsServiceImpl.java new file mode 100644 index 0000000..6a298b3 --- /dev/null +++ b/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamStatisticsServiceImpl.java @@ -0,0 +1,37 @@ +package com.ccic.safeliab.service; + +import com.ccic.safeliab.dao.ExamStatisticsMapper; +import com.ccic.safeliab.entity.ExamStatistics; +import com.ccic.safeliab.support.BaseServiceImpl; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +@Service +public class ExamStatisticsServiceImpl extends BaseServiceImpl implements ExamStatisticsService { + public int getQuestionCount(){ + return baseMapper.getQuestionCount(); + } + public int getPaperCount(){ + return baseMapper.getPaperCount(); + } + public int getExamCount(){ + return baseMapper.getExamCount(); + } + public List> getIndustryDimensionData(){ + return baseMapper.getIndustryDimensionData(); + } + public List> getAqServiceDimensionData(){ + return baseMapper.getAqServiceDimensionData(); + } + public List> getExamTableData(){ + return baseMapper.getExamTableData(); + } + public List> getScoreDistributionData(){ + return baseMapper.getScoreDistributionData(); + } + public List> getPaperDistributionData(){ + return baseMapper.getPaperDistributionData(); + } +} diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/web/ExamStatisticsController.java b/ccic-exam/src/main/java/com/ccic/safeliab/web/ExamStatisticsController.java new file mode 100644 index 0000000..8d3fdd6 --- /dev/null +++ b/ccic-exam/src/main/java/com/ccic/safeliab/web/ExamStatisticsController.java @@ -0,0 +1,44 @@ +package com.ccic.safeliab.web; + +import com.ccic.safeliab.entity.ExamSchedule; +import com.ccic.safeliab.service.ExamScheduleService; +import com.ccic.safeliab.service.ExamStatisticsService; +import com.ccic.safeliab.util.R; +import com.ccic.safeliab.vo.ExamScheduleVO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("/ex/exam-statistics") +public class ExamStatisticsController { + @Autowired + private ExamStatisticsService service; + @GetMapping("/init") + public R init() { + // 这里可以添加实际的数据库查询逻辑 + Map result = new HashMap<>(); + // 题目数 + result.put("questionCount", service.getQuestionCount()); + // 试卷数 + result.put("paperCount", service.getPaperCount()); + // 考试数 + result.put("examCount", service.getExamCount()); + // 监管行业环状图 + result.put("industryDimensionData", service.getIndustryDimensionData()); + // 安全服务环状图 + result.put("aqServiceDimensionData",service.getAqServiceDimensionData()); + // 考试状况表格 + result.put("examTableData",service.getExamTableData()); + // 成绩分布 + result.put("scoreDistributionData",service.getScoreDistributionData()); + // 试卷情况 + result.put("paperDistributionData",service.getPaperDistributionData()); + + return R.ok().data(result); + } +} diff --git a/ccic-exam/src/main/resources/mappers/ExamStatisticsMapper.xml b/ccic-exam/src/main/resources/mappers/ExamStatisticsMapper.xml new file mode 100644 index 0000000..f865c98 --- /dev/null +++ b/ccic-exam/src/main/resources/mappers/ExamStatisticsMapper.xml @@ -0,0 +1,174 @@ + + + + + + + + + + + + + \ No newline at end of file