package com.chushang.system.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.chushang.common.mybatis.page.CommonParam;
import com.chushang.system.entity.po.SysConfig;
import com.chushang.system.entity.po.SysDictType;
import com.chushang.system.mapper.SysConfigMapper;
import com.chushang.system.service.ISysConfigService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;

/**
 * @auther: zhao
 * @date: 2024/5/9 18:47
 */
@Slf4j
@Service
public class SysConfigServiceImpl extends ServiceImpl<SysConfigMapper, SysConfig> implements ISysConfigService {
    public LambdaQueryWrapper<SysConfig> buildWrapper(SysConfig sysConfig, CommonParam commonParam) {
        return new QueryWrapper<SysConfig>()
                .orderBy(true, "asc".equals(commonParam.getIsAsc()), commonParam.getOrderBy())
                .lambda()
                .eq(null != sysConfig.getConfigId(), SysConfig::getConfigId, sysConfig.getConfigId())
                .eq(StringUtils.isNotEmpty(sysConfig.getConfigName()), SysConfig::getConfigName, sysConfig.getConfigName())
                .eq(StringUtils.isNotEmpty(sysConfig.getConfigKey()), SysConfig::getConfigKey, sysConfig.getConfigKey())
                .eq(StringUtils.isNotEmpty(sysConfig.getConfigType()), SysConfig::getConfigType, sysConfig.getConfigType());
    }
}
