package com.elephant.framework.galaxy.aroad.module.emergencyevent.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.elephant.framework.galaxy.aroad.module.emergencyevent.entity.EmergencyEvent;
import org.springframework.transaction.annotation.Transactional;

/**
 * 应急事件表
 *
 * @author songwenjie
 * @date 2019-05-08 14:43:42
 */
public interface EmergencyEventService extends IService<EmergencyEvent> {

    /**
     * @Description: 分页获取应急事件
     * @param: [page, event]
     * @return: com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.elephant.framework.galaxy.aroad.module.emergencyevent.entity.EmergencyEvent>
     * @Author: songwenjie
     * @Date: 2019/5/15
     */
    Page<EmergencyEvent> getEventPage (Page page, EmergencyEvent event);

    /**
     * @Description: 新增（上报）应急事件
     * @Param: [event]
     * @return: boolean
     * @Author: songwenjie
     * @Date: 2019/5/8
     */
    boolean saveEvent(EmergencyEvent event);

    /**
     * @Description: 路况事件加入应急事件
     * @param: [event]
     * @return: java.lang.Integer
     * @Author: songwenjie
     * @Date: 2019/5/22
     */
    Integer joinEvent(EmergencyEvent event);

    /**
     * @Description: 更新应急事件的状态
     * @param:
     * @return:
     * @Author: songwenjie
     * @Date: 2019/5/15
     */
    boolean updateStatus(Integer eventId,String newStatus,String oldStatus);

    /**
     * @Description: 更新应急事件的状态
     * @param:
     * @return:
     * @Author: songwenjie
     * @Date: 2019/5/15
     */
    boolean updateStatusById(Integer eventId,String newStatus);
    /**
     * @Description: 更新评估总结文档信息
     * @param: [event]
     * @return: boolean
     * @Author: songwenjie
     * @Date: 2019/5/16
     */
    boolean updateFile(EmergencyEvent event);
}
