package com.sundot.airport.system.service.impl;

import java.util.List;

import com.sundot.airport.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.sundot.airport.system.mapper.BaseDefaultChoiseMapper;
import com.sundot.airport.system.domain.BaseDefaultChoise;
import com.sundot.airport.system.service.IBaseDefaultChoiseService;

/**
 * 默认选择配置Service业务层处理
 *
 * @author ruoyi
 * @date 2025-08-25
 */
@Service
public class BaseDefaultChoiseServiceImpl implements IBaseDefaultChoiseService {
    @Autowired
    private BaseDefaultChoiseMapper baseDefaultChoiseMapper;

    /**
     * 查询默认选择配置
     *
     * @param id 默认选择配置主键
     * @return 默认选择配置
     */
    @Override
    public BaseDefaultChoise selectBaseDefaultChoiseById(Long id) {
        return baseDefaultChoiseMapper.selectBaseDefaultChoiseById(id);
    }

    /**
     * 查询默认选择配置列表
     *
     * @param baseDefaultChoise 默认选择配置
     * @return 默认选择配置
     */
    @Override
    public List<BaseDefaultChoise> selectBaseDefaultChoiseList(BaseDefaultChoise baseDefaultChoise) {
        return baseDefaultChoiseMapper.selectBaseDefaultChoiseList(baseDefaultChoise);
    }

    /**
     * 新增默认选择配置
     *
     * @param baseDefaultChoise 默认选择配置
     * @return 结果
     */
    @Override
    public int insertBaseDefaultChoise(BaseDefaultChoise baseDefaultChoise) {
        baseDefaultChoise.setCreateTime(DateUtils.getNowDate());
        return baseDefaultChoiseMapper.insertBaseDefaultChoise(baseDefaultChoise);
    }

    /**
     * 修改默认选择配置
     *
     * @param baseDefaultChoise 默认选择配置
     * @return 结果
     */
    @Override
    public int updateBaseDefaultChoise(BaseDefaultChoise baseDefaultChoise) {
        baseDefaultChoise.setUpdateTime(DateUtils.getNowDate());
        return baseDefaultChoiseMapper.updateBaseDefaultChoise(baseDefaultChoise);
    }

    /**
     * 批量删除默认选择配置
     *
     * @param ids 需要删除的默认选择配置主键
     * @return 结果
     */
    @Override
    public int deleteBaseDefaultChoiseByIds(Long[] ids) {
        return baseDefaultChoiseMapper.deleteBaseDefaultChoiseByIds(ids);
    }

    /**
     * 删除默认选择配置信息
     *
     * @param id 默认选择配置主键
     * @return 结果
     */
    @Override
    public int deleteBaseDefaultChoiseById(Long id) {
        return baseDefaultChoiseMapper.deleteBaseDefaultChoiseById(id);
    }

    /**
     * 获取默认选择的分类信息（包含ID、名称及父类信息）
     *
     * @param categoryType 分类类型：1-查获物品分类，2-检查部位
     * @return 包含分类ID、名称及父类信息的结果集合
     */
    @Override
    public List<BaseDefaultChoise> selectDefaultCategoryWithInfo(Integer categoryType) {
        return baseDefaultChoiseMapper.selectDefaultCategoryWithInfo(categoryType);
    }
}