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.BiChartConfigDO; import cn.iocoder.yudao.module.bi.dal.mysql.BiChartConfigMapper; 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 BiChartConfigServiceImpl implements BiChartConfigService { @Resource private BiChartConfigMapper mapper; @Override public Long create(BiChartConfigDO config) { mapper.insert(config); return config.getId(); } @Override public void update(BiChartConfigDO config) { validateExists(config.getId()); mapper.updateById(config); } @Override public void delete(Long id) { validateExists(id); mapper.deleteById(id); } @Override public BiChartConfigDO get(Long id) { return mapper.selectById(id); } @Override public PageResult getPage(Long dashboardId, Integer pageNo, Integer pageSize) { IPage page = mapper.selectPage(new Page<>(pageNo, pageSize), new LambdaQueryWrapperX() .eqIfPresent(BiChartConfigDO::getDashboardId, dashboardId) .orderByAsc(BiChartConfigDO::getSort)); return new PageResult<>(page.getRecords(), page.getTotal()); } private void validateExists(Long id) { if (mapper.selectById(id) == null) { throw exception(ErrorCodeConstants.BI_CHART_CONFIG_NOT_EXISTS); } } }