package com.mortals.xhx.module.hik.face.service;


import com.mortals.framework.common.Rest;
import com.mortals.xhx.module.hik.face.model.req.face.FaceListReq;
import com.mortals.xhx.module.hik.face.model.req.face.FaceReq;
import com.mortals.xhx.module.hik.face.model.req.face.ResRecognReq;
import com.mortals.xhx.module.hik.face.model.req.group.FaceGroupReq;
import com.mortals.xhx.module.hik.face.model.rsp.face.FaceDataInfo;
import com.mortals.xhx.module.hik.face.model.rsp.face.ResRecognDataInfo;
import com.mortals.xhx.module.hik.face.model.rsp.group.FaceGroupDataInfo;

import java.util.List;

/**
 * 海康门禁接口对接类
 * @author:
 * @date: 2023/4/12 17:47
 */
public interface IHikFaceService {


    /**
     * 查询人脸
     * @param faceListReq
     * @return
     */
    Rest<List<FaceDataInfo>> findFaceList(FaceListReq faceListReq);


    /**
     * 添加单个人脸
     * @param faceReq
     * @return
     */
    Rest<FaceDataInfo> faceSingleAdd(FaceReq faceReq);

    /**
     * 修改单个人脸
     * @param faceReq
     * @return
     */
    Rest<Boolean> faceSingleUpdate(FaceReq faceReq);

    /**
     * 删除单个人脸
     * @param faceReq
     * @return
     */
    Rest<Boolean> faceSingleDel(FaceReq faceReq);

    /**
     * 查询人脸分组
     * @param faceGroupReq
     * @return
     */
    Rest<List<FaceGroupDataInfo>> findFaceGroupList(FaceGroupReq faceGroupReq);

    /**
     * 添加人脸分组
     * @param faceGroupReq
     * @return
     */
    Rest<FaceGroupDataInfo> faceGroupSingleAdd(FaceGroupReq faceGroupReq);

    /**
     * 删除人脸分组
     * @param faceGroupReq
     * @return
     */
    Rest<Boolean> faceGroupSingleDel(FaceGroupReq faceGroupReq);


    /**
     * 查询人脸资源
     * @param recognReq
     * @return
     */
    Rest<List<ResRecognDataInfo>> findResRecognList(ResRecognReq recognReq);


}
