package com.ruoyi.ibs.task.service;

import com.ruoyi.ibs.task.domain.dto.SignOutDTO;
import com.ruoyi.ibs.task.domain.dto.TaskRecordDTO;
import com.ruoyi.ibs.task.domain.dto.TaskVisitCustAddressDTO;
import com.ruoyi.ibs.task.domain.dto.TaskVisitRecordDTO;
import com.ruoyi.ibs.task.domain.entity.TaskVisitSign;
import com.ruoyi.ibs.task.domain.vo.VisitRecordListVO;
import com.ruoyi.ibs.task.domain.vo.VisitRecordVO;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @Author 吴凯程
 * @Date 2025/6/17
 **/

public interface TaskVisitRecordService {

    String addCustAddress(TaskVisitCustAddressDTO taskVisitCustAddressDTO);

    TaskVisitSign getCurrentSign(String recordId);

    List<VisitRecordListVO> getVisitRecordList(String custId);

    List<VisitRecordListVO> getVisitRecordListByUserName(TaskRecordDTO taskRecordDTO);

    List<VisitRecordListVO> getVisitRecordListByCampaign(String custId, String campaignId);

    VisitRecordVO getVisitRecord(String recordId);

    void export(HttpServletResponse response);

    String exportAsync();

    void downloadFileByUUid(String fileUrl, HttpServletResponse response);

}
