提交 9eac77b7 authored 作者: hzh's avatar hzh

代码优化

上级 967c03fa
package org.dromara.server.controller.airport;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import io.seata.spring.annotation.GlobalTransactional;
import lombok.RequiredArgsConstructor;
......@@ -63,14 +64,25 @@ public class AirportController extends BaseController {
@GetMapping("list")
public R<QueryFlightModel> list(org.dromara.common.ys.model.req.airport.QueryFlightModel model) {
List<AirportModel> airPortList = getAirPortList();
model.setArriveAirport(airPortList.stream().filter(item -> StringUtils.equals(model.getArriveAirport(), item.getCityName())).map(AirportModel::getThreeCode).findFirst().orElse(null));
model.setDepartAirport(airPortList.stream().filter(item -> StringUtils.equals(model.getDepartAirport(), item.getCityName())).map(AirportModel::getThreeCode).findFirst().orElse(null));
model.setArriveAirport(getCode(model.getArriveAirport(), airPortList));
model.setDepartAirport(getCode(model.getDepartAirport(), airPortList));
model.setTripType(TripType.PUBLIC.getCode());
try {
return R.ok(airPortService.queryFlight(getUserId(), model));
} catch (Exception e) {
throw new RuntimeException(e.getMessage());
}
return R.ok(airPortService.queryFlight(getUserId(), model));
}
private String getCode(String cityName, List<AirportModel> airPortList) {
return airPortList.stream().filter(item -> StringUtils.equals(cityName, item.getCityName()))
.sorted((o1, o2) -> {
double v = StrUtil.similar(o1.getAirportName(), cityName) - StrUtil.similar(o2.getAirportName(), cityName);
if (v > 0) {
return -1;
} else if (v == 0) {
return 0;
} else {
return 1;
}
})
.map(AirportModel::getThreeCode).findFirst().orElse(null);
}
private List<AirportModel> getAirPortList() {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论