123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- package com.iden.bms.controller;
- import com.iden.bms.service.TraceService;
- import com.iden.common.annotation.Permission;
- import com.iden.common.exception.BDException;
- import com.iden.common.logaspect.LogAnnotation;
- import com.iden.common.logaspect.OperateType;
- import com.iden.common.util.Result;
- import com.iden.common.util.WebPageUtils;
- import com.iden.common.vo.CameraVideoVO;
- import com.iden.common.vo.TraceVO;
- import com.iden.common.vo.UserLoginedConvertVO;
- import io.swagger.annotations.*;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.multipart.MultipartFile;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.util.List;
- import java.util.Map;
- /**
- * @Author: lilt
- * @Date: 2021/5/26
- * @Desc:
- */
- @RestController
- @Api(value = "TraceController", tags = { "轨迹管理" })
- @Slf4j
- @RequestMapping("/bms/trace")
- @Permission
- public class TraceController {
- @Autowired
- private TraceService traceService;
- @ApiOperation(value = "图像上传")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "token", value = "放在请求头中的令牌",
- dataType = "String", paramType = "header",
- required = true)
- })
- @CrossOrigin
- @PostMapping(value = "/uploadImage", headers="content-type=multipart/form-data",produces = "application/json;charset=UTF-8")
- @LogAnnotation(
- type = OperateType.UPLOAD,
- moduleName = "上传图像获取目标轨迹",
- description = "上传图像获取目标轨迹"
- )
- public Result<String> uploadImage(@ApiParam(value="图像",required=true) MultipartFile file,
- HttpServletRequest request, @RequestHeader(name = "token") String token) {
- try {
- String imageUrl = traceService.uploadImage(file);
- return Result.success("上传成功!",imageUrl);
- } catch (BDException e) {
- log.error("图像上传出现异常",e);
- return Result.error(e.getMessage());
- } catch (Exception e) {
- log.error("轨迹管理: 图像上传出现异常",e);
- return Result.error("图像上传失败!");
- }
- }
- @GetMapping("/listUploadImagesTrace")
- @ApiOperation(value = "使用上传图像获取目标轨迹列表(地图打点划线) ")
- @ApiImplicitParams(value = {
- @ApiImplicitParam(paramType = "query", name = "imageNames", value = "图像名称,多个用逗号分割,格式: 新名字__老名字,新名字__老名字,新名字__老名字"),
- @ApiImplicitParam(paramType = "query", name = "beginTime", value = "开始时间(yyyy-MM-dd HH:mm:ss)"),
- @ApiImplicitParam(paramType = "query", name = "endTime", value = "结束时间(yyyy-MM-dd HH:mm:ss)")
- })
- public Result<Map<String,List<TraceVO>>> listUploadImagesTrace(HttpServletRequest request, @RequestHeader(value = "token") String token,
- @RequestParam(value = "imageNames", required = true) String imageNames,
- @RequestParam(value = "beginTime", required = false) String beginTime,
- @RequestParam(value = "endTime", required = false) String endTime){
- try {
- UserLoginedConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request);
- Map<String,List<TraceVO>> datas = this.traceService.listUploadImagesTrace(imageNames,beginTime,endTime,loginUser);
- return Result.success(datas);
- }catch (Exception e) {
- log.error("轨迹管理: 使用上传图像获取目标轨迹列表出现异常",e);
- return Result.error( "获取列表失败");
- }
- }
- @GetMapping("/getCameraVideoList")
- @ApiOperation(value = "获取摄像机视频列表")
- @ApiImplicitParams(value = {
- @ApiImplicitParam(paramType = "query", name = "cameraId", value = "摄像机ID",required = true),
- @ApiImplicitParam(paramType = "query", name = "uid", value = "唯一生物学标识"),
- @ApiImplicitParam(paramType = "query", name = "beginTime", value = "开始时间(yyyy-MM-dd HH:mm:ss"),
- @ApiImplicitParam(paramType = "query", name = "endTime", value = "结束时间(yyyy-MM-dd HH:mm:ss)")
- })
- public Result<List<CameraVideoVO>> getCameraVideoList(HttpServletRequest request, @RequestHeader("token") String token,
- @RequestParam(value = "cameraId", required = true) Long cameraId,
- @RequestParam(value = "uid", required = false) Long uid,
- @RequestParam(value = "beginTime", required = false) String beginTime,
- @RequestParam(value = "endTime", required = false) String endTime){
- List<CameraVideoVO> datas = this.traceService.getCameraVideoList(cameraId,uid,beginTime,endTime);
- return Result.success("查询成功!",datas);
- }
- /**
- * 轨迹下载
- * @param
- * @return
- */
- @ApiOperation(value = "轨迹下载")
- @PostMapping({"/exportToExcel"})
- @LogAnnotation(
- type = OperateType.EXPORT,
- moduleName = "轨迹下载",
- description = "轨迹下载"
- )
- public void exportToExcel( HttpServletRequest request,@RequestHeader(name = "token", required = true) String token,
- HttpServletResponse response,
- @RequestBody Map<String,List<TraceVO>> traceVOSMap) {
- try {
- UserLoginedConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request);
- this.traceService.exportToExcel(traceVOSMap,loginUser ,response);
- } catch (BDException e) {
- log.error("轨迹下载出现异常",e);
- } catch (Exception e) {
- log.error("轨迹管理: 轨迹下载出现异常",e);
- }
- }
- @GetMapping("/cutVideo")
- @ApiOperation(value = "剪辑视频 ")
- @ApiImplicitParams(value = {
- @ApiImplicitParam(paramType = "query", name = "videoId", value = "视频ID",required = true),
- @ApiImplicitParam(paramType = "query", name = "beginTime", value = "开始时间(HH:mm:ss)",required = true),
- @ApiImplicitParam(paramType = "query", name = "endTime", value = "结束时间(HH:mm:ss)",required = true)
- })
- public Result<String> cutVideo(HttpServletRequest request, @RequestHeader(value = "token") String token,
- @RequestParam(value = "videoId", required = true) Long videoId,
- @RequestParam(value = "beginTime", required = true) String beginTime,
- @RequestParam(value = "endTime", required = true) String endTime){
- try {
- UserLoginedConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request);
- String datas = this.traceService.cutVideo(videoId,beginTime,endTime,loginUser);
- return Result.success("剪辑成功",datas);
- }catch (Exception e) {
- log.error("轨迹管理: 剪辑视频出现异常",e);
- return Result.error( "剪辑视频失败");
- }
- }
- }
|