package com.gic.haoban.manage.service.service.moment;

import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.moment.QwMomentPlanAttendDTO;
import com.gic.haoban.manage.api.dto.moment.TaskDetailDTO;
import com.gic.haoban.manage.api.dto.moment.TaskListWxaDTO;
import com.gic.haoban.manage.api.qdto.moment.PlanClerkListQDTO;
import com.gic.haoban.manage.api.qdto.moment.SendResultQDTO;
import com.gic.haoban.manage.api.qdto.moment.TaskListWxaQDTO;
import com.gic.haoban.manage.service.entity.moment.TabQwMomentPlan;
import com.gic.haoban.manage.service.pojo.ClerkStaffBO;

import java.util.Date;
import java.util.List;

public interface QwMomentPlanAttendService {

    ServiceResponse<Page<QwMomentPlanAttendDTO>> attendList(PlanClerkListQDTO qdto) ;

    /**
     * 导购
     * @param enterpriseId
     * @param planId
     */
    void saveClerk(String wxEnterpriseId , String enterpriseId, Long planId , List<ClerkStaffBO> clerkStaffList , int statusFlag) ;

    ServiceResponse<TaskDetailDTO> taskDetail(Long planId, String execClerkId);

    ServiceResponse<Page<TaskListWxaDTO>> taskListWxa(TaskListWxaQDTO qdto);

    ServiceResponse<Void> finishTask(SendResultQDTO qdto);

    void updateStatusFlag(TabQwMomentPlan plan) ;

    void finishTaskUpdateData(Long attendId , Long planId , Date sendDate) ;
}
