dcb
2025-06-19 303058307780d49e2ae4c815669f34b866206d86
src/main/java/com/se/nsl/controller/SimuController.java
@@ -5,10 +5,8 @@
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.RealTimeInput;
import com.se.nsl.domain.vo.SimuResult;
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;
@@ -39,6 +37,9 @@
    @Resource
    ResolveService resolveService;
    @Resource
    RealTimeSimulationService rts;
    /**
     * 分页查询推演模拟
@@ -178,17 +179,22 @@
        if (lat > 90 || lat < -90) {
            return clientError("纬度范围应该在-90到90");
        }
        if (time == null) {
            return clientError("时间戳不能为空");
        }
        if (serviceName == null || serviceName.trim().isEmpty()) {
            return clientError("服务名不能为空");
        }
        SimuResult result = simuService.queryByPosition(lon, lat, time, serviceName);
        if (result == null) {
            return notFound("未查找到相关数据");
        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());
        }
        return success(result);
    }
    @ApiOperation(value = "realTime")
@@ -223,4 +229,16 @@
            return fail("实时模拟异常");
        }
    }
    @ApiOperation(value = "realTime")
    @PostMapping("/realTime2")
    public R<Object> realTimeSimulate(@RequestBody RealTimeSimuParam param) {
        try {
            String layerJsonName = rts.realTimeSimulate(param);
            return success(layerJsonName);
        } catch (IOException e) {
            log.error("real-time simulate exception:", e);
            return fail("实时模拟异常");
        }
    }
}