/**
 * 考勤打卡相关
 */
import request from '@/utils/request'

/**
 * 根据用户id查询考勤组
 * @param {*} query
 * @returns Promise
 */
export function queryAttendanceGroupByUserId(query) {
  return request({
    url: '/dk/app/queryAttendanceGroupByUserId',
    method: 'get',
    params: query
  })
}

/**
 * 上班打卡
 * @param {*} query
 * @returns Promise
 */
export function checkIn(query) {
  return request({
    url: '/dk/app/checkIn',
    method: 'get',
    params: query
  })
}

/**
 * 下班打卡
 * @param {*} query
 * @returns Promise
 */
export function checkOut(query) {
  return request({
    url: '/dk/app/checkOut',
    method: 'get',
    params: query
  })
}

/**
 * 获取当日当前员工考勤状态
 * @param {*} query
 * @returns Promise
 */
export function getCurrentDayRecord(query) {
  return request({
    url: '/dk/app/getCurrentDayRecord',
    method: 'get',
    params: query
  })
}

/**
 * 获取服务器当前时间
 * @returns Promise<Object> 服务器时间信息
 */
export function getServerTime() {
  return request({
    url: '/dk/app/getRealTime',
    method: 'get'
  })
}

/**
 * 逆地理编码根据经纬度获取地址
 * @param {*} longitude 经度
 * @param {*} latitude 纬度
 * @returns Promise
 */
export function getGeocode(longitude, latitude) {
  return request({
    url: `https://api.opencagedata.com/geocode/v1/json?key=155dbe4a28a84522a1eb8d4d4616be61&q=${latitude}+${longitude}&language=native`,
    method: 'get'
  })
}
