package com.hw.system.common.service.impl;

import java.util.List;

import com.hw.common.core.utils.DateUtils;
import com.hw.common.security.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.hw.system.common.mapper.HwPrinterInfoMapper;
import com.hw.system.common.domain.HwPrinterInfo;
import com.hw.system.common.service.IHwPrinterInfoService;

/**
 * 打印机信息Service业务层处理
 *
 * @author Yinq
 * @date 2024-03-25
 */
@Service
public class HwPrinterInfoServiceImpl implements IHwPrinterInfoService {
    @Autowired
    private HwPrinterInfoMapper hwPrinterInfoMapper;

    /**
     * 查询打印机信息
     *
     * @param printerInfoId 打印机信息主键
     * @return 打印机信息
     */
    @Override
    public HwPrinterInfo selectHwPrinterInfoByPrinterInfoId(Long printerInfoId) {
        return hwPrinterInfoMapper.selectHwPrinterInfoByPrinterInfoId(printerInfoId);
    }

    /**
     * 查询打印机信息列表
     *
     * @param hwPrinterInfo 打印机信息
     * @return 打印机信息
     */
    @Override
    public List<HwPrinterInfo> selectHwPrinterInfoList(HwPrinterInfo hwPrinterInfo) {
        return hwPrinterInfoMapper.selectHwPrinterInfoList(hwPrinterInfo);
    }

    /**
     * 新增打印机信息
     *
     * @param hwPrinterInfo 打印机信息
     * @return 结果
     */
    @Override
    public int insertHwPrinterInfo(HwPrinterInfo hwPrinterInfo) {
        hwPrinterInfo.setCreateBy(SecurityUtils.getUsername());
        hwPrinterInfo.setCreateTime(DateUtils.getNowDate());
        return hwPrinterInfoMapper.insertHwPrinterInfo(hwPrinterInfo);
    }

    /**
     * 修改打印机信息
     *
     * @param hwPrinterInfo 打印机信息
     * @return 结果
     */
    @Override
    public int updateHwPrinterInfo(HwPrinterInfo hwPrinterInfo) {
        hwPrinterInfo.setUpdateBy(SecurityUtils.getUsername());
        hwPrinterInfo.setUpdateTime(DateUtils.getNowDate());
        return hwPrinterInfoMapper.updateHwPrinterInfo(hwPrinterInfo);
    }

    /**
     * 批量删除打印机信息
     *
     * @param printerInfoIds 需要删除的打印机信息主键
     * @return 结果
     */
    @Override
    public int deleteHwPrinterInfoByPrinterInfoIds(Long[] printerInfoIds) {
        return hwPrinterInfoMapper.deleteHwPrinterInfoByPrinterInfoIds(printerInfoIds);
    }

    /**
     * 删除打印机信息信息
     *
     * @param printerInfoId 打印机信息主键
     * @return 结果
     */
    @Override
    public int deleteHwPrinterInfoByPrinterInfoId(Long printerInfoId) {
        return hwPrinterInfoMapper.deleteHwPrinterInfoByPrinterInfoId(printerInfoId);
    }
}
