package com.ruoyi.system.service.impl;

import java.util.Date;
import java.util.List;

import com.ruoyi.common.exception.ServiceException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.MachineMapper;
import com.ruoyi.system.domain.Machine;
import com.ruoyi.system.service.IMachineService;

/**
 * 机器Service业务层处理
 * 
 * @author ruoyi
 * @date 2022-04-28
 */
@Service
public class MachineServiceImpl implements IMachineService 
{
    @Autowired
    private MachineMapper machineMapper;

    /**
     * 查询机器
     * 
     * @param id 机器主键
     * @return 机器
     */
    @Override
    public Machine selectMachineById(String id)
    {
        return machineMapper.selectMachineById(id);
    }

    /**
     * 查询机器列表
     * 
     * @param machine 机器
     * @return 机器
     */
    @Override
    public List<Machine> selectMachineList(Machine machine)
    {
        return machineMapper.selectMachineList(machine);
    }

    /**
     * 新增机器
     * 
     * @param machine 机器
     * @return 结果
     */
    @Override
    public int insertMachine(Machine machine)
    {
        return machineMapper.insertMachine(machine);
    }

    /**
     * 修改机器
     * 
     * @param machine 机器
     * @return 结果
     */
    @Override
    public int updateMachine(Machine machine)
    {
        return machineMapper.updateMachine(machine);
    }

    /**
     * 批量删除机器
     * 
     * @param ids 需要删除的机器主键
     * @return 结果
     */
    @Override
    public int deleteMachineByIds(String[] ids)
    {
        return machineMapper.deleteMachineByIds(ids);
    }

    /**
     * 删除机器信息
     * 
     * @param id 机器主键
     * @return 结果
     */
    @Override
    public int deleteMachineById(String id)
    {
        return machineMapper.deleteMachineById(id);
    }

    @Override
    public String bindMachine(String code, Long shopId) {
        Machine machine = new Machine();
        machine.setId(code);
        machine.setCode(code);
        machine.setShopId(shopId);
        machine.setBindTime(new Date());
        machine.setCreatedAt(new Date());
        machine.setUpdatedAt(new Date());
        machine.setState("1");
        machineMapper.insertMachine(machine);
        return null;
    }

    @Override
    public int unbound(String id) {
        return machineMapper.deleteMachineById(id);
    }
}
