package com.yijia.integral.service.impl;

import java.util.List;

import com.yijia.common.core.domain.model.LoginUser;
import com.yijia.common.utils.DateUtils;
import com.yijia.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.yijia.integral.mapper.IntegralWaresMapper;
import com.yijia.integral.domain.IntegralWares;
import com.yijia.integral.service.IIntegralWaresService;

/**
 * 积分商品管理Service业务层处理
 *
 * @author yijia
 * @date 2021-03-01
 */
@Service
public class IntegralWaresServiceImpl implements IIntegralWaresService
{
    @Autowired
    private IntegralWaresMapper integralWaresMapper;

    /**
     * 查询积分商品管理
     *
     * @param id 积分商品管理ID
     * @return 积分商品管理
     */
    @Override
    public IntegralWares selectIntegralWaresById(Long id)
    {
        return integralWaresMapper.selectIntegralWaresById(id);
    }

    /**
     * 查询积分商品管理列表
     *
     * @param integralWares 积分商品管理
     * @return 积分商品管理
     */
    @Override
    public List<IntegralWares> selectIntegralWaresList(IntegralWares integralWares)
    {
        return integralWaresMapper.selectIntegralWaresList(integralWares);
    }

    /**
     * 新增积分商品管理
     *
     * @param integralWares 积分商品管理
     * @return 结果
     */
    @Override
    public int insertIntegralWares(IntegralWares integralWares)
    {
        integralWares.setCreateTime(DateUtils.getNowDate());
        return integralWaresMapper.insertIntegralWares(integralWares);
    }

    /**
     * 修改积分商品管理，默认删除下架，再做新增
     *
     * @param integralWares 积分商品管理
     * @return 结果
     */
    @Override
    public int updateIntegralWares(IntegralWares integralWares)
    {
        LoginUser currentUser = SecurityUtils.getLoginUser();
        integralWares.setWaresStatus("3");
        integralWaresMapper.updateIntegralWares(integralWares);
        IntegralWares wares = integralWaresMapper.selectIntegralWaresById(integralWares.getId());
        wares.setWaresStatus("1");
        wares.setCreateTime(DateUtils.getNowDate());
        wares.setCreateBy(currentUser.getUser().getUserId()+"");
        wares.setStationId(integralWares.getStationId());
        wares.setWaresName(integralWares.getWaresName());
        wares.setSaleIntegral(integralWares.getSaleIntegral());
        wares.setWaresPic(integralWares.getWaresPic());
        wares.setWaresDetail(integralWares.getWaresDetail());
        wares.setWaresCount(wares.getWaresCount());
        wares.setWaresOutCount(wares.getWaresOutCount());
        return integralWaresMapper.insertIntegralWares(wares);
    }

    /**
     * 修改积分商品管理
     *
     * @param integralWares 积分商品管理
     * @return 结果
     */
    @Override
    public int editInfoWares(IntegralWares integralWares) {
        return integralWaresMapper.updateIntegralWares(integralWares);
    }

    /**
     * 批量删除积分商品管理
     *
     * @param ids 需要删除的积分商品管理ID
     * @return 结果
     */
    @Override
    public int deleteIntegralWaresByIds(Long[] ids)
    {
        return integralWaresMapper.deleteIntegralWaresByIds(ids);
    }

    /**
     * 删除积分商品管理信息
     *
     * @param id 积分商品管理ID
     * @return 结果
     */
    @Override
    public int deleteIntegralWaresById(Long id)
    {
        return integralWaresMapper.deleteIntegralWaresById(id);
    }
}
