package com.zcloud.basic.info.persistence.repository;

import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import com.zcloud.basic.info.domain.model.UserE;
import com.zcloud.basic.info.persistence.dataobject.UserCorpDO;

import java.util.List;
import java.util.Map;

/**
 * web-infrastructure
 *
 * @Author zhaokai
 * @Date 2025-12-02 11:13:33
 */
public interface UserCorpRepository extends BaseRepository<UserCorpDO> {
    PageResponse<UserCorpDO> listPage(Map<String, Object> params);

    UserCorpDO getInfoByUserId(Long userId, Long tenantId);

    UserCorpDO getUserCorpInfoByUserId(Long userId);

    List<UserCorpDO> listByUserIdAndCorpIdAndNoStatus(Long userId, Long corpinfoId, List<Integer> statusList);

    List<UserCorpDO> listByUserIdAndCorpIdAndStatus(Long userId, Long corpinfoId, List<Integer> statusList);

    List<UserCorpDO> listByUserIdAndNoStatus(Long userId, Integer status);

    UserE executeResignation(UserCorpDO userCorpDO, Long corpinfoId, Integer employmentFlag);

    UserE executeReviewStatus(Long id, Long corpinfoId, Integer reviewStatus);

    void removeByUserId(Long userId);

}

