package com.sikey.wa04.business.domain.adapter;

import com.sikey.wa04.business.domain.entity.Child;
import com.sikey.wa04.business.domain.entity.ChildId;
import com.sikey.wa04.business.domain.entity.UserId;

import java.util.List;

/**
 * 小孩适配器
 *
 * @author luoyangwei
 */
public interface ChildAdapter {

    /**
     * 创建小孩
     *
     * @param child 小孩
     */
    void create(Child child);

    /**
     * 更新小孩
     *
     * @param child 小孩
     */
    void update(Child child);

    /**
     * 更新小孩
     *
     * @param child 小孩
     * @param userId 小孩
     * @param appellation 昵称
     *
     */
    void updateChild(Child child, UserId userId, String appellation);

    /**
     * 删除小孩
     *
     * @param childId  小孩ID
     * @param userId   用户ID
     * @param identity 身份：0 默认1其他人2家人3管理员4超级管理员
     */
    void delete(ChildId childId, UserId userId, Integer identity);

    /**
     * 查询儿童
     *
     * @param id 儿童编码
     * @return
     */
    Child queryChild(ChildId id);

    /**
     * 查询儿童
     *
     * @param childRefIdList 儿童编码
     * @return
     */
    List<Child> findByChildIdIn(List<String> childRefIdList);
}
