package com.zcloud.personnel.positioning.persistence.repository;

import com.zcloud.personnel.positioning.persistence.dataobject.OrgLocalCorpDO;
import com.zcloud.personnel.positioning.persistence.dataobject.OrgLocalDepartmentDO;
import com.zcloud.personnel.positioning.persistence.dataobject.OrgMatchSnapshotDO;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

public interface OrgMatchRepository {
    OrgMatchSnapshotDO findMatched(String sourceConfigCode, String findsCorpinfoName,
                                   String findsDepartmentName);
    List<OrgLocalCorpDO> listCorpCandidates(Map<String, Object> params);
    List<OrgLocalDepartmentDO> listDepartmentCandidates(String departmentName);
    void upsert(Map<String, Object> params);
    void touch(String sourceConfigCode, String findsCorpinfoName, String findsDepartmentName,
               LocalDateTime seenTime);
    long countAll();
    long countMatched();
}
