package com.xingxi.master.product.service.impl;

import com.xingxi.common.core.text.Convert;
import com.xingxi.common.utils.DateUtils;
import com.xingxi.master.product.domain.ProdTag;
import com.xingxi.master.product.mapper.ProdTagMapper;
import com.xingxi.master.product.service.IProdTagService;
import org.springframework.stereotype.Service;

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

/**
 * 商品标签Service业务层处理
 *
 * @author xingxi
 * @date 2025-03-06
 */
@Service
public class ProdTagServiceImpl implements IProdTagService {
    @Resource
    private ProdTagMapper prodTagMapper;

    /**
     * 查询商品标签
     *
     * @param id 商品标签主键
     * @return 商品标签
     */
    @Override
    public ProdTag selectProdTagById(Long id) {
        return prodTagMapper.selectProdTagById(id);
    }

    /**
     * 查询商品标签列表
     *
     * @param prodTag 商品标签
     * @return 商品标签
     */
    @Override
    public List<ProdTag> selectProdTagList(ProdTag prodTag) {
        return prodTagMapper.selectProdTagList(prodTag);
    }

    /**
     * 新增商品标签
     *
     * @param prodTag 商品标签
     * @return 结果
     */
    @Override
    public int insertProdTag(ProdTag prodTag) {
        prodTag.setCreateTime(DateUtils.getNowDate());
        return prodTagMapper.insertProdTag(prodTag);
    }

    /**
     * 新增商品标签
     *
     * @param prodTagList 商品标签
     * @return 结果
     */
    @Override
    public int batchInsertProdTag(List<ProdTag> prodTagList) {
        return prodTagMapper.batchInsertProdTag(prodTagList);
    }

    /**
     * 修改商品标签
     *
     * @param prodTag 商品标签
     * @return 结果
     */
    @Override
    public int updateProdTag(ProdTag prodTag) {
        prodTag.setUpdateTime(DateUtils.getNowDate());
        return prodTagMapper.updateProdTag(prodTag);
    }

    /**
     * 批量删除商品标签
     *
     * @param ids 需要删除的商品标签主键
     * @return 结果
     */
    @Override
    public int deleteProdTagByIds(String ids) {
        return prodTagMapper.deleteProdTagByIds(Convert.toStrArray(ids));
    }

    /**
     * 删除商品标签信息
     *
     * @param id 商品标签主键
     * @return 结果
     */
    @Override
    public int deleteProdTagById(Long id) {
        return prodTagMapper.deleteProdTagById(id);
    }

    /**
     * 逻辑删除商品标签
     *
     * @param id 商品标签主键
     * @return 结果
     */
    @Override
    public int logicDeleteProdTagById(Long id) {
        return prodTagMapper.logicDeleteProdTagById(id);
    }

    /**
     * 逻辑批量删除商品标签
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    @Override
    public int logicDeleteProdTagByIds(String[] ids) {
        return prodTagMapper.logicDeleteProdTagByIds(ids);
    }

    /**
     * 逻辑批量删除商品标签
     *
     * @param prodTag 商品标签
     * @return 结果
     */
    @Override
    public int logicDeleteProdTagByCondition(ProdTag prodTag) {
        return prodTagMapper.logicDeleteProdTagByCondition(prodTag);
    }
}
