package com.ruoyi.bst.help.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.collection.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.bst.help.mapper.HelpMapper;
import com.ruoyi.bst.help.domain.Help;
import com.ruoyi.bst.help.domain.HelpVO;
import com.ruoyi.bst.help.domain.HelpQuery;
import com.ruoyi.bst.help.service.HelpService;

/**
 * 教程列表Service业务层处理
 *
 * @author ruoyi
 * @date 2025-04-29
 */
@Service
public class HelpServiceImpl implements HelpService
{
    @Autowired
    private HelpMapper helpMapper;

    /**
     * 查询教程列表
     *
     * @param id 教程列表主键
     * @return 教程列表
     */
    @Override
    public HelpVO selectHelpById(Long id)
    {
        return helpMapper.selectHelpById(id);
    }

    /**
     * 查询教程列表列表
     *
     * @param help 教程列表
     * @return 教程列表
     */
    @Override
    public List<HelpVO> selectHelpList(HelpQuery help)
    {
        return helpMapper.selectHelpList(help);
    }

    /**
     * 新增教程列表
     *
     * @param help 教程列表
     * @return 结果
     */
    @Override
    public int insertHelp(Help help)
    {
        help.setCreateTime(DateUtils.getNowDate());
        return helpMapper.insertHelp(help);
    }

    /**
     * 修改教程列表
     *
     * @param help 教程列表
     * @return 结果
     */
    @Override
    public int updateHelp(Help help)
    {
        help.setUpdateTime(DateUtils.getNowDate());
        return helpMapper.updateHelp(help);
    }

    /**
     * 批量删除教程列表
     *
     * @param ids 需要删除的教程列表主键
     * @return 结果
     */
    @Override
    public int deleteHelpByIds(Long[] ids)
    {
        return helpMapper.deleteHelpByIds(ids);
    }

    /**
     * 删除教程列表信息
     *
     * @param id 教程列表主键
     * @return 结果
     */
    @Override
    public int deleteHelpById(Long id)
    {
        return helpMapper.deleteHelpById(id);
    }

    @Override
    public HelpVO selectByCode(String code) {
        if (StringUtils.isBlank(code)) {
            return null;
        }
        HelpQuery query = new HelpQuery();
        query.setEqCode(code);
        return this.selectOne(query);
    }
    private HelpVO selectOne(HelpQuery query) {
        List<HelpVO> list = this.selectHelpList(query);
        if (CollectionUtils.isEmpty(list)) {
            return null;
        }
        return list.get(0);
    }

}
