package com.ycwl.basic.service.pc;

import com.github.pagehelper.PageInfo;
import com.ycwl.basic.model.mobile.face.FaceRecognizeResp;
import com.ycwl.basic.model.mobile.scenic.content.ContentPageVO;
import com.ycwl.basic.model.pc.face.entity.FaceEntity;
import com.ycwl.basic.model.pc.face.req.FaceReqQuery;
import com.ycwl.basic.model.pc.face.resp.FaceRespVO;
import com.ycwl.basic.model.task.resp.SearchFaceRespVo;
import com.ycwl.basic.utils.ApiResponse;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @Author：longbinbin
 * @Date：2024/12/2 16:34
 */
public interface FaceService {
    ApiResponse<PageInfo<FaceRespVO>> pageQuery(FaceReqQuery faceReqQuery);
    ApiResponse<List<FaceRespVO>> list(FaceReqQuery faceReqQuery);
    ApiResponse<FaceRespVO> getById(Long id);
    ApiResponse<Integer> add(FaceEntity face);
    ApiResponse<Integer> deleteById(Long id);
    ApiResponse<Integer> deleteByIds(List<Long> ids);

    FaceRecognizeResp faceUpload(MultipartFile file, Long scenicId, Long userId);

    List<FaceRespVO> listByUser(Long userId, String scenicId);
    SearchFaceRespVo matchFaceId(Long faceId);

    SearchFaceRespVo matchFaceId(Long faceId, boolean isNew);

    ApiResponse<String> deleteFace(Long faceId);

    List<ContentPageVO> faceContentList(Long faceId);

    ApiResponse<List<ContentPageVO>> contentListUseDefaultFace();
}
