package com.mes.sysconfig.service.impl; import cn.smallbun.screw.core.util.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.mes.sysconfig.entity.SysConfig; import com.mes.sysconfig.entity.request.SysConfigRequest; import com.mes.sysconfig.mapper.SysConfigMapper; import com.mes.sysconfig.service.SysConfigService; import lombok.extern.slf4j.Slf4j; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.CachePut; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import java.io.Serializable; /** * (SysConfig)表服务实现类 * * @author makejava * @since 2025-04-01 15:01:27 */ @Service @Slf4j public class SysConfigServiceImpl extends ServiceImpl implements SysConfigService { @Override public Page queryConfigPage(SysConfigRequest request) { Page page = new Page<>(request.getPageNo(), request.getPageSize()); LambdaQueryWrapper wrapper = new LambdaQueryWrapper() .like(StringUtils.isNotBlank(request.getConfigName()), SysConfig::getConfigName, request.getConfigName()) .like(StringUtils.isNotBlank(request.getConfigCode()), SysConfig::getConfigCode, request.getConfigCode()) .like(StringUtils.isNotBlank(request.getConfigValue()), SysConfig::getConfigValue, request.getConfigValue()) .eq(request.getIsEnable() != -1, SysConfig::getIsEnable, request.getIsEnable()) .orderByAsc(SysConfig::getId); return this.page(page, wrapper); } @Override @Cacheable(value = "sysConfig", key = "#id") public SysConfig queryConfigById(Serializable id) { return this.getById(id); } @Override @CachePut(value = "sysConfig", key = "#request.id") public SysConfig saveConfig(SysConfig request) { this.save(request); return request; } @Override @CachePut(value = "sysConfig", key = "#request.id") public SysConfig updateConfig(SysConfig request) { this.updateById(request); return request; } @Override @CacheEvict(value = "sysConfig", key = "#id") public Boolean deleteConfig(Serializable id) { return this.removeById(id); } @Override public Integer queryConfigValue(Serializable id) { SysConfig sysConfig = this.queryConfigById(id); if (sysConfig == null) { log.info("系统配置查询为空,请检查该配置是否存在:{}", id); return null; } return Integer.parseInt(sysConfig.getConfigValue()); } }