package com.hfkj.service.user;

import com.hfkj.common.security.SessionObject;
import com.hfkj.entity.BsUser;
import com.hfkj.sysenum.user.UserLoginPlatform;
import com.hfkj.sysenum.user.UserLoginType;

import java.util.Map;

/**
 * @className: BsUserService
 * @author: HuRui
 * @date: 2024/6/11
 **/
public interface BsUserService {

    /**
     * 编辑数据
     * @param data
     */
    void editData(BsUser data);

    /**
     * 获取用户
     * @param userId 用户id
     * @return
     */
    BsUser getUser(Long userId);

    /**
     * 获取用户
     * @param phone 手机号
     * @return
     */
    BsUser getUser(String phone);

    /**
     * 绑定其他id
     * @param type
     * @param id
     */
    void bindOtherId(Integer type, String id, Long userId) throws Exception;

    /**
     * 查询用户
     * @param loginPlatform
     * @param code
     * @return
     */
    BsUser getUser(UserLoginPlatform loginPlatform, String code);

    /**
     * 用户注册
     * @param phone    手机号
     * @param other    其他参数
     * @return
     * @throws Exception
     */
    BsUser register(String phone, Map<String, Object> other);

    /**
     * 用户登录
     * @param platform 客户端
     * @param loginType 登录方式
     * @param phone    手机号
     * @param other    其他参数
     * @return
     * @throws Exception
     */
    SessionObject login(UserLoginPlatform platform, UserLoginType loginType, String phone, Map<String, Object> other) throws Exception;

}

