“djh”
2024-12-27 3aae8ddd5b9624626921abdcc33122dccdcd5c61
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