提交 2a670693 authored 作者: hzh's avatar hzh

代码优化

上级 cb32457f
......@@ -292,19 +292,18 @@ public class OrderAirportServiceImpl extends AbstractBaseService<OrderAirportVo,
if (isAdd) {
TenantHelper.dynamic(order.getTenantId(), () -> {
//新增订票策略
List<OrderAirport> OrderAirportList = baseMapper.selectList(OrderAirport::getOrderNo, orderNoList);
OrderAirportList.forEach(or -> {
OrderInvoicingBo invoice = new OrderInvoicingBo()
.setOrderId(or.getId())
.setType(OrderType.AIRPORT.getType())
.setPersonCode(or.getPersonCode())
.setOrderNo(or.getOrderNo())
.setUseName(Optional.ofNullable(or).map(OrderAirport::getPsg).orElse(null))
.setUseTime(Optional.ofNullable(rangeMapper.selectOne(OrderAirportRange::getOrderNo, or.getOrderNo()))
OrderInvoicingBo invoice = new OrderInvoicingBo()
.setOrderId(order.getId())
.setType(OrderType.AIRPORT.getType())
.setPersonCode(order.getPersonCode())
.setOrderNo(order.getOrderNo())
.setUseName(Optional.ofNullable(order).map(OrderAirport::getPsg).orElse(null))
.setUseTime(
Optional.ofNullable(rangeMapper.selectOne(OrderAirportRange::getOrderNo, order.getOrderNo()))
.map(o -> DateUtil.parse(o.getDepartTime(), "yyyy-MM-dd HH:mm"))
.orElse(null));
orderInvoicingService.save(invoice);
});
.orElse(null)
);
orderInvoicingService.save(invoice);
});
}
});
......
......@@ -10,6 +10,7 @@ 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.service.AbstractBaseService;
import org.dromara.common.tenant.helper.TenantHelper;
import org.dromara.common.ys.model.res.airport.other.OrderBusinessInfoBean;
import org.dromara.common.ys.model.res.airport.other.OrderPayInfoBean;
import org.dromara.common.ys.model.res.hotel.HotelOrderQueryDetailModel;
......@@ -147,25 +148,15 @@ public class OrderHotelServiceImpl extends AbstractBaseService<OrderHotelVo, Ord
for (OrderHotel bo : orderList) {
baseMapper.insert(bo);
}
updateOrderInfo(orderNoList);
//新增订票策略
List<OrderHotel> orderHotelList = baseMapper.selectList(OrderHotel::getOrderNo, orderNoList);
orderHotelList.forEach(order -> {
OrderInvoicingBo invoice = new OrderInvoicingBo()
.setOrderId(order.getId())
.setType(OrderType.HOTEL.getType())
.setPersonCode(order.getPersonCode())
.setOrderNo(order.getOrderNo())
.setUseName(Optional.ofNullable(order).map(OrderHotel::getPsgName).orElse(null))
.setUseTime(Optional.ofNullable(order)
.map(o -> DateUtil.parse(o.getCheckInDate(), "yyyy-MM-dd"))
.orElse(null));
orderInvoicingService.save(invoice);
});
updateOrderInfo(orderNoList, true);
}
@Override
public void updateOrderInfo(List<String> orderNoList) {
updateOrderInfo(orderNoList, false);
}
private void updateOrderInfo(List<String> orderNoList, Boolean isAdd) {
if (CollectionUtils.isEmpty(orderNoList)) {
return;
}
......@@ -268,6 +259,21 @@ public class OrderHotelServiceImpl extends AbstractBaseService<OrderHotelVo, Ord
businessMapper.updateById(orderBusiness);
}
}
if (isAdd) {
TenantHelper.dynamic(order.getTenantId(), () -> {
//新增订票策略
OrderInvoicingBo invoice = new OrderInvoicingBo()
.setOrderId(order.getId())
.setType(OrderType.HOTEL.getType())
.setPersonCode(order.getPersonCode())
.setOrderNo(order.getOrderNo())
.setUseName(Optional.ofNullable(order).map(OrderHotel::getPsgName).orElse(null))
.setUseTime(Optional.ofNullable(order)
.map(o -> DateUtil.parse(o.getCheckInDate(), "yyyy-MM-dd"))
.orElse(null));
orderInvoicingService.save(invoice);
});
}
});
});
}
......
......@@ -10,6 +10,7 @@ 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.service.AbstractBaseService;
import org.dromara.common.tenant.helper.TenantHelper;
import org.dromara.common.ys.model.req.train.OrderQueryModel;
import org.dromara.common.ys.model.res.airport.other.OrderPayInfoBean;
import org.dromara.common.ys.model.res.train.OrderInfoModel;
......@@ -154,25 +155,17 @@ public class OrderTrainServiceImpl extends AbstractBaseService<OrderTrainVo, Ord
for (OrderTrain bo : orderList) {
baseMapper.insert(bo);
}
updateOrderInfo(orderNoList);
//新增订票策略
List<OrderTrain> orderTrainList = baseMapper.selectList(OrderTrain::getOrderNo, orderNoList);
orderTrainList.forEach(order -> {
OrderInvoicingBo invoice = new OrderInvoicingBo()
.setOrderId(order.getId())
.setType(OrderType.TRAIN.getType())
.setPersonCode(order.getPersonCode())
.setOrderNo(order.getOrderNo())
.setUseName(Optional.ofNullable(order).map(OrderTrain::getPassengerNames).orElse(null))
.setUseTime(Optional.ofNullable(rangeMapper.selectOne(OrderTrainRange::getOrderNo, order.getOrderNo()))
.map(o -> DateUtil.parse(o.getFromDate() + " " + o.getFromTime(), "yyyy-MM-dd HH:mm"))
.orElse(null));
orderInvoicingService.save(invoice);
});
updateOrderInfo(orderNoList, true);
}
@Override
public void updateOrderInfo(List<String> orderNoList) {
updateOrderInfo(orderNoList, false);
}
private void updateOrderInfo(List<String> orderNoList, Boolean isAdd) {
if (CollectionUtils.isEmpty(orderNoList)) {
return;
}
......@@ -305,6 +298,20 @@ public class OrderTrainServiceImpl extends AbstractBaseService<OrderTrainVo, Ord
businessMapper.updateById(orderBusiness);
}
}
if (isAdd) {
TenantHelper.dynamic(order.getTenantId(), () -> {
OrderInvoicingBo invoice = new OrderInvoicingBo()
.setOrderId(order.getId())
.setType(OrderType.TRAIN.getType())
.setPersonCode(order.getPersonCode())
.setOrderNo(order.getOrderNo())
.setUseName(Optional.ofNullable(order).map(OrderTrain::getPassengerNames).orElse(null))
.setUseTime(Optional.ofNullable(rangeMapper.selectOne(OrderTrainRange::getOrderNo, order.getOrderNo()))
.map(o -> DateUtil.parse(o.getFromDate() + " " + o.getFromTime(), "yyyy-MM-dd HH:mm"))
.orElse(null));
orderInvoicingService.save(invoice);
});
}
});
});
}
......
......@@ -10,6 +10,7 @@ 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.service.AbstractBaseService;
import org.dromara.common.tenant.helper.TenantHelper;
import org.dromara.common.ys.model.res.airport.other.OrderBusinessInfoBean;
import org.dromara.common.ys.model.res.airport.other.OrderPayInfoBean;
import org.dromara.common.ys.model.res.vehicles.OrderDetailModel;
......@@ -175,9 +176,7 @@ public class OrderVehiclesServiceImpl extends AbstractBaseService<OrderVehiclesV
order.setOrderId(orderId);
order.setTenantId(user.getTenantId());
baseMapper.insert(order);
updateOrderInfo(List.of(order.getOrderNo()));
//设置开票策略
updateInvoice(order);
updateOrderInfo(List.of(order.getOrderNo()), true);
}
private void updateInvoice(OrderVehicles order) {
......@@ -199,6 +198,11 @@ public class OrderVehiclesServiceImpl extends AbstractBaseService<OrderVehiclesV
@Override
public void updateOrderInfo(List<String> orderNoList) {
updateOrderInfo(orderNoList, false);
}
private void updateOrderInfo(List<String> orderNoList, Boolean isAdd) {
if (CollectionUtils.isEmpty(orderNoList)) {
return;
}
......@@ -226,14 +230,11 @@ public class OrderVehiclesServiceImpl extends AbstractBaseService<OrderVehiclesV
List<OrderPayInfoBean> payInfoList = orderModel.getVehiclePayList();
if (CollectionUtils.isNotEmpty(payInfoList)) {
for (OrderPayInfoBean payInfo : payInfoList) {
OrderVehiclesPayInfo orderPayInfo = orderPayInfoList.stream().filter(item -> Objects.equals(item.getOrderId(), order.getId()) && org.apache.commons.lang3.StringUtils.equals(item.getPayBillNo(), payInfo.getPayBillno())).findFirst().orElseGet(
() -> {
OrderVehiclesPayInfo entity = new OrderVehiclesPayInfo()
.setOrderId(order.getId())
.setOrderNo(order.getOrderNo());
entity.setTenantId(order.getTenantId());
return entity;
});
OrderVehiclesPayInfo orderPayInfo = orderPayInfoList.stream().filter(item -> Objects.equals(item.getOrderId(), order.getId()) && org.apache.commons.lang3.StringUtils.equals(item.getPayBillNo(), payInfo.getPayBillno())).findFirst().orElseGet(() -> {
OrderVehiclesPayInfo entity = new OrderVehiclesPayInfo().setOrderId(order.getId()).setOrderNo(order.getOrderNo());
entity.setTenantId(order.getTenantId());
return entity;
});
BeanUtil.copyProperties(payInfo, orderPayInfo, "id", "orderId", "orderNo");
orderPayInfo.setPayBillNo(payInfo.getPayBillno());
orderPayInfo.setPayMethodName(payInfo.getPayMothedName());
......@@ -247,14 +248,11 @@ public class OrderVehiclesServiceImpl extends AbstractBaseService<OrderVehiclesV
//跟新差旅信息
OrderBusinessInfoBean business = orderModel.getBusiness();
if (Objects.nonNull(business)) {
OrderVehiclesBusiness orderBusiness = orderBusinessList.stream().filter(item -> Objects.equals(item.getOrderId(), order.getId())).findFirst().orElseGet(
() -> {
OrderVehiclesBusiness entity = new OrderVehiclesBusiness()
.setOrderId(order.getId())
.setOrderNo(order.getOrderNo());
entity.setTenantId(order.getTenantId());
return entity;
});
OrderVehiclesBusiness orderBusiness = orderBusinessList.stream().filter(item -> Objects.equals(item.getOrderId(), order.getId())).findFirst().orElseGet(() -> {
OrderVehiclesBusiness entity = new OrderVehiclesBusiness().setOrderId(order.getId()).setOrderNo(order.getOrderNo());
entity.setTenantId(order.getTenantId());
return entity;
});
BeanUtil.copyProperties(business, orderBusiness, "id", "orderId", "orderNo");
orderBusiness.setViolateItemCode(business.getViolateitemCode());
orderBusiness.setViolateItem(business.getViolateitem());
......@@ -264,6 +262,24 @@ public class OrderVehiclesServiceImpl extends AbstractBaseService<OrderVehiclesV
businessMapper.updateById(orderBusiness);
}
}
if (isAdd) {
TenantHelper.dynamic(order.getTenantId(), () -> {
OrderVehicles orderVehicles = baseMapper.selectById(order.getId());
OrderInvoicingBo invoice = new OrderInvoicingBo()
.setOrderId(order.getId())
.setType(OrderType.CAR.getType())
.setPersonCode(order.getPersonCode())
.setOrderNo(order.getOrderNo())
.setUseName(Optional.ofNullable(orderVehicles).map(OrderVehicles::getPhoneNumber).orElse(null))
.setUseTime(Optional.ofNullable(orderVehicles).map(ov -> {
if (StringUtils.isNotEmpty(ov.getStartTime())) {
return DateUtil.parse(ov.getStartTime());
}
return null;
}).orElse(null));
orderInvoicingService.save(invoice);
});
}
});
//跟新开票策略
updateInvoice(order);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论