package com.kexue.skills.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.kexue.skills.entity.PackageConfig;
import com.kexue.skills.entity.dto.PackageConfigDto;
import com.kexue.skills.mapper.PackageConfigMapper;
import com.kexue.skills.service.PackageConfigService;
import org.springframework.stereotype.Service;

import jakarta.annotation.Resource;
import java.util.List;

/**
 * (PackageConfig)表服务实现类
 *
 * @author 系统生成
 * @since 2026-04-11
 */
@Service
public class PackageConfigServiceImpl implements PackageConfigService {
    
    @Resource
    private PackageConfigMapper packageConfigMapper;
    
    @Override
    public PageInfo<PackageConfig> getPageList(PackageConfigDto queryDto) {
        PageHelper.startPage(queryDto.getPageNum(), queryDto.getPageSize());
        List<PackageConfig> list = packageConfigMapper.getList(queryDto);
        return new PageInfo<>(list);
    }
    
    @Override
    public List<PackageConfig> getList(PackageConfigDto queryDto) {
        return packageConfigMapper.getList(queryDto);
    }
    
    @Override
    public PackageConfig queryById(Long id) {
        return packageConfigMapper.queryById(id);
    }
    
    @Override
    public PackageConfig insert(PackageConfig packageConfig) {
        packageConfigMapper.insert(packageConfig);
        return packageConfig;
    }
    
    @Override
    public PackageConfig update(PackageConfig packageConfig) {
        packageConfigMapper.update(packageConfig);
        return packageConfig;
    }
    
    @Override
    public int logicDeleteById(Long id, String updateBy) {
        // 由于package_config表没有delete_flag字段，这里直接调用物理删除
        return packageConfigMapper.deleteById(id);
    }
    
    @Override
    public int deleteById(Long id) {
        return packageConfigMapper.deleteById(id);
    }
    
}
