package com.yuchen.saas.park.service.service.people;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yuchen.saas.park.api.dto.people.*;
import com.yuchen.saas.park.api.entity.park.people.SaasParkExternalPeopleInfo;
import com.yuchen.saas.park.api.vo.people.ExternalExpressPeopleInfoPageVO;
import com.yuchen.saas.park.api.vo.people.ExternalExpressPeopleInfoVO;
import com.yuchen.saas.park.api.vo.people.ExternalPeopleInfoPageVO;
import com.yuchen.saas.park.api.vo.people.ExternalPeopleInfoVO;
import org.nest.springwrap.core.mp.base.BaseService;
import org.nest.springwrap.core.mp.support.NestPage;


/**
 * <p>
 * 外部人员信息表 服务类
 * </p>
 *
 * @author linyb
 * @since 2024-12-01
 */
public interface ISaasParkExternalPeopleInfoService extends BaseService<SaasParkExternalPeopleInfo> {

    /**
     * 外部人员分页
     * @param dto
     * @return
     */
    NestPage<ExternalPeopleInfoPageVO> getPage(ExternalPeopleInfoPageDTO dto);
    /**
     * 外部人员详情
     * @param id
     * @return
     */
    ExternalPeopleInfoVO info(Long id);
    /**
     * 外部人员保存
     * @param dto
     * @return
     */
    boolean save(ExternalPeopleInfoSaveDTO dto);
    /**
     * 外部人员修改
     * @param dto
     * @return
     */
    boolean update(ExternalPeopleInfoUpdateDTO dto);
    /**
     * 审批
     * @param dto
     * @return
     */
    boolean approve(PropertyPeopleExternalApproveDTO dto);
    /**
     * 批量审批
     * @param dto
     * @return
     */
    boolean approveBatch(PropertyPeopleExternalApproveBatchDTO dto);
    /**
     * 快递/外卖人员分页
     * @param dto
     * @return
     */
    NestPage<ExternalExpressPeopleInfoPageVO> getPage(ExternalExpressPeopleInfoPageDTO dto);
    /**
     * 快递/外卖人员登记保存
     * @param dto
     * @return
     */
    boolean expressSave(ExternalExpressPeopleInfoSaveDTO dto);
    /**
     * 快递/外卖人员登记详情
     * @param id
     * @return
     */
    ExternalExpressPeopleInfoVO expressInfo(Long id);
}
