From 3aae8ddd5b9624626921abdcc33122dccdcd5c61 Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: 星期五, 27 十二月 2024 13:24:46 +0800
Subject: [PATCH] 修改学时证书接收接口

---
 exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/EduResourcesManagerServiceImpl.java |   45 +++++++++++++++++++++++++++++++++++++--------
 1 files changed, 37 insertions(+), 8 deletions(-)

diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/EduResourcesManagerServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/EduResourcesManagerServiceImpl.java
index aaf7c6a..42eb86f 100644
--- a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/EduResourcesManagerServiceImpl.java
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/EduResourcesManagerServiceImpl.java
@@ -40,6 +40,8 @@
 import java.util.Map;
 import java.util.stream.Collectors;
 
+import static com.ruoyi.common.utils.PageUtils.startPage;
+
 /**
  * @author Mr.huang
  * @decription
@@ -196,17 +198,14 @@
         if (CollectionUtils.isEmpty(list))
             return dto;
         Boolean flag = redisCache.hasKey(CacheConstants.SYS_OPERATE_TYPE_NAME_KEY);
-        Map<Long, SysOperateTypeWholeNameBO> map;
         if (flag){
             operateTypeService.resetOperateTypeCache();
         }
-        String info  = redisCache.getCacheObject(CacheConstants.SYS_OPERATE_TYPE_NAME_KEY);
-        map = JSON.parseObject(info, new TypeReference<Map<Long, SysOperateTypeWholeNameBO>>() {});
         List<GetExaminerOperateTypesRespDTO> getExaminerOperateTypesRespDTOS = new ArrayList<>();
         for (ExaminerManageOperateTypeBind examinerManageOperateTypeBind : list) {
             GetExaminerOperateTypesRespDTO operateTypesRespDTO = new GetExaminerOperateTypesRespDTO();
             BeanUtils.copyProperties(examinerManageOperateTypeBind,operateTypesRespDTO);
-            SysOperateTypeWholeNameBO sysOperateTypeWholeNameBO = map.get(examinerManageOperateTypeBind.getOperateTypeId());
+            SysOperateTypeWholeNameBO sysOperateTypeWholeNameBO = operateTypeService.getOperateTypeWholeNameById(examinerManageOperateTypeBind.getOperateTypeId());
             if (sysOperateTypeWholeNameBO != null){
                 BeanUtils.copyProperties(sysOperateTypeWholeNameBO,operateTypesRespDTO);
             }
@@ -324,17 +323,14 @@
         if (CollectionUtils.isEmpty(list))
             return dto;
         Boolean flag = redisCache.hasKey(CacheConstants.SYS_OPERATE_TYPE_NAME_KEY);
-        Map<Long, SysOperateTypeWholeNameBO> map;
         if (flag){
             operateTypeService.resetOperateTypeCache();
         }
-        String info  = redisCache.getCacheObject(CacheConstants.SYS_OPERATE_TYPE_NAME_KEY);
-        map = JSON.parseObject(info, new TypeReference<Map<Long, SysOperateTypeWholeNameBO>>() {});
         List<GetTeacherOperateTypesRespDTO> getTeacherOperateTypesRespDTOS = new ArrayList<>();
         for (TeacherManageOperateTypeBind examinerManageOperateTypeBind : list) {
             GetTeacherOperateTypesRespDTO operateTypesRespDTO = new GetTeacherOperateTypesRespDTO();
             BeanUtils.copyProperties(examinerManageOperateTypeBind,operateTypesRespDTO);
-            SysOperateTypeWholeNameBO sysOperateTypeWholeNameBO = map.get(examinerManageOperateTypeBind.getOperateTypeId());
+            SysOperateTypeWholeNameBO sysOperateTypeWholeNameBO = operateTypeService.getOperateTypeWholeNameById(examinerManageOperateTypeBind.getOperateTypeId());
             if (sysOperateTypeWholeNameBO != null){
                 BeanUtils.copyProperties(sysOperateTypeWholeNameBO,operateTypesRespDTO);
             }
@@ -346,6 +342,7 @@
 
     @Override
     public List<GetTeacherRespDTO> selectTeacherAll(Integer isCm) {
+        startPage();
         LambdaQueryWrapper<TeacherManage> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(TeacherManage::getDelFlag,DeleteStatusEnum.NO.getStatus())
                 .eq(TeacherManage::getIsCm,isCm);
@@ -358,7 +355,39 @@
             dtos.add(dto);
         }
         return dtos;
+    }
 
+    @Override
+    public List<GetTeacherRespDTO> selectTeacherByCondition(int isCm, Long operateTypeId) {
+        if (operateTypeId == null || operateTypeId == 0)
+            return selectTeacherAll(isCm);
+        LambdaQueryWrapper<TeacherManageOperateTypeBind> wrapper = new LambdaQueryWrapper<>();
+        List<TeacherManageOperateTypeBind> teacherManageOperateTypeBinds =
+                teacherManageOperateTypeBindService.list(wrapper.eq(TeacherManageOperateTypeBind::getOperateTypeId, operateTypeId)
+                        .eq(TeacherManageOperateTypeBind::getDelFlag,DeleteStatusEnum.NO.getStatus()));
+        if (CollectionUtils.isEmpty(teacherManageOperateTypeBinds)){
+            return new ArrayList<>();
+        }
+        List<Long> teacherManageIds = teacherManageOperateTypeBinds.stream()
+                .map(TeacherManageOperateTypeBind::getTeacherManageId)
+                .distinct()
+                .collect(Collectors.toList());
+        if (CollectionUtils.isEmpty(teacherManageIds))
+            return new ArrayList<>();
+        startPage();
+        LambdaQueryWrapper<TeacherManage> teacherManageWrapper = new LambdaQueryWrapper<>();
+        teacherManageWrapper.eq(TeacherManage::getDelFlag,DeleteStatusEnum.NO.getStatus())
+                .eq(TeacherManage::getIsCm,isCm)
+                .in(TeacherManage::getId,teacherManageIds);
+        List<TeacherManage> list = teacherManageService.list(teacherManageWrapper);
+        if (CollectionUtils.isEmpty(list))
+            return new ArrayList<>();
+        List<GetTeacherRespDTO> dtos = new ArrayList<>();
+        for (TeacherManage manage : list) {
+            GetTeacherRespDTO dto = getTeacherRespDTO(manage);
+            dtos.add(dto);
+        }
+        return dtos;
     }
 
     @Override

--
Gitblit v1.9.2