package com.sonic.frog.service;

import com.sonic.bear.lib.input.CompleteUserInfoInput;
import com.sonic.bear.lib.input.EditUserInfoInput;
import com.sonic.bear.lib.output.BaseUserInfoOutput;
import com.sonic.frog.domain.output.UserBaseInfoOutput;

public interface UserService {

    /**
     * 获取用户自己的基础信息(内部用)
     *
     * @param userId
     * @return
     */
    BaseUserInfoOutput baseUserInfo(Long userId);

    /**
     * 获取用户自己的基础信息(接口用)
     *
     * @param userId
     * @return
     */
    UserBaseInfoOutput getbaseUserInfo(Long userId);

    /**
     * 完善用户基础信息
     *
     * @param input
     */
    void completeUserInfo(CompleteUserInfoInput input);

    /**
     * 编辑用户基础信息
     *
     * @param input
     */
    void editUserInfo(EditUserInfoInput input);

    /**
     * 删除账号
     *
     * @param userId
     */
    void delAccount(Long userId);
}
