package com.moral.api.controller; 
 | 
  
 | 
import io.swagger.annotations.Api; 
 | 
import io.swagger.annotations.ApiImplicitParam; 
 | 
import io.swagger.annotations.ApiImplicitParams; 
 | 
import io.swagger.annotations.ApiOperation; 
 | 
import lombok.extern.slf4j.Slf4j; 
 | 
import org.springframework.beans.factory.annotation.Autowired; 
 | 
import org.springframework.web.bind.annotation.CrossOrigin; 
 | 
import org.springframework.web.bind.annotation.GetMapping; 
 | 
import org.springframework.web.bind.annotation.RequestMapping; 
 | 
import org.springframework.web.bind.annotation.RestController; 
 | 
  
 | 
import java.util.List; 
 | 
import java.util.Map; 
 | 
  
 | 
import javax.servlet.http.HttpServletRequest; 
 | 
  
 | 
import com.moral.api.service.SpecialDeviceService; 
 | 
import com.moral.constant.ResponseCodeEnum; 
 | 
import com.moral.constant.ResultMessage; 
 | 
import com.moral.util.WebUtils; 
 | 
  
 | 
@Slf4j 
 | 
@Api(tags = {"特殊设备"}) 
 | 
@RestController 
 | 
@CrossOrigin(origins = "*", maxAge = 3600) 
 | 
@RequestMapping("/specialDevice") 
 | 
public class SpecialDeviceController { 
 | 
  
 | 
    @Autowired 
 | 
    private SpecialDeviceService specialDeviceService; 
 | 
  
 | 
    /** 
 | 
     * @param request 请求信息 
 | 
     * @return 返回请求成功后的对象信息 
 | 
     */ 
 | 
    @GetMapping("carTrajectory") 
 | 
    @ApiOperation(value = "走航车轨迹", notes = "走航车轨迹") 
 | 
    @ApiImplicitParams(value = { 
 | 
            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"), 
 | 
            @ApiImplicitParam(name = "mac", value = "设备mac", required = true, paramType = "query", dataType = "String"), 
 | 
            @ApiImplicitParam(name = "sensorCode", value = "传感器code", required = true, paramType = "query", dataType = "String"), 
 | 
            @ApiImplicitParam(name = "time", value = "时间,2021-08-18", required = true, paramType = "query", dataType = "String") 
 | 
    }) 
 | 
    public ResultMessage carTrajectory(HttpServletRequest request) { 
 | 
        Map<String, Object> params = WebUtils.getParametersStartingWith(request, null); 
 | 
        if (!params.containsKey("mac") || !params.containsKey("sensorCode") || !params.containsKey("time")) { 
 | 
            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); 
 | 
        } 
 | 
        List<Map<String, Object>> response = specialDeviceService.carTrajectory(params); 
 | 
        return ResultMessage.ok(response); 
 | 
    } 
 | 
  
 | 
} 
 |