package com.yiqi.core.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yiqi.common.utils.DateUtils;
import com.yiqi.core.domain.GoodsSkuSpec;
import com.yiqi.core.mapper.GoodsSkuSpecMapper;
import com.yiqi.core.service.IGoodsSkuSpecService;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 商品规格Service业务层处理
 *
 * @author ruoyi
 * @date 2023-08-30
 */
@Service
public class GoodsSkuSpecServiceImpl extends ServiceImpl<GoodsSkuSpecMapper, GoodsSkuSpec> implements IGoodsSkuSpecService {

    /**
     * 查询商品规格
     *
     * @param id 商品规格主键
     * @return 商品规格
     */
    @Override
    public GoodsSkuSpec selectGoodsSkuSpecById(Long id) {
        return baseMapper.selectGoodsSkuSpecById(id);
    }

    /**
     * 查询商品规格列表
     *
     * @param goodsSkuSpec 商品规格
     * @return 商品规格
     */
    @Override
    public List<GoodsSkuSpec> selectGoodsSkuSpecList(GoodsSkuSpec goodsSkuSpec) {
        return baseMapper.selectGoodsSkuSpecList(goodsSkuSpec);
    }

    /**
     * 新增商品规格
     *
     * @param goodsSkuSpec 商品规格
     * @return 结果
     */
    @Override
    public int insertGoodsSkuSpec(GoodsSkuSpec goodsSkuSpec) {
        goodsSkuSpec.setCreateTime(DateUtils.getNowDate());
        return baseMapper.insertGoodsSkuSpec(goodsSkuSpec);
    }

    /**
     * 修改商品规格
     *
     * @param goodsSkuSpec 商品规格
     * @return 结果
     */
    @Override
    public int updateGoodsSkuSpec(GoodsSkuSpec goodsSkuSpec) {
        goodsSkuSpec.setUpdateTime(DateUtils.getNowDate());
        return baseMapper.updateGoodsSkuSpec(goodsSkuSpec);
    }

    /**
     * 批量删除商品规格
     *
     * @param ids 需要删除的商品规格主键
     * @return 结果
     */
    @Override
    public int deleteGoodsSkuSpecByIds(Long[] ids) {
        return baseMapper.deleteGoodsSkuSpecByIds(ids);
    }

    /**
     * 删除商品规格信息
     *
     * @param id 商品规格主键
     * @return 结果
     */
    @Override
    public int deleteGoodsSkuSpecById(Long id) {
        return baseMapper.deleteGoodsSkuSpecById(id);
    }

    @Override
    public List<GoodsSkuSpec> getSkuSpecListBySkuId(Long skuId) {
        if (skuId == null) {
            return null;
        }
        return baseMapper.getSkuSpecListBySkuId(skuId);
    }


}
