package com.template.api;

import com.template.model.result.CommonResult;
import com.tencentcloudapi.tci.v20190318.models.Face;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@RequestMapping("/api/smartFaceDiscern")
public interface SmartFaceDiscernControllerAPI {

    @GetMapping(value = "/track")
    @ApiOperation(value = "学生轨迹", notes = "学生轨迹", httpMethod = "GET")
    CommonResult track(@RequestParam Integer id, @RequestParam int dateTime);

    @GetMapping(value = "/access")
    @ApiOperation(value = "门禁管理",notes = "门禁管理",httpMethod = "GET")
    CommonResult access();


    @GetMapping(value = "/lastSevenDaysTrack")
    @ApiOperation(value = "日常轨迹",notes = "日常轨迹",httpMethod = "GET")
    CommonResult lastSevenDaysTrack(@RequestParam int userId);


    @PostMapping("/callBack")
    @ApiOperation(value = "百胜门禁记录回调",notes = "百胜门禁记录回调",httpMethod = "POST")
    String callBack(HttpServletRequest request, HttpServletResponse response);

    @GetMapping(value = "/selectTrack")
    @ApiOperation(value = "轨迹查询", notes = "轨迹查询", httpMethod = "GET")
    CommonResult selectTrack(@RequestParam Integer userId, @RequestParam String startTime,@RequestParam String endTime);

    @GetMapping(value = "/faceManagement")
    @ApiOperation(value = "人脸管理记录", notes = "人脸管理记录", httpMethod = "GET")
    CommonResult faceManagement(@RequestParam int currentPage, @RequestParam int pageCount,String keyWord,String gradeId,String classId,String startTime,String endTime);

    @GetMapping(value = "/faceManagementExport")
    @ApiOperation(value = "人脸管理记录", notes = "人脸管理记录", httpMethod = "GET")
    void faceManagementExport(HttpServletResponse response,String keyWord,String gradeId,String classId,String startTime,String endTime);

}
