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); } }