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

import java.util.List;

import com.sundot.airport.system.utils.CodeGeneratorUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.sundot.airport.system.mapper.BaseSeizeItemMapper;
import com.sundot.airport.system.domain.BaseSeizeItem;
import com.sundot.airport.system.service.IBaseSeizeItemService;

/**
 * 查获物品Service业务层处理
 *
 * @author ruoyi
 * @date 2025-07-08
 */
@Service
public class BaseSeizeItemServiceImpl implements IBaseSeizeItemService {
    @Autowired
    private CodeGeneratorUtil codeGeneratorUtil;
    @Autowired
    private BaseSeizeItemMapper baseSeizeItemMapper;

    /**
     * 查询查获物品
     *
     * @param id 查获物品主键
     * @return 查获物品
     */
    @Override
    public BaseSeizeItem selectBaseSeizeItemById(Long id) {
        return baseSeizeItemMapper.selectBaseSeizeItemById(id);
    }

    /**
     * 查询查获物品列表
     *
     * @param baseSeizeItem 查获物品
     * @return 查获物品
     */
    @Override
    public List<BaseSeizeItem> selectBaseSeizeItemList(BaseSeizeItem baseSeizeItem) {
        return baseSeizeItemMapper.selectBaseSeizeItemList(baseSeizeItem);
    }

    /**
     * 新增查获物品
     *
     * @param baseSeizeItem 查获物品
     * @return 结果
     */
    @Override
    public int insertBaseSeizeItem(BaseSeizeItem baseSeizeItem) {
        baseSeizeItem.setCode(codeGeneratorUtil.getNextCodeGenerator());
        return baseSeizeItemMapper.insertBaseSeizeItem(baseSeizeItem);
    }

    /**
     * 修改查获物品
     *
     * @param baseSeizeItem 查获物品
     * @return 结果
     */
    @Override
    public int updateBaseSeizeItem(BaseSeizeItem baseSeizeItem) {
        return baseSeizeItemMapper.updateBaseSeizeItem(baseSeizeItem);
    }

    /**
     * 批量删除查获物品
     *
     * @param ids 需要删除的查获物品主键
     * @return 结果
     */
    @Override
    public int deleteBaseSeizeItemByIds(Long[] ids) {
        return baseSeizeItemMapper.deleteBaseSeizeItemByIds(ids);
    }

    /**
     * 删除查获物品信息
     *
     * @param id 查获物品主键
     * @return 结果
     */
    @Override
    public int deleteBaseSeizeItemById(Long id) {
        return baseSeizeItemMapper.deleteBaseSeizeItemById(id);
    }

    /**
     * 根据分类编码查询查获物品列表
     *
     * @param categoryCode 分类编码
     * @return 查获物品集合
     */
    @Override
    public List<BaseSeizeItem> selectSeizeItemListByCategoryCode(String categoryCode) {
        BaseSeizeItem baseSeizeItem = new BaseSeizeItem();
        baseSeizeItem.setCategoryCode(categoryCode);
        return baseSeizeItemMapper.selectBaseSeizeItemList(baseSeizeItem);
    }
}
