package com.manage.service;

import com.manage.entity.Power_User;
import com.manage.vo.Power_UserVo;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.util.List;

/**
 * @Author:hjl
 * @Date:Creatid in 1:18 2019/4/17
 * @Description:
 */
public interface Power_UserService {
    int deleteByPrimaryKey(Integer userId);

    int insert(Power_User powerUser);

    int insertSelective(Power_User powerUser);

    Power_UserVo selectByPrimaryKey(Integer userId);

    int updateByPrimaryKeySelective(Power_User record,HttpServletRequest request);

    int updateByPrimaryKey(Power_User record);

    /**
     * @Date 2019-07-31
     * @Author zengwenhe
     * */
    public List<Power_User> checkUserName(String userName);

    /**
     * @Date 2019-4-16
     * @Author ljx
     *  @Description 根据用户名以及密码查询用户信息
     * */
    public Power_UserVo findPowerUserByUserNameAndUserPwd(Power_User powerUser);

    /**
     * @Date 2019-4-22
     * @Author ljx
     * @Description 根据url以及用户id验证是否拥有此权限
     * */
    public boolean validUserRoleMenu(String url, Integer userId);

    /**
     * @Date 2019-4-16
     * @Author ly
     *  @Description 根据条件查询用户信息
     * */
    List<Power_UserVo> findSomeByMore(Power_UserVo powerUser, HttpServletRequest request);

    /**
     * @Date 2019-4-16
     * @Author ly
     *  @Description 返回符合条件的用户总记录数
     * */
    int getTotal(Power_UserVo powerUser,HttpServletRequest request);


    /**
     * @Date 2019-4-25
     * @Author ly
     *  @Description 导出Excel表
     * */
    void export(Power_UserVo powerUser,HttpServletRequest request,HttpServletResponse response)throws Exception;

    /**
     * @Date 2019-5-14
     * @Author ljx
     * @Description 修改密码
     * */
    public boolean updatePassword(String newUserPwd);


    String generateUUID(Integer userId);

    /**
     * @Date 2019-12-06
     * @Author zwh
     * @Description 根据用户名和备注获取用户信息
     * */
    public Power_UserVo findPowerUserByUserNameAndRemark(Power_User powerUser);

    List<Power_User> loadPosition();
}
