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<PermissionInfoRepository, PermissionInfo> implements PermissionInfoService {
|
|
@Autowired
|
private PermissionInfoRepository permissionInfoRepository;
|
|
|
|
@Override
|
public List<PermissionInfo> getPermissionsByUserId(Long userId) {
|
return permissionInfoRepository.getPermissionsByUserId(userId);
|
}
|
|
@Override
|
public List<PermissionInfoDO> 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<PermissionInfo> permissionInfos = permissionInfoRepository.selectList(new LambdaQueryWrapper<PermissionInfo>()
|
.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<PermissionInfo> permissionInfos = permissionInfoRepository.selectList(new LambdaQueryWrapper<PermissionInfo>()
|
.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);
|
}
|
}
|