package com.fs.sop.service;

import com.fs.common.core.domain.R;
import com.fs.qw.param.SopUserLogsVO;
import com.fs.qw.vo.AddSopUserGroupChat;
import com.fs.qw.vo.UpdateSopUserLogDateVo;
import com.fs.sop.domain.SopUserLogs;
import com.fs.sop.params.SopUserLogsList;
import com.fs.sop.params.SopUserLogsParam;
import com.fs.sop.params.SopUserLogsParamByDate;
import com.fs.sop.vo.ReplaceUserDto;

import java.util.List;

public interface ISopUserLogsService {

    public int insertSopUserLogsByList(SopUserLogsList sopUserLogsList);

    public int insertSopUserLogsByDate(SopUserLogsParamByDate logsParamByDate);

    public int deleteSopUserLogsByIds(String[] ids);
//    public int updateSopUserLogsDistinct(SopUserLogs sopUserLogs);

//    public int updateSopUserLogsDistinctByList(SopUserLogsArray userLogsArray);

    public int deleteSopUserLogsBySopId(String sopId);

    public void selectSopUserLogsListByTime();

    public String selectSopUserLogsByUnionSopId(SopUserLogs sopUserLogs);

    public List<SopUserLogs> selectSopUserLogsList(SopUserLogs sopUserLogs);

    public List<SopUserLogsVO> selectSopUserLogsList(SopUserLogsParam param);
    public List<SopUserLogsVO> selectSopUserLogsGroupListByParam(SopUserLogsParam param);

    public String selectSopUserLogsByUpdate(SopUserLogs sopUserLogs);

    public void deleteSopUserLogsByContactId(String qwUserId,String cropId,String externalContactId);

    void sendQwBySop();

    List<SopUserLogsVO> selectSopUserLogsListBySopId(SopUserLogs userLogs);

    /**
     * 查询sopUserLogs
     *
     * @param id sopUserLogs主键
     * @return sopUserLogs
     */
    public SopUserLogs selectSopUserLogsById(String id);
    public R repairSopUserLogs(SopUserLogs param);


    public void repairSopUserLogsTimer();

    /**
     * Sop客户评级
     */
    public R ratingUserLogs(String sopId);

    R updateLogDate(UpdateSopUserLogDateVo vo);

    void addGroupChat(AddSopUserGroupChat vo);

    public List<SopUserLogs> meetsTherestoreByIsDaysNotStudy(int offset,int pageSize,Integer notStudyDays);

    void replaceUser(ReplaceUserDto vo);

    R getShortLink(String id, String sopId, String appId);
}
