提交 07e1732e authored 作者: hzh's avatar hzh

机票新增支付接口

上级 87a87744
...@@ -66,6 +66,10 @@ public enum AirportApiEnum implements ApiEnum { ...@@ -66,6 +66,10 @@ public enum AirportApiEnum implements ApiEnum {
* 确认出票 * 确认出票
*/ */
CONFIRM_TICKET("/open/plane/order/confirmTicket", "机票订单确认出票;调用此接口,会自动扣款(或欠款记账)并出票。前提是企业必须开通预存或月结欠款支付,否则会提示账户问题导致出票不成功。"), CONFIRM_TICKET("/open/plane/order/confirmTicket", "机票订单确认出票;调用此接口,会自动扣款(或欠款记账)并出票。前提是企业必须开通预存或月结欠款支付,否则会提示账户问题导致出票不成功。"),
/**
* 机票支付
*/
PAY_ORDER("/open/plane/order/payOrder", "机票支付"),
/** /**
* 取消订单 * 取消订单
*/ */
......
package org.dromara.common.ys.model.req.airport;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dromara.common.ys.model.BaseModel;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class OrderPayModel extends BaseModel {
/**
* 订单编号
**/
private String orderNo;
}
...@@ -3,6 +3,7 @@ package org.dromara.common.ys.service; ...@@ -3,6 +3,7 @@ package org.dromara.common.ys.service;
import org.dromara.common.ys.common.PageInfo; import org.dromara.common.ys.common.PageInfo;
import org.dromara.common.ys.model.req.airport.OrderConfirmModel; import org.dromara.common.ys.model.req.airport.OrderConfirmModel;
import org.dromara.common.ys.model.req.airport.OrderPayModel;
import org.dromara.common.ys.model.req.airport.OrderRefundCancelModel; import org.dromara.common.ys.model.req.airport.OrderRefundCancelModel;
import org.dromara.common.ys.model.req.airport.QueryFlightStopModel; import org.dromara.common.ys.model.req.airport.QueryFlightStopModel;
import org.dromara.common.ys.model.res.airport.*; import org.dromara.common.ys.model.res.airport.*;
...@@ -90,10 +91,17 @@ public interface IAirportService { ...@@ -90,10 +91,17 @@ public interface IAirportService {
* *
* @param userId 用户id * @param userId 用户id
* @param model 确认出票参数 * @param model 确认出票参数
* @return 确认出票结果
*/ */
void confirmOrder(String userId, OrderConfirmModel model); void confirmOrder(String userId, OrderConfirmModel model);
/**
* 机票支付
*
* @param userId 用户id
* @paraodel 机票支付参数
*/
void payOrder(String userId, OrderPayModel model);
/** /**
* 获取经停信息 * 获取经停信息
* *
......
...@@ -10,6 +10,7 @@ import org.dromara.common.ys.common.PageInfo; ...@@ -10,6 +10,7 @@ import org.dromara.common.ys.common.PageInfo;
import org.dromara.common.ys.enums.DomainEnum; import org.dromara.common.ys.enums.DomainEnum;
import org.dromara.common.ys.enums.airport.AirportApiEnum; import org.dromara.common.ys.enums.airport.AirportApiEnum;
import org.dromara.common.ys.model.req.airport.OrderConfirmModel; import org.dromara.common.ys.model.req.airport.OrderConfirmModel;
import org.dromara.common.ys.model.req.airport.OrderPayModel;
import org.dromara.common.ys.model.req.airport.QueryFlightStopModel; import org.dromara.common.ys.model.req.airport.QueryFlightStopModel;
import org.dromara.common.ys.model.res.airport.*; import org.dromara.common.ys.model.res.airport.*;
import org.dromara.common.ys.service.IAirportService; import org.dromara.common.ys.service.IAirportService;
...@@ -200,6 +201,21 @@ public class AirPortServiceImpl implements IAirportService { ...@@ -200,6 +201,21 @@ public class AirPortServiceImpl implements IAirportService {
} }
} }
@Override
public void payOrder(String userId, OrderPayModel model) {
ApiHttpResponse res = Api.v1(
RequestMethodEnum.POST,
DomainEnum.TEST.getDomain(),
AirportApiEnum.PAY_ORDER.getUrl(),
userId,
null,
JSON.toJSONString(model)
);
if (!CharSequenceUtil.equals(res.getErrCode(), Code.SUCCESS.getCode())) {
throw new RuntimeException(res.getTips());
}
}
@Override @Override
public RefundOfVoyageModel orderRefundOfVoyage(String userId, org.dromara.common.ys.model.req.airport.RefundOfVoyageModel model) { public RefundOfVoyageModel orderRefundOfVoyage(String userId, org.dromara.common.ys.model.req.airport.RefundOfVoyageModel model) {
ApiHttpResponse res = Api.v1( ApiHttpResponse res = Api.v1(
......
...@@ -20,6 +20,7 @@ import org.dromara.common.ys.constant.Cplx; ...@@ -20,6 +20,7 @@ import org.dromara.common.ys.constant.Cplx;
import org.dromara.common.ys.constant.TripType; import org.dromara.common.ys.constant.TripType;
import org.dromara.common.ys.model.req.airport.OrderConfirmModel; import org.dromara.common.ys.model.req.airport.OrderConfirmModel;
import org.dromara.common.ys.model.req.airport.OrderListModel; import org.dromara.common.ys.model.req.airport.OrderListModel;
import org.dromara.common.ys.model.req.airport.OrderPayModel;
import org.dromara.common.ys.model.req.airport.QueryFlightStopModel; import org.dromara.common.ys.model.req.airport.QueryFlightStopModel;
import org.dromara.common.ys.model.req.airport.bookOrder.BookOrderModel; import org.dromara.common.ys.model.req.airport.bookOrder.BookOrderModel;
import org.dromara.common.ys.model.req.insurance.BxcpModel; import org.dromara.common.ys.model.req.insurance.BxcpModel;
...@@ -189,6 +190,18 @@ public class AirportController extends BaseController { ...@@ -189,6 +190,18 @@ public class AirportController extends BaseController {
return R.ok(true); return R.ok(true);
} }
/**
* 机票支付
*/
@GlobalTransactional(timeoutMills = 600000, rollbackFor = Exception.class)
@PostMapping("/payOrder")
public R<Boolean> payOrder(@RequestBody OrderPayModel model) {
airPortService.payOrder(getUserId(), model);
//跟新到订单表
orderAirportService.updateOrderInfo(List.of(model.getOrderNo()));
return R.ok(true);
}
/** /**
* 取消订单 * 取消订单
*/ */
......
...@@ -8,6 +8,7 @@ import org.dromara.common.core.utils.StringUtils; ...@@ -8,6 +8,7 @@ import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.ys.constant.airport.OrderStatus; import org.dromara.common.ys.constant.airport.OrderStatus;
import org.dromara.common.ys.constant.train.RefundOrderStatus; import org.dromara.common.ys.constant.train.RefundOrderStatus;
import org.dromara.common.ys.model.req.airport.OrderConfirmModel; import org.dromara.common.ys.model.req.airport.OrderConfirmModel;
import org.dromara.common.ys.model.req.airport.OrderPayModel;
import org.dromara.common.ys.model.req.hotel.PayOrderModel; import org.dromara.common.ys.model.req.hotel.PayOrderModel;
import org.dromara.common.ys.model.req.train.ConfirmOrderModel; import org.dromara.common.ys.model.req.train.ConfirmOrderModel;
import org.dromara.common.ys.service.IAirportService; import org.dromara.common.ys.service.IAirportService;
...@@ -165,6 +166,12 @@ public class RemoteYsOrderServiceImpl implements RemoteYsOrderService { ...@@ -165,6 +166,12 @@ public class RemoteYsOrderServiceImpl implements RemoteYsOrderService {
} catch (Exception e) { } catch (Exception e) {
log.error("飞机票确认出票失败,orderNo:{},失败原因:{}", orderNo, e.getMessage()); log.error("飞机票确认出票失败,orderNo:{},失败原因:{}", orderNo, e.getMessage());
} }
try {
//飞机票支付
airportService.payOrder(vo.getPersonCode(), new OrderPayModel().setOrderNo(orderNo));
} catch (Exception e) {
log.error("飞机票支付失败,orderNo:{},失败原因:{}", orderNo, e.getMessage());
}
orderAirportService.updateOrderInfo(List.of(orderNo)); orderAirportService.updateOrderInfo(List.of(orderNo));
}); });
} else if (StringUtils.equals(orderType, OrderType.TRAIN.getType())) { } else if (StringUtils.equals(orderType, OrderType.TRAIN.getType())) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论