package com.huiju.estateagents.property.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.huiju.estateagents.base.ResponseBean;
import com.huiju.estateagents.center.taUser.entity.TaUser;
import com.huiju.estateagents.property.common.UserElement;
import com.huiju.estateagents.property.model.Message;

import java.util.Map;

/**
 * <p>
 * 物业端消息表 服务类
 * </p>
 *
 * @author jobob
 * @since 2019-03-05
 */
public interface IMessageService extends IService<Message> {
    /**
     * 查询消息待办列表
     * @param parameter
     * @param orgId
     * @return
     */
    ResponseBean messageLiset(String parameter, Integer orgId, Integer userID);

    /**
     * 查询关于我的所有消息
     * @param parameter
     * @param orgId
     * @param id
     * @return
     */
    ResponseBean myMessageList(String parameter, Integer orgId, Integer id);

    /**
     * 批量删除（已读）
     * @param parameter
     * @param id
     * @return
     */
    ResponseBean delectRead(String parameter, Integer id);

    /**
     * 获取消息数量
     * @param orgId
     * @return
     */
    Map<String, Object> getMessageTotal(Integer orgId, Integer verifyId);

    /**
     * 分页获取消息或待办
     * @param orgId
     * @param pageNum
     * @param pageSize
     * @param modelType
     * @return
     */
    Map<String,Object> getMessages(Integer orgId, Integer pageNum, Integer pageSize,Integer modelType, Integer verifyId);

    /**
     * 全部已读
     */
    void updateMessageReadStatus(Integer orgId, Integer userId);

    /**
     * 根据消息的id, 进行已读操作
     * @param userElement
     * @param messageId
     * @return
     */
    ResponseBean updateMessageByIdReadStatus(TaUser userElement, Integer messageId);

    /**
     * 根据消息ID 查询详情数据
     * @param orgId
     * @param messageId
     * @return
     */
    ResponseBean getMessageById(Integer orgId, Integer messageId);
}
