AcademyPermissionMappingServiceImpl.java 3.47 KB
package com.subsidy.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.subsidy.dto.company.GetServiceCompaniesDTO;
import com.subsidy.dto.permission.GetPermissionAcademiesDTO;
import com.subsidy.dto.permission.PermissionAcademiesDTO;
import com.subsidy.dto.service.CancelAuthDTO;
import com.subsidy.dto.service.GetServiceCompaniesVO;
import com.subsidy.dto.service.ServiceCompaniesVO;
import com.subsidy.model.AcademyPermissionMappingDO;
import com.subsidy.mapper.AcademyPermissionMappingMapper;
import com.subsidy.model.ServiceCompanyMappingDO;
import com.subsidy.service.AcademyPermissionMappingService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.subsidy.util.ConstantUtils;
import com.subsidy.vo.permission.GetPermissionAcademiesVO;
import com.subsidy.vo.permission.PermissionAcademiesVO;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * <p>
 * 院校权限映射表 服务实现类
 * </p>
 *
 * @author Tuyp
 * @since 2025-01-20
 */
@Service
public class AcademyPermissionMappingServiceImpl extends ServiceImpl<AcademyPermissionMappingMapper, AcademyPermissionMappingDO> implements AcademyPermissionMappingService {


    public IPage<GetPermissionAcademiesVO> getPermissionAcademies(GetPermissionAcademiesDTO getPermissionAcademiesDTO) {
        Page pager = new Page(getPermissionAcademiesDTO.getPageNum(), getPermissionAcademiesDTO.getPageSize());
        return this.baseMapper.getPermissionAcademies(pager, getPermissionAcademiesDTO.getPermissionId(), getPermissionAcademiesDTO.getAcademyName(), getPermissionAcademiesDTO.getAuthStatus());
    }

    @Transactional(rollbackFor = Exception.class)
    public String cancelAuth(CancelAuthDTO cancelAuthDTO) {
        List<Long> academyIds = cancelAuthDTO.getAcademyIds();
        for (Long academyId : academyIds) {
            this.baseMapper.delete(new QueryWrapper<AcademyPermissionMappingDO>()
                    .lambda()
                    .eq(AcademyPermissionMappingDO::getAcademyId, academyId)
                    .eq(AcademyPermissionMappingDO::getPermissionId, cancelAuthDTO.getPermissionId()));
        }
        return ConstantUtils.DELETE_SUCCESS;
    }

    @Transactional(rollbackFor = Exception.class)
    public String addAuth(CancelAuthDTO cancelAuthDTO) {
        List<Long> academyIds = cancelAuthDTO.getAcademyIds();
        for (Long academyId : academyIds) {
            this.baseMapper.delete(new QueryWrapper<AcademyPermissionMappingDO>()
                    .lambda()
                    .eq(AcademyPermissionMappingDO::getAcademyId,academyId)
                    .eq(AcademyPermissionMappingDO::getPermissionId,cancelAuthDTO.getPermissionId()));
            AcademyPermissionMappingDO academyPermissionMappingDO = new AcademyPermissionMappingDO();
            academyPermissionMappingDO.setAcademyId(academyId);
            academyPermissionMappingDO.setPermissionId(cancelAuthDTO.getPermissionId());
            this.baseMapper.insert(academyPermissionMappingDO);
        }
        return ConstantUtils.ADD_SUCCESS;
    }

    public List<PermissionAcademiesVO> permissionAcademies(PermissionAcademiesDTO permissionAcademiesDTO){
        return this.baseMapper.permissionAcademies(permissionAcademiesDTO.getPermissionId(),permissionAcademiesDTO.getAcademyName());
    }


}