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 |   63 ++++++++++++++++++++++++-------
 1 files changed, 49 insertions(+), 14 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 5eb58e2..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
@@ -1,5 +1,7 @@
 package com.gkhy.exam.coalmine.service.impl;
 
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.TypeReference;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.gkhy.exam.coalmine.entity.ExaminerManage;
 import com.gkhy.exam.coalmine.entity.ExaminerManageOperateTypeBind;
@@ -37,6 +39,8 @@
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
+
+import static com.ruoyi.common.utils.PageUtils.startPage;
 
 /**
  * @author Mr.huang
@@ -143,7 +147,7 @@
         ExaminerManage examinerByCode = examinerManageService.getExaminerByCode(reqDTO.getCode());
         if (examinerByCode != null && examinerByCode.getId() != reqDTO.getId())
             throw new BusinessException(this.getClass(),ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"身份证已存在");
-        ExaminerManage examinerManage = new ExaminerManage();
+        ExaminerManage examinerManage = examinerManageService.getExaminerById(reqDTO.getId());
         BeanUtils.copyProperties(reqDTO,examinerManage,"id");
         boolean save = examinerManageService.updateById(examinerManage);
         if (!save)
@@ -194,16 +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();
         }
-        map  = redisCache.getCacheObject(CacheConstants.SYS_OPERATE_TYPE_NAME_KEY);
         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);
             }
@@ -215,12 +217,13 @@
 
 
     @Override
-    public List<GetExaminerRespDTO> selectAll() {
+    public List<GetExaminerRespDTO> selectAll(Integer isCm) {
         LambdaQueryWrapper<ExaminerManage> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(ExaminerManage::getDelFlag,DeleteStatusEnum.NO.getStatus());
+        wrapper.eq(ExaminerManage::getDelFlag,DeleteStatusEnum.NO.getStatus())
+                .eq(ExaminerManage::getIsCm,isCm);
         List<ExaminerManage> list = examinerManageService.list(wrapper);
         if (CollectionUtils.isEmpty(list))
-            return null;
+            return new ArrayList<>();
         List<GetExaminerRespDTO> dtos = new ArrayList<>();
         for (ExaminerManage manage : list) {
             GetExaminerRespDTO dto = getExaminerRespDTO(manage);
@@ -264,7 +267,7 @@
         TeacherManage teacherByCode = teacherManageService.getTeacherByCode(reqDTO.getCode());
         if (teacherByCode != null && teacherByCode.getId() != reqDTO.getId())
             throw new BusinessException(this.getClass(),ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"身份证已存在");
-        TeacherManage teacherManage = new TeacherManage();
+        TeacherManage teacherManage = teacherManageService.getTeacherById(reqDTO.getId());
         BeanUtils.copyProperties(reqDTO,teacherManage,"id");
         boolean save = teacherManageService.updateById(teacherManage);
         if (!save)
@@ -320,16 +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();
         }
-        map  = redisCache.getCacheObject(CacheConstants.SYS_OPERATE_TYPE_NAME_KEY);
         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);
             }
@@ -340,19 +341,53 @@
     }
 
     @Override
-    public List<GetTeacherRespDTO> selectTeacherAll() {
+    public List<GetTeacherRespDTO> selectTeacherAll(Integer isCm) {
+        startPage();
         LambdaQueryWrapper<TeacherManage> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(TeacherManage::getDelFlag,DeleteStatusEnum.NO.getStatus());
+        wrapper.eq(TeacherManage::getDelFlag,DeleteStatusEnum.NO.getStatus())
+                .eq(TeacherManage::getIsCm,isCm);
         List<TeacherManage> list = teacherManageService.list(wrapper);
         if (CollectionUtils.isEmpty(list))
-            return null;
+            return new ArrayList<>();
         List<GetTeacherRespDTO> dtos = new ArrayList<>();
         for (TeacherManage manage : list) {
             GetTeacherRespDTO dto = getTeacherRespDTO(manage);
             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