package com.panzhihua.sangeshenbian.dao;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.sangeshenbian.SystemUserVo;
import com.panzhihua.sangeshenbian.model.entity.Complaint;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.panzhihua.sangeshenbian.model.query.AppStaticsQuery;
import com.panzhihua.sangeshenbian.model.query.ComplaintQuery;
import com.panzhihua.sangeshenbian.model.vo.AppComplaintRejectVO;
import com.panzhihua.sangeshenbian.model.vo.ComplaintTodoVO;
import com.panzhihua.sangeshenbian.model.vo.ComplaintVO;
import com.panzhihua.sangeshenbian.warpper.MgtComplaintQuery;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
*
* 问题报告表 Mapper 接口
*
*
* @author
* @since 2025-02-22
*/
public interface ComplaintMapper extends BaseMapper {
/**
* 工单列表
* @param page
* @param query
* @param targetId
* @param isSuperior
* @return
*/
Page selectComplaintPage(Page page, @Param("query") ComplaintQuery query, @Param("targetId") String targetId, @Param("isSuperior") Integer isSuperior);
/**
* 工单列表
* @param page
* @param query
* @return
*/
Page selectComplaintPage1(Page page, @Param("query") ComplaintQuery query,
@Param("accountLevel") Integer accountLevel, @Param("targetId") Long targetId);
/**
* 工单详情
* @param id
* @return
*/
ComplaintVO getDetail(@Param("id") Long id);
/**
* 获取待办诉求
* @param page
* @param targetId
* @param isSuperior
* @return
*/
Page getTodoList(Page page, @Param("targetId") String targetId, @Param("isSuperior") int isSuperior);
/**
* 获取超时未评价的数据
* @return
*/
List getTimeoutAndNotComment();
/**
* 诉求分页列表
* @param page
* @param query
* @param loginUserInfo
* @return
*/
Page pageList(Page page, @Param("query") MgtComplaintQuery query, @Param("loginUserInfo") SystemUserVo loginUserInfo);
/**
* 诉求列表
* @param query
* @param loginUserInfo
*/
List getList( @Param("query") MgtComplaintQuery query, @Param("loginUserInfo") SystemUserVo loginUserInfo);
/**
* 管理后台-获取诉求详情
* @param id
* @return
*/
ComplaintVO getDetailBg(Long id);
/**
*
* @param page
* @param keyword
* @param accountLevel
* @param targetId
* @return
*/
Page queryProcessingRecordPage(Page page,@Param("keyword")String keyword,
@Param("accountLevel") Integer accountLevel, @Param("targetId") Long targetId);
Page queryRejectRecordPage(Page page, @Param("keyword") String keyword,
@Param("accountLevel") Integer accountLevel, @Param("targetId") Long targetId);
List queryCompliantList(@Param("targetId") Long targetId, @Param("accountLevel") Integer accountLevel, @Param("loginUserInfo") LoginUserInfoVO loginUserInfo, @Param("query")AppStaticsQuery query);
}