提交 cc53fb09 authored 作者: hzh's avatar hzh

代码优化

上级 10a22d1a
......@@ -8,6 +8,8 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.utils.StreamUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.redis.utils.RedisUtils;
import org.dromara.common.ys.common.PageInfo;
import org.dromara.common.ys.constant.Cplx;
......@@ -25,6 +27,8 @@ import org.dromara.common.ys.service.IAirportService;
import org.dromara.common.ys.service.ICommonResourceService;
import org.dromara.common.ys.service.IInsuranceService;
import org.dromara.server.base.BaseController;
import org.dromara.server.domain.bo.OrderAirportBo;
import org.dromara.server.domain.vo.OrderAirportVo;
import org.dromara.server.service.IOrderAirportService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
......@@ -144,6 +148,15 @@ public class AirportController extends BaseController {
return R.ok(airPortService.orderList(getUserId(), model));
}
/**
* 订单列表(本地)
*/
@GetMapping("/local/orderList")
public TableDataInfo<OrderAirportVo> list(OrderAirportBo bo, PageQuery pageQuery) {
bo.setPersonCode(getUserId());
return orderAirportService.queryPageList(bo, pageQuery);
}
/**
* 订单详情
*/
......
......@@ -8,6 +8,7 @@ import org.dromara.server.domain.OrderAirport;
import java.io.Serial;
import java.io.Serializable;
import java.util.List;
/**
......@@ -222,5 +223,8 @@ public class OrderAirportVo implements Serializable {
@ExcelProperty(value = "机建合计")
private Long airportFee;
/**
* 航程集合
*/
private List<OrderAirportRangeVo> rangeList;
}
package org.dromara.server.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.nacos.common.utils.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.utils.StreamUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.ys.model.res.airport.QueryTkOrderModel;
import org.dromara.common.ys.model.res.airport.other.*;
import org.dromara.common.ys.service.IAirportService;
import org.dromara.server.base.AbstractBaseService;
import org.dromara.server.domain.*;
import org.dromara.server.domain.bo.OrderAirportBo;
import org.dromara.server.domain.vo.OrderAirportRangeVo;
import org.dromara.server.domain.vo.OrderAirportVo;
import org.dromara.server.mapper.*;
import org.dromara.server.service.IOrderAirportService;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Objects;
......@@ -49,6 +54,19 @@ public class OrderAirportServiceImpl extends AbstractBaseService<OrderAirportVo,
return baseMapper;
}
@Override
public TableDataInfo<OrderAirportVo> queryPageList(OrderAirportBo bo, PageQuery pageQuery) {
TableDataInfo<OrderAirportVo> page = super.queryPageList(bo, pageQuery);
List<OrderAirportVo> list = page.getRows();
List<Long> orderIds = StreamUtils.toList(list, OrderAirportVo::getId);
orderIds = CollectionUtils.isEmpty(orderIds) ? Arrays.asList(-1L) : orderIds;
List<OrderAirportRangeVo> rangeList = rangeMapper.selectVoList(new LambdaQueryWrapper<OrderAirportRange>().in(OrderAirportRange::getOrderId, orderIds));
list.forEach(item -> {
item.setRangeList(StreamUtils.filter(rangeList, r -> Objects.equals(r.getOrderId(), item.getId())));
});
return page;
}
@Override
public LambdaQueryWrapper<OrderAirport> buildQueryWrapper(OrderAirportBo bo) {
Map<String, Object> params = bo.getParams();
......@@ -110,6 +128,7 @@ public class OrderAirportServiceImpl extends AbstractBaseService<OrderAirportVo,
@Override
public void updateAirportInfo(List<String> orderNoList) {
orderNoList = CollectionUtils.isEmpty(orderNoList) ? List.of("-1") : orderNoList;
List<OrderAirport> orderList = baseMapper.selectList(new LambdaQueryWrapper<OrderAirport>().in(OrderAirport::getOrderNo, orderNoList));
List<Long> orderIds = StreamUtils.toList(orderList, OrderAirport::getId);
List<OrderAirportPsg> orderPsgList = psgMapper.selectList(new LambdaQueryWrapper<OrderAirportPsg>().in(OrderAirportPsg::getOrderId, orderIds));
......@@ -163,6 +182,7 @@ public class OrderAirportServiceImpl extends AbstractBaseService<OrderAirportVo,
}
//跟新保险信息
List<InsuranceInfoBean> insuranceList = orderModel.getInsuranceList();
insuranceList = CollectionUtils.isEmpty(insuranceList) ? List.of() : insuranceList;
for (InsuranceInfoBean insurance : insuranceList) {
OrderAirportInsurance orderInsurance = orderInsuranceList.stream().filter(item -> Objects.equals(item.getOrderId(), order.getId()) && org.apache.commons.lang3.StringUtils.equals(item.getBxOrderNo(), insurance.getBxOrderNo())).findFirst().orElseGet(
() -> {
......@@ -199,6 +219,7 @@ public class OrderAirportServiceImpl extends AbstractBaseService<OrderAirportVo,
}
//跟新支付信息
List<OrderPayInfoBean> payInfoList = orderModel.getPayInfoList();
payInfoList = CollectionUtils.isEmpty(payInfoList) ? List.of() : payInfoList;
for (OrderPayInfoBean pay : payInfoList) {
OrderAirportPay orderPay = orderPayList.stream().filter(item -> Objects.equals(item.getOrderId(), order.getId()) && org.apache.commons.lang3.StringUtils.equals(item.getPayBillno(), pay.getPayBillno())).findFirst().orElseGet(
() -> {
......@@ -217,6 +238,7 @@ public class OrderAirportServiceImpl extends AbstractBaseService<OrderAirportVo,
}
//跟新打印单信息
List<TicketPrintInfoBean> ticketList = orderModel.getPrintList();
ticketList = CollectionUtils.isEmpty(ticketList) ? List.of() : ticketList;
for (TicketPrintInfoBean ticket : ticketList) {
OrderAirportTicket orderTicket = orderTicketList.stream().filter(item -> Objects.equals(item.getOrderId(), order.getId()) && org.apache.commons.lang3.StringUtils.equals(item.getTkno(), ticket.getTkno())).findFirst().orElseGet(
() -> {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论