package cn.iocoder.yudao.module.bi.service.config; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.bi.dal.dataobject.BiDataSourceConfigDO; import cn.iocoder.yudao.module.bi.dal.mysql.BiDataSourceConfigMapper; import cn.iocoder.yudao.module.bi.enums.ErrorCodeConstants; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; /** * 数据源配置 Service 实现 * * @author 超级管理员 */ @Service public class BiDataSourceConfigServiceImpl implements BiDataSourceConfigService { @Resource private BiDataSourceConfigMapper mapper; @Override public Long create(BiDataSourceConfigDO config) { mapper.insert(config); return config.getId(); } @Override public void update(BiDataSourceConfigDO config) { validateExists(config.getId()); mapper.updateById(config); } @Override public void delete(Long id) { validateExists(id); mapper.deleteById(id); } @Override public BiDataSourceConfigDO get(Long id) { return mapper.selectById(id); } @Override public PageResult getPage(Integer pageNo, Integer pageSize) { IPage page = mapper.selectPage(new Page<>(pageNo, pageSize), new LambdaQueryWrapperX() .orderByDesc(BiDataSourceConfigDO::getCreateTime)); return new PageResult<>(page.getRecords(), page.getTotal()); } private void validateExists(Long id) { if (mapper.selectById(id) == null) { throw exception(ErrorCodeConstants.BI_DATA_SOURCE_CONFIG_NOT_EXISTS); } } }