fxkh-txl-service/src/main/java/com/whdc/mapper/AutoCallPersonMapper.java

51 lines
1.8 KiB
Java
Raw Normal View History

2025-07-14 11:23:11 +08:00
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;
2025-07-23 09:45:10 +08:00
import org.apache.ibatis.annotations.Param;
2025-07-14 11:23:11 +08:00
import java.util.List;
/**
* @author lyf
* @since 2025-07-08
*/
public interface AutoCallPersonMapper extends BaseMapper<AutoCallPerson> {
default List<AutoCallPerson> listUnUploaded() {
return selectList(
new QueryWrapper<AutoCallPerson>()
2025-08-06 17:21:07 +08:00
.in("status", AutoCallPerson.STATUS_DEFAULT, AutoCallPerson.STATUS_UPLOADED, AutoCallPerson.STATUS_CALLED)
.lt("uploaded_times", 2)
2025-07-14 11:23:11 +08:00
.orderByAsc("id")
);
}
default boolean isAnySuccess(Integer taskId) {
return selectCount(
new QueryWrapper<AutoCallPerson>()
.eq("task_id", taskId)
.eq("status", AutoCallPerson.STATUS_PUT)
2025-08-06 17:21:07 +08:00
.eq("__tag", "已知晓")
2025-07-14 11:23:11 +08:00
) > 0;
}
default boolean isAllFail(Integer taskId) {
long personCnt = selectCount(
new QueryWrapper<AutoCallPerson>()
.eq("task_id", taskId)
);
long failCnt = selectCount(
new QueryWrapper<AutoCallPerson>()
.eq("task_id", taskId)
2025-08-06 17:21:07 +08:00
.in("status", AutoCallPerson.STATUS_CALLED, AutoCallPerson.STATUS_CANCELLED,AutoCallPerson.STATUS_PUT)
//__tag == null or __tag != "已知晓"
.and(wrapper -> wrapper.isNull("__tag").or().ne("__tag", "已知晓"))
2025-07-14 11:23:11 +08:00
);
return personCnt == failCnt;
}
2025-07-23 09:45:10 +08:00
List<AutoCallPerson> selectListByTaskId(@Param("taskId") Integer taskId);
2025-07-14 11:23:11 +08:00
}