package com.sonic.frog.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sonic.frog.domain.entity.AiUser;
import com.sonic.frog.domain.input.CreateEditAiUserInput;
import com.sonic.frog.domain.input.EditAiHeadImgInput;
import com.sonic.frog.domain.output.AiUserInfoOutput;
import com.sonic.frog.domain.output.CreateEditAiUserOutput;

import javax.validation.Valid;

/**
 * AI用户表服务接口
 */
public interface AiUserSetService extends IService<AiUser> {

    /**
     * 创建或编辑Ai用户
     *
     * @param input
     * @param currentUserId
     */
    CreateEditAiUserOutput createEditAiUser(CreateEditAiUserInput input, Long currentUserId);

    /**
     * 删除Ai用户
     *
     * @param aiId
     * @param currentUserId
     */
    void delAiUser(Long aiId, Long currentUserId);

    /**
     * 根据aiId查询我的Ai用户信息 编辑用
     *
     * @param aiId
     * @param currentUserId
     */
    AiUserInfoOutput getMyAiUserInfo(Long aiId, Long currentUserId);

    /**
     * 设置ai主页头图
     *
     * @param aiId
     * @param homeImageUrl
     */
    void setHomeImageUrl(Long aiId, String homeImageUrl);

    /**
     * 修改ai头像
     *
     * @param userId
     * @param input
     */
    void editAiHeadImg(Long userId, @Valid EditAiHeadImgInput input);
}