package cn.iocoder.yudao.module.ai.service.model;
|
|
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.apikey.AiApiKeyPageReqVO;
|
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.apikey.AiApiKeySaveReqVO;
|
import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiApiKeyDO;
|
import cn.iocoder.yudao.module.ai.dal.mysql.model.AiApiKeyMapper;
|
import jakarta.annotation.Resource;
|
import org.springframework.stereotype.Service;
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static cn.iocoder.yudao.module.ai.enums.ErrorCodeConstants.*;
|
|
@Service
|
public class AiApiKeyServiceImpl implements AiApiKeyService {
|
|
@Resource
|
private AiApiKeyMapper mapper;
|
|
@Override
|
public Long createApiKey(AiApiKeySaveReqVO createReqVO) {
|
AiApiKeyDO key = BeanUtils.toBean(createReqVO, AiApiKeyDO.class);
|
mapper.insert(key);
|
return key.getId();
|
}
|
|
@Override
|
public void updateApiKey(AiApiKeySaveReqVO updateReqVO) {
|
validateApiKeyExists(updateReqVO.getId());
|
mapper.updateById(BeanUtils.toBean(updateReqVO, AiApiKeyDO.class));
|
}
|
|
@Override
|
public void deleteApiKey(Long id) {
|
validateApiKeyExists(id);
|
mapper.deleteById(id);
|
}
|
|
@Override
|
public AiApiKeyDO getApiKey(Long id) {
|
return mapper.selectById(id);
|
}
|
|
@Override
|
public AiApiKeyDO validateApiKey(Long id) {
|
AiApiKeyDO key = mapper.selectById(id);
|
if (key == null) throw exception(API_KEY_NOT_EXISTS);
|
if (CommonStatusEnum.isDisable(key.getStatus())) throw exception(API_KEY_DISABLE);
|
return key;
|
}
|
|
@Override
|
public AiApiKeyDO getRequiredDefaultApiKey(String platform, Integer status) {
|
return mapper.selectFirstByPlatformAndStatus(platform, status);
|
}
|
|
@Override
|
public PageResult<AiApiKeyDO> getApiKeyPage(AiApiKeyPageReqVO pageReqVO) {
|
return mapper.selectPage(pageReqVO);
|
}
|
|
private void validateApiKeyExists(Long id) {
|
if (mapper.selectById(id) == null) throw exception(API_KEY_NOT_EXISTS);
|
}
|
|
}
|