package com.whdc.mapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.whdc.model.entity.AutoCallPerson; import java.util.List; /** * @author lyf * @since 2025-07-08 */ public interface AutoCallPersonMapper extends BaseMapper { default List listUnUploaded() { return selectList( new QueryWrapper() .eq("status", AutoCallPerson.STATUS_DEFAULT) .orderByAsc("id") ); } default boolean isAnySuccess(Integer taskId) { return selectCount( new QueryWrapper() .eq("task_id", taskId) .eq("status", AutoCallPerson.STATUS_PUT) ) > 0; } default boolean isAllFail(Integer taskId) { long personCnt = selectCount( new QueryWrapper() .eq("task_id", taskId) ); long failCnt = selectCount( new QueryWrapper() .eq("task_id", taskId) .in("status", AutoCallPerson.STATUS_CALLED, AutoCallPerson.STATUS_CANCELLED) ); return personCnt == failCnt; } }