| | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.se.nsl.domain.po.Simu; |
| | | import com.se.nsl.domain.po.SimuData; |
| | | import com.se.nsl.domain.vo.R; |
| | | import com.se.nsl.domain.vo.SimuVo; |
| | | import com.se.nsl.domain.vo.*; |
| | | import com.se.nsl.service.RealTimeSimulationService; |
| | | import com.se.nsl.service.ResolveService; |
| | | import com.se.nsl.service.SimuService; |
| | | 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.gdal.ogr.Geometry; |
| | |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.io.IOException; |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | @Api(tags = "03-推演模拟") |
| | |
| | | |
| | | @Resource |
| | | ResolveService resolveService; |
| | | |
| | | @Resource |
| | | RealTimeSimulationService rts; |
| | | |
| | | /** |
| | | * 分页查询推演模拟 |
| | |
| | | |
| | | @ApiOperation(value = "position") |
| | | @GetMapping("/position") |
| | | public R<Object> queryByPosition(double lon, double lat, String time, String serviceName) { |
| | | public R<Object> queryByPosition(double lon, double lat, Long time, String serviceName) { |
| | | if (lon > 180 || lon < -180) { |
| | | return fail("经度范围应该在-180到180"); |
| | | return clientError("经度范围应该在-180到180"); |
| | | } |
| | | if (lat > 90 || lat < -90) { |
| | | return fail("纬度范围应该在-90到90"); |
| | | } |
| | | if (time == null || time.trim().isEmpty()) { |
| | | return fail("时间戳不能为空"); |
| | | return clientError("纬度范围应该在-90到90"); |
| | | } |
| | | if (serviceName == null || serviceName.trim().isEmpty()) { |
| | | return fail("服务名不能为空"); |
| | | return clientError("服务名不能为空"); |
| | | } |
| | | |
| | | return null; |
| | | if (time != null) { |
| | | SimuResult result = simuService.queryByPosition(lon, lat, time, serviceName); |
| | | if (result == null) { |
| | | return notFound("未查找到相关数据"); |
| | | } |
| | | return success(result, 1); |
| | | } else { |
| | | List<SimuResult> simuResults = simuService.queryByPosition(lon, lat, serviceName); |
| | | if (simuResults.isEmpty()) { |
| | | return notFound("未查找到相关数据"); |
| | | } |
| | | return success(simuResults, simuResults.size()); |
| | | } |
| | | } |
| | | } |