package jnpf.attendance.service;

import com.github.pagehelper.PageInfo;
import jnpf.base.service.SuperService;
import jnpf.entity.attendance.AttendanceUserPhone;
import jnpf.model.attendance.dto.CancelPhoneDto;
import jnpf.model.attendance.dto.UsualPhoneDto;
import jnpf.model.attendance.dto.UsualPhoneQueryDto;
import jnpf.model.attendance.dto.UsualPhoneSettingDto;
import jnpf.model.attendance.vo.attendance.UsualPhonePageVo;

/**
 * 常用设备服务
 *
 * @author yanwenfu
 * @create 2025-09-18
 */
public interface UsualPhoneService extends SuperService<AttendanceUserPhone> {

    /**
     * 批量取消绑定
     * @param cancelPhoneDto 取消绑定参数
     */
    void cancelPhoneBatch(CancelPhoneDto cancelPhoneDto);

    /**
     * 更新常用手机设置
     * @param usualPhoneSettingDto 常用手机设置dto
     */
    void updateUsualPhoneSetting(UsualPhoneSettingDto usualPhoneSettingDto);

    /**
     * 查询常用手机列表(分页)
     * @param queryDto 查询条件
     * @return com.github.pagehelper.PageInfo<jnpf.model.attendance.vo.attendance.UsualPhonePageVo>
     */
    PageInfo<UsualPhonePageVo> getUsualPhonePage(UsualPhoneQueryDto queryDto);

    /**
     * 新增常用设备
     * @param usualPhoneDto 常用设备dto
     */
    void addUsualPhone(UsualPhoneDto usualPhoneDto);

    /**
     * 检查常用设备是否异常
     * @param phoneName 手机名称
     * @param phoneCode 手机编码
     * @return java.lang.Boolean
     */
    Boolean checkUsualPhone(String phoneName, String phoneCode);

    /**
     * 查询常用手机配置
     * @return jnpf.model.attendance.dto.UsualPhoneSettingDto
     */
    UsualPhoneSettingDto getUsualPhoneSetting();
}
