package com.dji.sample.droneairport.controller;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.dji.sample.common.model.ResponseResult;
|
import com.dji.sample.component.redis.RedisConst;
|
import com.dji.sample.component.redis.RedisOpsUtils;
|
import com.dji.sample.media.model.MediaFileEntity;
|
import com.dji.sample.media.service.IMediaService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.util.HashMap;
|
import java.util.Map;
|
|
@RequestMapping("/droneAirport/mediaApi")
|
@RestController
|
public class MediaApiController {
|
|
@Autowired
|
private IMediaService mediaService;
|
|
@GetMapping("{sn}/getMedia/{traceid}")
|
public ResponseResult getMedia(@PathVariable String sn, @PathVariable String traceid) {
|
|
String timestamp = (Long)RedisOpsUtils.hashGet(RedisConst.COMMANDS_PREFIX + sn + RedisConst.DELIMITER + traceid,traceid) / 1000 * 1000 + "";
|
MediaFileEntity entity = mediaService.getMediaFieByTid(timestamp);
|
String url = "https://wrj.shuixiongit.com/minio/cloud-bucket" + entity.getObjectKey();
|
Map ret = new HashMap();
|
ret.put("url", url);
|
ret.put("metadata", JSONObject.parseObject(entity.getMetadata().toString()));
|
return ResponseResult.success(ret);
|
}
|
|
}
|