package com.gkhy.safePlatform.account.service.baseService.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.safePlatform.account.entity.user.PermissionInfoDO; import com.gkhy.safePlatform.account.enums.PermissionStatusEnum; import com.gkhy.safePlatform.account.repository.PermissionInfoRepository; import com.gkhy.safePlatform.account.entity.user.PermissionInfo; import com.gkhy.safePlatform.account.service.baseService.PermissionInfoService; import com.gkhy.safePlatform.commons.enums.ResultCodes; import com.gkhy.safePlatform.commons.exception.BusinessException; import com.gkhy.safePlatform.commons.utils.StringUtils; import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service("permissionInfoService") public class PermissionInfoServiceImpl extends ServiceImpl implements PermissionInfoService { @Autowired private PermissionInfoRepository permissionInfoRepository; @Override public List getPermissionsByUserId(Long userId) { return permissionInfoRepository.getPermissionsByUserId(userId); } @Override public List getPermissionsByStatus(PermissionStatusEnum status) { if (status == null) { throw new BusinessException(ResultCodes.SERVER_PARAM_NULL); } return permissionInfoRepository.getPermissionsByStatus(status.getCode()); } @Override public void savePermissionInfo(PermissionInfo permissionInfo) { int i = permissionInfoRepository.insert(permissionInfo); if (i != 1) { throw new BusinessException(ResultCodes.SERVER_ADD_ERROR); } } @Override public void updatePermissionInfo(PermissionInfo permission) { if (permission == null || permission.getId() == null) { throw new BusinessException(ResultCodes.SERVER_PARAM_NULL); } int i = permissionInfoRepository.updateById(permission); if (i == 0) { throw new BusinessException(ResultCodes.SERVER_UPDATE_DATA_NO_CHANGE); } if (i > 1) { throw new BusinessException(ResultCodes.SERVER_UPDATE_ERROR); } } @Override public PermissionInfo getPermissionInfoByCode(String code) { if (StringUtils.isBlank(code)) { throw new BusinessException(ResultCodes.SERVER_PARAM_NULL); } List permissionInfos = permissionInfoRepository.selectList(new LambdaQueryWrapper() .eq(PermissionInfo::getCode, code) .eq(PermissionInfo::getStatus, PermissionStatusEnum.ENABLED.getCode())); if (permissionInfos.size() > 1) { throw new BusinessException(ResultCodes.SERVER_DATABASE_DATA_DUPLICATED); } if (permissionInfos.size() == 0) { return null; } return permissionInfos.get(0); } @Override public PermissionInfo getPermissionInfoByName(String name) { if (StringUtils.isBlank(name)) { throw new BusinessException(ResultCodes.SERVER_PARAM_NULL); } List permissionInfos = permissionInfoRepository.selectList(new LambdaQueryWrapper() .eq(PermissionInfo::getName, name) .eq(PermissionInfo::getStatus, PermissionStatusEnum.ENABLED.getCode())); if (permissionInfos.size() > 1) { throw new BusinessException(ResultCodes.SERVER_DATABASE_DATA_DUPLICATED); } if (permissionInfos.size() == 0) { return null; } return permissionInfos.get(0); } }