package com.ycwl.basic.mapper;

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 org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * @Author：longbinbin
 * @Date：2024/11/29 15:09
 * 用户人脸
 */
@Mapper
public interface FaceMapper {
    List<FaceRespVO> list(FaceReqQuery faceReqQuery);
    List<FaceRespVO> test();
    List<FaceRespVO> listByScenicIdAndNotFinished(Long scenicId);
    FaceRespVO getById(Long id);
    FaceEntity get(Long id);
    int add(FaceEntity face);
    int deleteById(Long id);
    int forceDeleteById(Long id);
    int deleteByIds(@Param("list") List<Long> ids);
    int update(FaceEntity face);
    int updateManualFlag(@Param("id") Long id, @Param("isManual") Integer isManual);

    FaceRespVO getLatestByMemberId(@Param("userId") Long userId, @Param("scenicId") Long scenicId);

    int finishedJourney(Long faceId);

    FaceRespVO findLastFaceByUserId(String userId);
    FaceRespVO findLastFaceByScenicAndUserId(Long scenicId, Long userId);

    List<FaceRespVO> listByScenicAndUserId(Long scenicId, Long userId);

    List<FaceEntity> listUnpaidEntityBeforeDate(Long scenicId, Date endDate);
}
