package cn.wise.sc.cement.business.service;

import cn.wise.sc.cement.business.entity.PlanPeople;
import cn.wise.sc.cement.business.entity.SysUser;
import cn.wise.sc.cement.business.entity.SysUserEnclosure;
import cn.wise.sc.cement.business.model.BaseResponse;
import cn.wise.sc.cement.business.model.LoginUser;
import cn.wise.sc.cement.business.model.PageQuery;
import cn.wise.sc.cement.business.model.query.PlanPeopleQuery;
import cn.wise.sc.cement.business.model.query.SysUserEnclosureQuery;
import cn.wise.sc.cement.business.model.query.UserQuery;
import cn.wise.sc.cement.business.model.vo.UserVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletResponse;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author ztw
 * @since 2020-08-14
 */
public interface ISysUserService extends IService<SysUser> {

	LoginUser getLoginUser();

	BaseResponse<IPage<UserVo>> getPage(PageQuery pageQuery, Integer status, Integer groupId, String name);

	BaseResponse<SysUser> create(UserQuery query);

	BaseResponse<SysUser> update(UserQuery query);

	BaseResponse<String> status(Integer status, Integer id);

	BaseResponse<UserVo> findById(Integer id);

	BaseResponse<String> uploadPeoplePF(SysUserEnclosureQuery query);

	BaseResponse<IPage<SysUserEnclosure>> getUserEnclosurePage(PageQuery pageQuery, Integer userId);

	BaseResponse<String> deleteUserEnclosure(Integer id);

	/**
	 * 人员详情列表导出
	 * @param status 状态
	 * @param filename 文件名
	 * @param name 姓名
	 * @param response
	 */
//	void exportList(Integer status,String filename,String name, HttpServletResponse response);

}
