package io.hmit.modules.fhjw.service;

import io.hmit.common.page.PageData;
import io.hmit.common.service.CrudService;
import io.hmit.modules.fhjw.dto.CommitteeCountDTO;
import io.hmit.modules.fhjw.dto.CommitteeCountListDTO;
import io.hmit.modules.fhjw.dto.FhjwCommentDTO;
import io.hmit.modules.fhjw.dto.UserDTO;
import io.hmit.modules.fhjw.entity.FhjwCommentEntity;

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

/**
 * 案件评价表
 *
 * @author zsh 408538940@qq.com
 * @since 1.0.0 2021-06-02
 */
public interface FhjwCommentService extends CrudService<FhjwCommentEntity, FhjwCommentDTO> {
    @Override
    PageData<FhjwCommentDTO> page(Map<String, Object> params);

    FhjwCommentDTO assembleDTO(Map<String, Object> params);

    List<Long> getUserIdByCase(Long caseId);

    @Override
    void delete(Long[] ids);

    int getCountByUserId(Long userId);

    //获取每个部门所有的好差评数量（可根据时间筛选）
    List<CommitteeCountListDTO> getCountByDept(Map<String, Object> params);
    //获取每个部门已评价的案件数量
    List<CommitteeCountListDTO> getCaseCountByDept();
    //获取最近12个月的好差评数量
    List<CommitteeCountDTO> getCountByMouth();
    //获取最近12个月的好差评数量
    List<CommitteeCountDTO> getCountByUserRole(Map<String, Object> params);
}
