提交 4166a392 authored 作者: hzh's avatar hzh

开票策略功能实现

上级 435c888e
......@@ -21,7 +21,7 @@ public class RemoteOrderApprove implements Serializable {
/**
* 订单id
*/
private Long orderId;
private String orderNo;
/**
* 订单类型
......
......@@ -3,6 +3,7 @@ package org.dromara.server.dubbo;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference;
import org.apache.dubbo.config.annotation.DubboService;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.ys.constant.airport.OrderStatus;
......@@ -21,6 +22,7 @@ import org.dromara.server.api.domain.RemoteOrderApprove;
import org.dromara.server.domain.bo.*;
import org.dromara.server.domain.vo.*;
import org.dromara.server.service.*;
import org.dromara.system.api.RemoteUserService;
import org.springframework.stereotype.Service;
import java.util.Arrays;
......@@ -51,6 +53,9 @@ public class RemoteYsOrderServiceImpl implements RemoteYsOrderService {
private final ITrainService trainService;
private final IVehiclesService vehiclesService;
private final IHotelService hotelService;
private final IOrderInvoicingService orderInvoicingService;
@DubboReference
private RemoteUserService remoteUserService;
/**
......@@ -184,6 +189,10 @@ public class RemoteYsOrderServiceImpl implements RemoteYsOrderService {
@Override
public void payed(String orderType, String orderNo) {
log.info("支付成功后确认出票,orderType:{},orderNo:{}", orderType, orderNo);
pay(orderType, orderNo);
}
private void pay(String orderType, String orderNo) {
if (StringUtils.equals(orderType, OrderType.AIRPORT.getType())) {
//飞机票
Optional.ofNullable(orderAirportService.getOne(new OrderAirportBo().setOrderNo(orderNo))).ifPresent(vo -> {
......@@ -236,7 +245,13 @@ public class RemoteYsOrderServiceImpl implements RemoteYsOrderService {
@Override
public void orderApprove(RemoteOrderApprove orderApprove) {
//TODO 修改订单信息
log.info("审批同意后,订单修改:{}", orderApprove);
pay(orderApprove.getOrderType(), orderApprove.getOrderNo());
orderInvoicingService.save(
new OrderInvoicingBo()
.setType(orderApprove.getOrderType())
.setOrderNo(orderApprove.getOrderNo())
.setAuthName(orderApprove.getAuthId() == null ? null : remoteUserService.selectUserNameById(orderApprove.getAuthId()))
);
}
}
......@@ -50,9 +50,9 @@ public class OrderApprove extends TenantEntity {
private Long authId;
/**
* 订单id
* 订单编码
*/
private Long orderId;
private String orderNo;
/**
* 订单类型
......
......@@ -53,10 +53,10 @@ public class OrderApproveBo extends BaseEntity {
private Long authId;
/**
* 订单id
* 订单编码
*/
@NotNull(message = "订单id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long orderId;
@NotBlank(message = "订单编码不能为空", groups = { AddGroup.class, EditGroup.class })
private String orderNo;
/**
* 订单类型
......
......@@ -57,10 +57,10 @@ public class OrderApproveVo implements Serializable {
private Long authId;
/**
* 订单id
* 订单编码
*/
@ExcelProperty(value = "订单id")
private Long orderId;
@ExcelProperty(value = "订单编码")
private String orderNo;
/**
* 订单类型
......
......@@ -62,7 +62,7 @@ public class OrderApproveServiceImpl extends AbstractBaseService<OrderApproveVo,
lqw.eq(StringUtils.isNotBlank(bo.getApplyType()), OrderApprove::getApplyType, bo.getApplyType());
lqw.eq(bo.getDeptApprove() != null, OrderApprove::getDeptApprove, bo.getDeptApprove());
lqw.eq(bo.getAuthId() != null, OrderApprove::getAuthId, bo.getAuthId());
lqw.eq(bo.getOrderId() != null, OrderApprove::getOrderId, bo.getOrderId());
lqw.eq(StringUtils.isNotBlank(bo.getOrderNo()), OrderApprove::getOrderNo, bo.getOrderNo());
lqw.eq(StringUtils.isNotBlank(bo.getOrderType()), OrderApprove::getOrderType, bo.getOrderType());
lqw.eq(bo.getOrderTime() != null, OrderApprove::getOrderTime, bo.getOrderTime());
lqw.eq(bo.getExpireTime() != null, OrderApprove::getExpireTime, bo.getExpireTime());
......@@ -110,9 +110,9 @@ public class OrderApproveServiceImpl extends AbstractBaseService<OrderApproveVo,
baseMapper.updateById(fa);
if (StringUtils.equals(fa.getStatus(), BusinessStatusEnum.FINISH.getStatus())) {
RemoteOrderApprove roa = new RemoteOrderApprove()
.setOrderId(fa.getOrderId())
.setOrderNo(fa.getOrderNo())
.setOrderType(fa.getOrderType())
.setAuthId(StringUtils.equals(fa.getApplyType(), UserType.SYS_USER.getUserType()) ? fa.getStaffId() : fa.getAuthId());
.setAuthId(fa.getDeptApprove() ? (StringUtils.equals(fa.getApplyType(), UserType.SYS_USER.getUserType()) ? fa.getStaffId() : fa.getAuthId()) : null);
ysOrderService.orderApprove(roa);
}
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论