package com.ruoyi.label.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.label.mapper.TbLabelModelInfoMapper;
import com.ruoyi.label.domain.TbLabelModelInfo;
import com.ruoyi.label.service.ITbLabelModelInfoService;

/**
 * 标签模板信息Service业务层处理
 * 
 * @author 原动力
 * @date 2023-11-24
 */
@Service
public class TbLabelModelInfoServiceImpl implements ITbLabelModelInfoService 
{
    @Autowired
    private TbLabelModelInfoMapper tbLabelModelInfoMapper;

    /**
     * 查询标签模板信息
     * 
     * @param id 标签模板信息主键
     * @return 标签模板信息
     */
    @Override
    public TbLabelModelInfo selectTbLabelModelInfoById(Long id)
    {
        return tbLabelModelInfoMapper.selectTbLabelModelInfoById(id);
    }

    @Override
    public TbLabelModelInfo selectTbLabelModelByLabelCode(String labelCode) {
        return tbLabelModelInfoMapper.selectTbLabelModelByLabelCode(labelCode);
    }

    /**
     * 查询标签模板信息列表
     * 
     * @param tbLabelModelInfo 标签模板信息
     * @return 标签模板信息
     */
    @Override
    public List<TbLabelModelInfo> selectTbLabelModelInfoList(TbLabelModelInfo tbLabelModelInfo)
    {
        return tbLabelModelInfoMapper.selectTbLabelModelInfoList(tbLabelModelInfo);
    }

    /**
     * 新增标签模板信息
     * 
     * @param tbLabelModelInfo 标签模板信息
     * @return 结果
     */
    @Override
    public int insertTbLabelModelInfo(TbLabelModelInfo tbLabelModelInfo)
    {
        String labelCode = tbLabelModelInfo.getLabelCode();
        TbLabelModelInfo labelModelInfo = selectTbLabelModelByLabelCode(labelCode);
        if (labelModelInfo != null) {
            throw new RuntimeException("标签编码已存在");
        }
        tbLabelModelInfo.setCreateTime(DateUtils.getNowDate());
        return tbLabelModelInfoMapper.insertTbLabelModelInfo(tbLabelModelInfo);
    }

    /**
     * 修改标签模板信息
     * 
     * @param tbLabelModelInfo 标签模板信息
     * @return 结果
     */
    @Override
    public int updateTbLabelModelInfo(TbLabelModelInfo tbLabelModelInfo)
    {
        tbLabelModelInfo.setUpdateTime(DateUtils.getNowDate());
        return tbLabelModelInfoMapper.updateTbLabelModelInfo(tbLabelModelInfo);
    }

    /**
     * 批量删除标签模板信息
     * 
     * @param ids 需要删除的标签模板信息主键
     * @return 结果
     */
    @Override
    public int deleteTbLabelModelInfoByIds(Long[] ids)
    {
        return tbLabelModelInfoMapper.deleteTbLabelModelInfoByIds(ids);
    }

    /**
     * 删除标签模板信息信息
     * 
     * @param id 标签模板信息主键
     * @return 结果
     */
    @Override
    public int deleteTbLabelModelInfoById(Long id)
    {
        return tbLabelModelInfoMapper.deleteTbLabelModelInfoById(id);
    }
}
