package com.kym.service;

import com.github.yulichang.base.MPJBaseService;
import com.kym.common.R;
import com.kym.entity.AdminUser;
import com.kym.entity.queryParams.CommonQueryParam;
import com.kym.entity.vo.AdminUserVo;
import com.kym.entity.common.PageBean;
import com.kym.service.mybatisplus.MyBaseService;

import java.util.List;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author skyline
 * @since 2023-07-11
 */
public interface AdminUserService extends MyBaseService<AdminUser> {

    List<AdminUser> getInvestorAdminUsers();

    R login(String mobilePhone, String password);

    void logout(Long id);


    Object profile();

    List<AdminUserVo> listUserPermissions(Long loginId);

    List<String> listUserRoles(Long loginId);

    PageBean<AdminUserVo> listAdminUser(CommonQueryParam params);

    String createAdminUser(AdminUserVo adminUserVo);

    Object detail(long id);

    void updateRole(long userId, List<Long> roleIdList);

    void updateAdminUser(AdminUserVo adminUserVo);

    PageBean<?> listUser(CommonQueryParam params);

    Object wxLogin(AdminUser user);

    Object loginByOpenId(AdminUser user);
}
