package com.zhongshu.card.server.core.dao.projectAbout;

import com.github.microservice.components.data.mongo.mongo.dao.MongoDao;
import com.github.microservice.types.payment.PaymentType;
import com.zhongshu.card.client.type.common.AuditState;
import com.zhongshu.card.server.core.dao.projectAbout.extend.OrgUserFaceDaoExtend;
import com.zhongshu.card.server.core.domain.paySetting.OrgPayAccount;
import com.zhongshu.card.server.core.domain.projectAbout.OrgUserFace;

import java.util.List;

/**
 * 机构用户人脸信息 dao
 */
public interface OrgUserFaceDao extends MongoDao<OrgUserFace>, OrgUserFaceDaoExtend {

    OrgUserFace findTopById(String id);

    OrgUserFace findTopByUpdateFaceFileId(String updateFaceFileId);

    OrgUserFace findTopByUserIdAndProjectOidOrderByCreateTimeDesc(String userId, String projectOid);

    int countByUserIdAndProjectOid(String userId, String projectOid);

    List<OrgUserFace> findByUserIdAndProjectOid(String userId, String projectOid);

    List<OrgUserFace> findByProjectOidAndUserIdInAndAuditState(String projectOid, List<String> userIds, AuditState auditState);

    List<OrgUserFace> findByUserIdAndProjectOidOrderByCreateTimeDesc(String userId, String projectOid);
}
