package com.xjrsoft.module.evaluate.mapper;

import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.evaluate.dto.EvaluateObjectListDto;
import com.xjrsoft.module.evaluate.dto.ObjectGradeDeleteDto;
import com.xjrsoft.module.evaluate.entity.EvaluateObject;
import com.xjrsoft.module.evaluate.vo.EvaluateExecuterVo;
import com.xjrsoft.module.evaluate.vo.EvaluateObjectListVo;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @title: 被评价对象
* @Author dzx
* @Date: 2024-01-16
* @Version 1.0
*/
@Mapper
public interface EvaluateObjectMapper extends MPJBaseMapper<EvaluateObject> {
    List<EvaluateObjectListVo> getObjectList(@Param("dto")EvaluateObjectListDto dto);

    List<EvaluateExecuterVo> getExecuterList(@Param("dto")EvaluateObjectListDto dto);

    List<EvaluateObjectListVo> getNewObjectList(@Param("dto") EvaluateObjectListDto dto);

    List<EvaluateExecuterVo> getNewExecuterList(@Param("dto") EvaluateObjectListDto dto);

    @Delete("DELETE FROM evaluate_object WHERE evaluate_manage_id = #{evaluateManageId}")
    Boolean deleteByEvaluateManageId(Long evaluateManageId);

    Boolean objectGradeDeleteExecuter(@Param("dto") ObjectGradeDeleteDto dto);

    Boolean objectGradeDeleteObject(@Param("dto") ObjectGradeDeleteDto dto);


}
