package com.bonus.system.basic.dao;

import com.bonus.system.api.domain.MapVo;
import com.bonus.system.api.domain.SysDictData;
import com.bonus.system.api.domain.SysRole;
import com.bonus.system.api.domain.SysUser;
import com.bonus.system.att.entity.AttGroupBean;
import com.bonus.system.basic.domain.SysNotice;
import com.bonus.system.basic.domain.SysUserOrg;
import com.bonus.system.basic.domain.SysUserPost;
import com.bonus.system.basic.domain.SysUserRole;
import com.bonus.system.holiday.entity.HolidayKeyBean;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 我的消息
 * 
 * @author hay
 */
@Mapper
public interface SysNoticeMapper
{

    /**
    * 查询我的消息列表
    * @param bean
    * @return
    */
    List<SysNotice> selectNoticeList(@Param("bean") SysNotice bean);

    /**
    * 新增我的消息
    * @param bean
    * @return
    */
    int insertNotice(SysNotice bean);

    /**
    * 获取字典数据
    * @param type
    * @return
    */
    Long getDictData(String type);

    /**
    * 批量插入用户消息
    * @param list
    * @return
    */
    int insertUserNotice(List<SysNotice> list);

    /**
    * 更新状态
    * @param bean
    * @return
    */
    int updateStatus(SysNotice bean);

    List<Long> getUserIdByModelName(String modelName);

    List<Long> getUserIdByOrgId(Long orgId);

    List<Long> getAttUserIdByOrgId(List<Long> orgList);

    int delNotice(SysNotice bean);

    List<AttGroupBean> getAttSettingHistoryDate(String currentDay);

    void insertAttSettingHistoryData(List<AttGroupBean> attList);

    List<String> getAttSettingDate(String startDate);
}
