package com.xunhong.erp.turbo.user.domain.gateway;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.xunhong.erp.turbo.api.user.dto.cmd.*;
import com.xunhong.erp.turbo.api.user.dto.qry.EmployeeListQry;
import com.xunhong.erp.turbo.api.user.dto.qry.EmployeePageQry;
import com.xunhong.erp.turbo.api.user.dto.qry.EmployeeShowQry;
import com.xunhong.erp.turbo.user.domain.entity.Employee;

import java.util.List;

/**
 * @author shenyifei
 */
public interface EmployeeGateway {
	Employee save(EmployeeCreateCmd employeeCreateCmd);

	IPage<Employee> page(EmployeePageQry employeePageQry);

	List<Employee> list(EmployeeListQry employeeListQry);

	Employee update(EmployeeUpdateCmd employeeUpdateCmd);

	Employee show(EmployeeShowQry employeeShowQry);

	void destroy(EmployeeDestroyCmd employeeDestroyCmd);

	Employee disable(EmployeeDisableCmd employeeDisableCmd);

	Employee updateAvatar(EmployeeUpdateAvatarCmd employeeUpdateAvatarCmd);
}
