package com.mortals.xhx.module.dingding.attendance.service;


import com.dingtalk.api.response.*;
import com.mortals.framework.common.Rest;
import com.mortals.framework.model.PageInfo;
import com.mortals.xhx.module.attendance.model.AttendanceRecordHikQuery;
import com.mortals.xhx.module.dingding.IDingTalkService;

import java.util.List;


public interface IDingAttenanceService extends IDingTalkService {


    /**
     * 获取打卡结果
     *
     * @return
     */
    Rest<List<OapiAttendanceListResponse.Recordresult>> getAttendanceList(PageInfo pageInfo, List<String> userIdList, AttendanceRecordHikQuery hikQuery);

    /**
     * 获取考勤组
     *
     * @param pageInfo
     * @return
     */
    Rest<List<OapiAttendanceGetsimplegroupsResponse.AtGroupForTopVo>> getAttendanceGroupList(PageInfo pageInfo);

    /**
     * 获取考勤组人员
     *
     * @param cursor
     * @param groupId
     * @return
     */
    Rest<List<String>> getGroupPersons(Long cursor, Long groupId);

    /**
     * 获取班次列表
     *
     * @param cursor
     * @return
     */
    Rest<List<OapiAttendanceShiftListResponse.TopMinimalismShiftVo>> getShiftList(Long cursor);

    /**
     * 获取班次详细
     *
     * @param shiftId
     * @return
     */
    Rest<OapiAttendanceShiftQueryResponse.TopShiftVo> getShiftDetail(Long shiftId);

    /**
     * 获取个人信息详细
     * @param userId
     * @return
     */
    Rest<OapiV2UserGetResponse.UserGetResponse> getPersonDetail(String userId);
}