package com.dji.sample.logs.controller;
|
|
import com.dji.sample.common.model.CustomClaim;
|
import com.dji.sample.live.service.LiveService;
|
import com.dji.sample.logs.model.FileuploadStartParam;
|
import com.dji.sample.logs.service.LogService;
|
import com.dji.sample.manage.model.param.DeviceLogsCreateParam;
|
import com.dji.sample.manage.model.param.DeviceLogsGetParam;
|
import com.dji.sample.manage.service.IDeviceLogsService;
|
import com.dji.sdk.common.HttpResultResponse;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.validation.Valid;
|
|
import static com.dji.sample.component.AuthInterceptor.TOKEN_CLAIM;
|
|
/**
|
* @author wmm
|
* @version 0.1
|
* @date 2024/5/8
|
*/
|
@RestController
|
@RequestMapping("/log")
|
@Slf4j
|
public class LogController {
|
|
@Autowired
|
private LogService logService;
|
|
|
@Autowired
|
private IDeviceLogsService deviceLogsService;
|
|
@PostMapping("/logs/get")
|
public HttpResultResponse getLogsBySn(@RequestParam("device_sn") String deviceSn, @RequestBody DeviceLogsGetParam param) {
|
return deviceLogsService.getRealTimeLogs(deviceSn, param.getDomainList());
|
}
|
|
/**
|
* fileuploadStart.
|
* @param sn
|
* @return
|
*/
|
@PostMapping("/fileupload/start")
|
public HttpResultResponse fileuploadStart(@RequestParam(value = "device_sn") String sn, @Valid @RequestBody FileuploadStartParam param) {
|
return logService.fileuploadStart(sn,param);
|
}
|
/**
|
* Initiate a log upload request to the gateway.
|
* @return
|
*/
|
@PostMapping("/logs/upload")
|
public HttpResultResponse uploadLogs( @RequestParam("device_sn") String deviceSn,
|
HttpServletRequest request, @RequestBody DeviceLogsCreateParam param) {
|
|
CustomClaim customClaim = (CustomClaim)request.getAttribute(TOKEN_CLAIM);
|
|
return deviceLogsService.pushFileUpload(customClaim.getUsername(), deviceSn, param);
|
}
|
}
|