zouxuan 5 éve
szülő
commit
7f6c13b0f2
17 módosított fájl, 415 hozzáadás és 26 törlés
  1. 0 3
      edu-common/src/main/java/com/keao/edu/common/dal/BaseDAO.java
  2. 21 4
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamRegistrationController.java
  3. 11 3
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamSongController.java
  4. 0 1
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/TenantInfoController.java
  5. 30 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/ExamRegistrationDao.java
  6. 14 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/ExamSongDao.java
  7. 52 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/dto/ExamRecordDto.java
  8. 73 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/dto/ExamRegistrationDto.java
  9. 19 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/page/ExamRecordQueryInfo.java
  10. 22 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/page/ExamRegistrationQueryInfo.java
  11. 14 7
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/page/ExamSongQueryInfo.java
  12. 16 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/ExamRegistrationService.java
  13. 8 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/ExamSongService.java
  14. 59 2
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRegistrationServiceImpl.java
  15. 18 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamSongServiceImpl.java
  16. 52 0
      edu-user/edu-user-server/src/main/resources/config/mybatis/ExamRegistrationMapper.xml
  17. 6 6
      edu-user/edu-user-server/src/main/resources/config/mybatis/ExamSongMapper.xml

+ 0 - 3
edu-common/src/main/java/com/keao/edu/common/dal/BaseDAO.java

@@ -7,8 +7,6 @@
  */
 package com.keao.edu.common.dal;
 
-import org.apache.ibatis.annotations.Param;
-
 import java.io.Serializable;
 import java.util.List;
 import java.util.Map;
@@ -70,5 +68,4 @@ public interface BaseDAO<PK extends Serializable, T>{
 	 * @return
 	 */
 	public int queryCount(Map<String, Object> params);
-
 }

+ 21 - 4
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamRegistrationController.java

@@ -6,9 +6,12 @@ import com.keao.edu.common.controller.BaseController;
 import com.keao.edu.common.entity.HttpResponseResult;
 import com.keao.edu.common.page.PageInfo;
 import com.keao.edu.thirdparty.ocr.Ocr;
+import com.keao.edu.user.dto.ExamRecordDto;
+import com.keao.edu.user.dto.ExamRegistrationDto;
 import com.keao.edu.user.dto.ExamRegistrationStatisticsDto;
 import com.keao.edu.user.entity.Employee;
 import com.keao.edu.user.entity.ExamRegistration;
+import com.keao.edu.user.page.ExamRecordQueryInfo;
 import com.keao.edu.user.page.ExamRegistrationQueryInfo;
 import com.keao.edu.user.service.EmployeeService;
 import com.keao.edu.user.service.ExamRegistrationService;
@@ -41,7 +44,7 @@ public class ExamRegistrationController extends BaseController {
     private EmployeeService employeeService;
 
     @ApiOperation(value = "学员报名记录查询")
-    @GetMapping(value = "list")
+    @PostMapping(value = "list")
     @PreAuthorize("@pcs.hasPermissions('examRegistration/list')")
     public HttpResponseResult<PageInfo<ExamRegistration>> list(ExamRegistrationQueryInfo queryInfo) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
@@ -54,6 +57,22 @@ public class ExamRegistrationController extends BaseController {
         return succeed(examRegistrationService.queryExamRegistrationStudents(queryInfo));
     }
 
+    @ApiOperation(value = "学生端学员报名记录查询")
+    @PostMapping(value = "applyList")
+    public HttpResponseResult<PageInfo<ExamRegistrationDto>> applyList(ExamRegistrationQueryInfo queryInfo) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        queryInfo.setStudentId(sysUser.getId());
+        return succeed(examRegistrationService.applyList(queryInfo));
+    }
+
+    @ApiOperation(value = "学生端获取学员考试记录")
+    @PostMapping(value = "examList")
+    public HttpResponseResult<PageInfo<ExamRecordDto>> examList(ExamRecordQueryInfo queryInfo) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        queryInfo.setStudentId(sysUser.getId());
+        return succeed(examRegistrationService.examList(queryInfo));
+    }
+
     @ApiOperation(value = "修改学员报名信息")
     @PostMapping(value = "update")
     @PreAuthorize("@pcs.hasPermissions('examRegistration/update')")
@@ -66,7 +85,7 @@ public class ExamRegistrationController extends BaseController {
     @ApiOperation(value = "报名")
     @PostMapping(value = "add")
     @PreAuthorize("@pcs.hasPermissions('examRegistration/add')")
-    public HttpResponseResult add(ExamRegistration examRegistration) throws Exception {
+    public HttpResponseResult add(@RequestBody ExamRegistration examRegistration) throws Exception {
         SysUser student = sysUserFeignService.queryUserInfo();
         examRegistration.setStudentId(student.getId());
         return succeed(examRegistrationService.addRegistration(examRegistration));
@@ -88,6 +107,4 @@ public class ExamRegistrationController extends BaseController {
     public HttpResponseResult ocr(@RequestParam("file") MultipartFile file,String idCardSide) throws IOException {
         return succeed(Ocr.idcard(file,idCardSide));
     }
-
-
 }

+ 11 - 3
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamSongController.java

@@ -6,14 +6,16 @@ import com.keao.edu.common.page.PageInfo;
 import com.keao.edu.common.page.QueryInfo;
 import com.keao.edu.common.tenant.TenantContextHolder;
 import com.keao.edu.user.entity.ExamSong;
-import com.keao.edu.user.entity.TenantInfo;
+import com.keao.edu.user.page.ExamSongQueryInfo;
 import com.keao.edu.user.service.ExamSongService;
-import com.keao.edu.user.service.TenantInfoService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 import java.util.Date;
 
@@ -35,6 +37,12 @@ public class ExamSongController extends BaseController {
         return succeed(examSongService.queryPage(queryInfo));
     }
 
+    @ApiOperation("学生端分页查询考级曲库")
+    @GetMapping(value = "/queryPage")
+    public HttpResponseResult<PageInfo<ExamSong>> queryPage(ExamSongQueryInfo queryInfo) {
+        return succeed(examSongService.querySongPage(queryInfo));
+    }
+
     @ApiOperation("查询曲库详情")
     @ApiImplicitParam(name = "id", value = "机构ID", required = true, dataType = "Integer", paramType = "path")
     @GetMapping(value = "/query")

+ 0 - 1
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/TenantInfoController.java

@@ -31,7 +31,6 @@ public class TenantInfoController extends BaseController {
 	}
 
 	@ApiOperation("查询机构详情")
-	@ApiImplicitParam(name = "id", value = "机构ID", required = true, dataType = "Integer", paramType = "path")
 	@GetMapping(value = "/query")
 	public HttpResponseResult<TenantInfo> query() {
 		String tenantId = TenantContextHolder.getTenantId().toString();

+ 30 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/ExamRegistrationDao.java

@@ -2,11 +2,14 @@ package com.keao.edu.user.dao;
 
 
 import com.keao.edu.common.dal.BaseDAO;
+import com.keao.edu.user.dto.ExamRecordDto;
+import com.keao.edu.user.dto.ExamRegistrationDto;
 import com.keao.edu.user.dto.ExamRegistrationStatisticsDto;
 import com.keao.edu.user.entity.ExamRegistration;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 public interface ExamRegistrationDao extends BaseDAO<Long, ExamRegistration> {
 
@@ -66,4 +69,31 @@ public interface ExamRegistrationDao extends BaseDAO<Long, ExamRegistration> {
     List<ExamRegistration> getWithExamAndStudents(@Param("examId") Integer examId,
                                                   @Param("studentIds") List<Integer> studentIds);
 
+    /**
+     * COUNT学员报考记录
+     * @param params
+     * @return
+     */
+    int countStudentList(Map<String, Object> params);
+
+    /**
+     * 获取学员报考列表
+     * @param params
+     * @return
+     */
+    List<ExamRegistrationDto> queryStudentList(Map<String, Object> params);
+
+    /**
+     * 学员考试记录
+     * @param params
+     * @return
+     */
+    List<ExamRecordDto> queryExamList(Map<String, Object> params);
+
+    /**
+     *
+     * @param params
+     * @return
+     */
+    int countExamList(Map<String, Object> params);
 }

+ 14 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/ExamSongDao.java

@@ -5,6 +5,7 @@ import com.keao.edu.user.entity.ExamSong;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 public interface ExamSongDao extends BaseDAO<Integer, ExamSong> {
 
@@ -16,4 +17,17 @@ public interface ExamSongDao extends BaseDAO<Integer, ExamSong> {
      */
     List<ExamSong> getExamSongs(@Param("ids") String ids);
 
+    /**
+     * COUNT学生端考级曲库
+     * @param params
+     * @return
+     */
+    int countSongPage(Map<String, Object> params);
+
+    /**
+     * 学生端考级曲库
+     * @param params
+     * @return
+     */
+    List<ExamSong> querySongPage(Map<String, Object> params);
 }

+ 52 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dto/ExamRecordDto.java

@@ -0,0 +1,52 @@
+package com.keao.edu.user.dto;
+
+import com.keao.edu.user.entity.ExamRegistration;
+import com.keao.edu.user.entity.StudentExamResult;
+import io.swagger.annotations.ApiModelProperty;
+
+public class ExamRecordDto extends ExamRegistration {
+
+    @ApiModelProperty(value = "考试项目")
+    private String examBaseName;
+
+    @ApiModelProperty(value = "考试项目")
+    private String subjectName;
+
+    @ApiModelProperty(value = "准考证")
+    private String examCertificationId;
+
+    @ApiModelProperty(value = "考试结果")
+    private StudentExamResult studentExamResult;
+
+    public String getExamBaseName() {
+        return examBaseName;
+    }
+
+    public void setExamBaseName(String examBaseName) {
+        this.examBaseName = examBaseName;
+    }
+
+    public String getSubjectName() {
+        return subjectName;
+    }
+
+    public void setSubjectName(String subjectName) {
+        this.subjectName = subjectName;
+    }
+
+    public String getExamCertificationId() {
+        return examCertificationId;
+    }
+
+    public void setExamCertificationId(String examCertificationId) {
+        this.examCertificationId = examCertificationId;
+    }
+
+    public StudentExamResult getStudentExamResult() {
+        return studentExamResult;
+    }
+
+    public void setStudentExamResult(StudentExamResult studentExamResult) {
+        this.studentExamResult = studentExamResult;
+    }
+}

+ 73 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dto/ExamRegistrationDto.java

@@ -0,0 +1,73 @@
+package com.keao.edu.user.dto;
+
+import com.keao.edu.user.entity.ExamRegistration;
+import io.swagger.annotations.ApiModelProperty;
+
+public class ExamRegistrationDto extends ExamRegistration {
+
+    @ApiModelProperty(value = "考试项目")
+    private String examBaseName;
+
+    @ApiModelProperty(value = "考试专业")
+    private String subjectName;
+
+    @ApiModelProperty(value = "报名开始时间")
+    private String enrollStartTime;
+
+    @ApiModelProperty(value = "报名结束时间")
+    private String enrollEndTime;
+
+    @ApiModelProperty(value = "预计考试开始时间")
+    private String examStartTime;
+
+    @ApiModelProperty(value = "预计考试结束时间")
+    private String examEndTime;
+
+    public String getExamBaseName() {
+        return examBaseName;
+    }
+
+    public void setExamBaseName(String examBaseName) {
+        this.examBaseName = examBaseName;
+    }
+
+    public String getSubjectName() {
+        return subjectName;
+    }
+
+    public void setSubjectName(String subjectName) {
+        this.subjectName = subjectName;
+    }
+
+    public String getEnrollStartTime() {
+        return enrollStartTime;
+    }
+
+    public void setEnrollStartTime(String enrollStartTime) {
+        this.enrollStartTime = enrollStartTime;
+    }
+
+    public String getEnrollEndTime() {
+        return enrollEndTime;
+    }
+
+    public void setEnrollEndTime(String enrollEndTime) {
+        this.enrollEndTime = enrollEndTime;
+    }
+
+    public String getExamStartTime() {
+        return examStartTime;
+    }
+
+    public void setExamStartTime(String examStartTime) {
+        this.examStartTime = examStartTime;
+    }
+
+    public String getExamEndTime() {
+        return examEndTime;
+    }
+
+    public void setExamEndTime(String examEndTime) {
+        this.examEndTime = examEndTime;
+    }
+}

+ 19 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/page/ExamRecordQueryInfo.java

@@ -0,0 +1,19 @@
+package com.keao.edu.user.page;
+
+import com.keao.edu.common.page.QueryInfo;
+import com.keao.edu.user.enums.StudentRegistrationStatusEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+public class ExamRecordQueryInfo extends QueryInfo {
+
+    @ApiModelProperty(value = "学员编号")
+    private Integer studentId;
+
+    public Integer getStudentId() {
+        return studentId;
+    }
+
+    public void setStudentId(Integer studentId) {
+        this.studentId = studentId;
+    }
+}

+ 22 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/page/ExamRegistrationQueryInfo.java

@@ -13,6 +13,9 @@ public class ExamRegistrationQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "合作单位编号")
     private Integer organId;
 
+    @ApiModelProperty(value = "考试报名编号")
+    private Integer examRegistrationId;
+
     @ApiModelProperty(value = "考试项目编号")
     private Integer examId;
 
@@ -25,9 +28,28 @@ public class ExamRegistrationQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "报考级别")
     private Integer level;
 
+    @ApiModelProperty(value = "学员编号")
+    private Integer studentId;
+
     @ApiModelProperty(value = "学员状态")
     private StudentRegistrationStatusEnum status;
 
+    public Integer getExamRegistrationId() {
+        return examRegistrationId;
+    }
+
+    public void setExamRegistrationId(Integer examRegistrationId) {
+        this.examRegistrationId = examRegistrationId;
+    }
+
+    public Integer getStudentId() {
+        return studentId;
+    }
+
+    public void setStudentId(Integer studentId) {
+        this.studentId = studentId;
+    }
+
     public Integer getOrganId() {
         return organId;
     }

+ 14 - 7
edu-user/edu-user-server/src/main/java/com/keao/edu/user/page/ExamSongQueryInfo.java

@@ -3,20 +3,27 @@ package com.keao.edu.user.page;
 import com.keao.edu.common.page.QueryInfo;
 import io.swagger.annotations.ApiModelProperty;
 
-/**
- * @Author Joburgess
- * @Date 2020.06.16
- */
 public class ExamSongQueryInfo extends QueryInfo {
 
     @ApiModelProperty(value = "专业")
-    private String subjectList;
+    private Integer subjectList;
 
-    public String getSubjectList() {
+    @ApiModelProperty(value = "级别")
+    private Integer level;
+
+    public Integer getLevel() {
+        return level;
+    }
+
+    public void setLevel(Integer level) {
+        this.level = level;
+    }
+
+    public Integer getSubjectList() {
         return subjectList;
     }
 
-    public void setSubjectList(String subjectList) {
+    public void setSubjectList(Integer subjectList) {
         this.subjectList = subjectList;
     }
 }

+ 16 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/ExamRegistrationService.java

@@ -3,8 +3,11 @@ package com.keao.edu.user.service;
 
 import com.keao.edu.common.page.PageInfo;
 import com.keao.edu.common.service.BaseService;
+import com.keao.edu.user.dto.ExamRecordDto;
+import com.keao.edu.user.dto.ExamRegistrationDto;
 import com.keao.edu.user.dto.ExamRegistrationStatisticsDto;
 import com.keao.edu.user.entity.ExamRegistration;
+import com.keao.edu.user.page.ExamRecordQueryInfo;
 import com.keao.edu.user.page.ExamRegistrationQueryInfo;
 
 import java.util.Map;
@@ -31,4 +34,17 @@ public interface ExamRegistrationService extends BaseService<Long, ExamRegistrat
     */
    ExamRegistrationStatisticsDto getExamRegistrationStaticsInfo(Integer organId, Integer examId);
 
+   /**
+    * 获取报考列表
+    * @param queryInfo
+    * @return
+    */
+   PageInfo<ExamRegistrationDto> applyList(ExamRegistrationQueryInfo queryInfo);
+
+   /**
+    * 考试记录
+    * @param queryInfo
+    * @return
+    */
+   PageInfo<ExamRecordDto> examList(ExamRecordQueryInfo queryInfo);
 }

+ 8 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/ExamSongService.java

@@ -1,8 +1,16 @@
 package com.keao.edu.user.service;
 
+import com.keao.edu.common.page.PageInfo;
 import com.keao.edu.common.service.BaseService;
 import com.keao.edu.user.entity.ExamSong;
+import com.keao.edu.user.page.ExamSongQueryInfo;
 
 public interface ExamSongService extends BaseService<Integer, ExamSong> {
 
+    /**
+     * 获取考级曲库
+     * @param queryInfo
+     * @return
+     */
+    PageInfo<ExamSong> querySongPage(ExamSongQueryInfo queryInfo);
 }

+ 59 - 2
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRegistrationServiceImpl.java

@@ -8,9 +8,12 @@ import com.keao.edu.common.page.PageInfo;
 import com.keao.edu.common.service.IdGeneratorService;
 import com.keao.edu.common.service.impl.BaseServiceImpl;
 import com.keao.edu.user.dao.*;
+import com.keao.edu.user.dto.ExamRecordDto;
+import com.keao.edu.user.dto.ExamRegistrationDto;
 import com.keao.edu.user.dto.ExamRegistrationStatisticsDto;
 import com.keao.edu.user.entity.*;
 import com.keao.edu.user.enums.ExamStatusEnum;
+import com.keao.edu.user.page.ExamRecordQueryInfo;
 import com.keao.edu.user.page.ExamRegistrationQueryInfo;
 import com.keao.edu.user.service.ExamRegistrationPaymentService;
 import com.keao.edu.user.service.ExamRegistrationService;
@@ -33,8 +36,6 @@ public class ExamRegistrationServiceImpl extends BaseServiceImpl<Long, ExamRegis
     @Autowired
     private StudentDao studentDao;
     @Autowired
-    private ExamCertificationDao examCertificationDao;
-    @Autowired
     private ExaminationBasicDao examinationBasicDao;
     @Autowired
     private SysUserDao sysUserDao;
@@ -160,4 +161,60 @@ public class ExamRegistrationServiceImpl extends BaseServiceImpl<Long, ExamRegis
         }
         return examRegistrationStaticsInfo;
     }
+
+    @Override
+    public PageInfo<ExamRegistrationDto> applyList(ExamRegistrationQueryInfo queryInfo) {
+        PageInfo<ExamRegistrationDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<String, Object>();
+        MapUtil.populateMap(params, queryInfo);
+
+        List<ExamRegistrationDto> dataList = null;
+        int count = examRegistrationDao.countStudentList(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = examRegistrationDao.queryStudentList(params);
+            List<Integer> subjectIds = dataList.stream().map(e -> e.getSubjectId()).collect(Collectors.toList());
+            Map<Integer, String> subjectNameMap = this.getMap("subject", "id_", "name_", subjectIds, Integer.class, String.class);
+            dataList.forEach(e->{
+                e.setSubjectName(subjectNameMap.get(e.getSubjectId()));
+            });
+        }
+        if (count == 0) {
+            dataList = new ArrayList<>();
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
+
+    @Override
+    public PageInfo<ExamRecordDto> examList(ExamRecordQueryInfo queryInfo) {
+        PageInfo<ExamRecordDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<String, Object>();
+        MapUtil.populateMap(params, queryInfo);
+
+        List<ExamRecordDto> dataList = null;
+        int count = examRegistrationDao.countExamList(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = examRegistrationDao.queryExamList(params);
+            List<Integer> subjectIds = dataList.stream().map(e -> e.getSubjectId()).collect(Collectors.toList());
+            List<Integer> basicIds = dataList.stream().map(e -> e.getExaminationBasicId()).collect(Collectors.toList());
+            List<Integer> registrationIds = dataList.stream().map(e -> e.getId()).collect(Collectors.toList());
+            Map<Integer, String> subjectNameMap = this.getMap("subject", "id_", "name_", subjectIds, Integer.class, String.class);
+            Map<Integer, String> examNameMap = this.getMap("examination_basic", "id_", "name_", basicIds, Integer.class, String.class);
+            Map<Integer, String> certificationNameMap = this.getMap("exam_certification", "exam_registration_id_", "card_no_", registrationIds, Integer.class, String.class);
+            dataList.forEach(e->{
+                e.setSubjectName(subjectNameMap.get(e.getSubjectId()));
+                e.setSubjectName(examNameMap.get(e.getExaminationBasicId()));
+                e.setSubjectName(certificationNameMap.get(e.getId()));
+            });
+        }
+        if (count == 0) {
+            dataList = new ArrayList<>();
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
 }

+ 18 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamSongServiceImpl.java

@@ -6,6 +6,7 @@ import com.keao.edu.common.page.QueryInfo;
 import com.keao.edu.common.service.impl.BaseServiceImpl;
 import com.keao.edu.user.dao.ExamSongDao;
 import com.keao.edu.user.entity.ExamSong;
+import com.keao.edu.user.page.ExamSongQueryInfo;
 import com.keao.edu.user.service.ExamSongService;
 import com.keao.edu.util.collection.MapUtil;
 import org.apache.poi.ss.formula.functions.T;
@@ -44,4 +45,21 @@ public class ExamSongServiceImpl extends BaseServiceImpl<Integer, ExamSong> impl
         pageInfo.setRows(dataList);
         return pageInfo;
     }
+
+    @Override
+    public PageInfo<ExamSong> querySongPage(ExamSongQueryInfo queryInfo) {
+        PageInfo<ExamSong> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<String, Object>();
+        MapUtil.populateMap(params, queryInfo);
+
+        List<ExamSong> dataList = new ArrayList<>();
+        int count = examSongDao.countSongPage(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = examSongDao.querySongPage(params);
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
 }

+ 52 - 0
edu-user/edu-user-server/src/main/resources/config/mybatis/ExamRegistrationMapper.xml

@@ -233,4 +233,56 @@
 			#{studentId}
 		</foreach>
 	</select>
+	<resultMap id="ExamRegistrationDtoMap" type="com.keao.edu.user.dto.ExamRegistrationDto" extends="ExamRegistration">
+		<result property="subjectName" column="subjectName"/>
+		<result property="examBaseName" column="examBaseName"/>
+		<result property="examStartTime" column="expect_exam_start_time_"/>
+		<result property="examEndTime" column="expect_exam_end_time_"/>
+		<result property="enrollEndTime" column="enroll_end_time_"/>
+		<result property="enrollStartTime" column="enroll_start_time_"/>
+	</resultMap>
+    <select id="countStudentList" resultType="java.lang.Integer">
+		SELECT COUNT(er.id_) FROM exam_registration er
+		<include refid="queryStudentListSql"/>
+	</select>
+	<sql id="queryStudentListSql">
+		<where>
+			<if test="studentId != null">
+				er.student_id_ = #{studentId}
+			</if>
+			<if test="examRegistrationId != null">
+				er.id_ = #{examRegistrationId}
+			</if>
+			<if test="tenantId != null">
+				er.tenant_id_ = #{tenantId}
+			</if>
+			<if test="status != null and status != ''">
+				er.status_ = #{status}
+			</if>
+		</where>
+	</sql>
+	<select id="queryStudentList" resultMap="ExamRegistrationDtoMap">
+		SELECT er.*,eb.enroll_end_time_,eb.enroll_start_time_,eb.expect_exam_end_time_,eb.expect_exam_start_time_,eb.name_ examBaseName
+		FROM exam_registration er
+		LEFT JOIN examination_basic eb ON er.examination_basic_id_ = eb.id_
+		<include refid="queryStudentListSql"/>
+		ORDER BY er.update_time_ DESC
+		<include refid="global.limit"/>
+	</select>
+	<resultMap id="ExamRecordDtoMap" type="com.keao.edu.user.dto.ExamRecordDto" extends="ExamRegistration">
+		<result property="subjectName" column="subjectName"/>
+		<result property="examBaseName" column="examBaseName"/>
+		<result property="examCertificationId" column="examCertificationId"/>
+		<association property="studentExamResult" resultMap="com.keao.edu.user.dao.StudentExamResultDao.StudentExamResult"/>
+	</resultMap>
+	<select id="queryExamList" resultMap="ExamRecordDtoMap">
+		SELECT er.*,ser.* FROM exam_registration er
+		LEFT JOIN student_exam_result ser ON er.id_ = ser.exam_registration_id_
+		WHERE ser.id_ IS NOT NULL AND er.student_id_ = #{studentId}
+	</select>
+	<select id="countExamList" resultType="java.lang.Integer">
+		SELECT COUNT(er.id_) FROM exam_registration er
+		LEFT JOIN student_exam_result ser ON er.id_ = ser.exam_registration_id_
+		WHERE ser.id_ IS NOT NULL AND er.student_id_ = #{studentId}
+	</select>
 </mapper>

+ 6 - 6
edu-user/edu-user-server/src/main/resources/config/mybatis/ExamSongMapper.xml

@@ -43,9 +43,6 @@
 			<if test="levelList != null">
 				level_list_ = #{levelList},
 			</if>
-			<if test="id != null">
-				id_ = #{id},
-			</if>
 			<if test="subjectList != null">
 				subject_list_ = #{subjectList},
 			</if>
@@ -64,9 +61,6 @@
 			<if test="delFlag != null">
 				del_flag_ = #{delFlag}
 			</if>
-			<if test="createTime != null">
-				create_time_ = #{createTime},
-			</if>
 			<if test="tenantId">
 				tenant_id_ = #{tenantId},
 			</if>
@@ -109,4 +103,10 @@
     <select id="getExamSongs" resultMap="ExamSong">
 		SELECT * FROM exam_song WHERE FIND_IN_SET(id_,#{ids})
 	</select>
+	<select id="countSongPage" resultType="java.lang.Integer">
+
+	</select>
+	<select id="querySongPage" resultMap="ExamSong">
+
+	</select>
 </mapper>