package com.rongwei.sfcommon.sys.dao;


import com.rongwe.scentity.vo.CheckAreaVo;
import com.rongwe.scentity.vo.UserMailOrgVo;
import com.rongwei.rwadmincommon.system.domain.SysOrganizationDo;
import com.rongwei.rwadmincommon.system.domain.SysUserDo;
import com.rongwei.rwcommonentity.commonservers.domain.SysFileItemDo;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * SaveCheckCommonDao class
 *
 * @author XH
 * @date 2023/10/13
 */
public interface SaveCheckCommonDao {
    List<UserMailOrgVo> getUserInfoByOrgIdAndRoleCode(@Param("orgIds") List<String> orgIds,
                                                      @Param("roleCode") String roleCode);

    SysUserDo getSafetyManager();

    List<UserMailOrgVo> getUserInfoByDeptCode(@Param("roleCode") String roleCode);

    List<UserMailOrgVo> getSafetyPromoter(@Param("deptIds") List<String> deptIds);

    void updateNotifyState(@Param("notifyType") String notifyType, @Param("tenantId") String tenantId);

    List<String> getUserIdByRoleCodeAndOrgIdAndTenantId(@Param("roleCodes") List<String> roleCode,
                                                        @Param("orgIds") List<String> orgIds,
                                                        @Param("tenantId") String tenantId);

    List<UserMailOrgVo> getUserInfoByTenantIdAndRoleCode(@Param("tenantId") String tenantId, @Param("roleCodes") List<String> roleCodes);

    @Select("select * from sys_file_item where ID = #{id}")
    SysFileItemDo getFileItemByID(@Param("id") String id);


    List<CheckAreaVo> getCheckArea(@Param("tenantid") String tenantid);

    List<SysOrganizationDo> getOrgByTenantId(@Param("tenantid") String tenantid);

    List<SysUserDo> getUserInfoByTenantId(@Param("tenantid") String tenantid);
}
