package com.github.wxiaoqi.security.admin.mapper;

import com.github.wxiaoqi.security.admin.bo.UserStaffBo;
import com.github.wxiaoqi.security.admin.dto.AppUserManageDTO;
import com.github.wxiaoqi.security.admin.dto.StaffStatisticsFindDTO;
import com.github.wxiaoqi.security.admin.entity.AppUserDetail;
import com.github.wxiaoqi.security.admin.vo.AppUserManageVo;
import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;

public interface AppUserDetailMapper extends Mapper<AppUserDetail> {

    //查询用户信息
     AppUserVo getUserInfo(@Param("userId") Integer userId);

    List<AppUserManageVo> selectAppUserManage(@Param("userId") Integer userId);

    void updateUserMemberStatusByUserId(@Param("userId") Integer userId,@Param("status") Integer status);

    void updateUserPositionByUserId(@Param("userId") Integer id, @Param("positionId") Integer positionId);

    List<Integer> getUserIdByUsername(@Param("keywords") String keywords);

    List<AppUserVo> getUserVo(@Param("list") List<Integer> ids);

    List<AppUserManageVo> selectAppUser(AppUserManageDTO appUserManageDTO);

    List<UserStaffBo> selectAllStaffs();

    List<AppUserVo> getUserByUserIdList(@Param("userIds") List<Integer> userIds);

    List<UserStaffBo> findAllStaffsByCompanyIdAndPostionId(StaffStatisticsFindDTO staffStatisticsFindDTO);

    AppUserVo getUser(Integer userId);
}