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

Merge branch 'dev' into dev-mall

package org.dromara.common.ys.model.req.train;
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 PayOrderModel extends BaseModel {
/**
* 订单编号
**/
private String orderNo;
}
...@@ -61,6 +61,15 @@ public interface ITrainService { ...@@ -61,6 +61,15 @@ public interface ITrainService {
*/ */
void confirmOrder(String userId, ConfirmOrderModel model); void confirmOrder(String userId, ConfirmOrderModel model);
/**
* 火车票支付
*
* @param userId 用户id
* @param model 火车票支付参数
*/
void payOrder(String userId, PayOrderModel model);
/** /**
* 查询订单列表 * 查询订单列表
* *
......
...@@ -107,6 +107,20 @@ public class TrainServiceImpl implements ITrainService { ...@@ -107,6 +107,20 @@ public class TrainServiceImpl implements ITrainService {
} }
} }
@Override
public void payOrder(String userId, PayOrderModel model) {
ApiHttpResponse res = Api.v1(
com.wenhe.base.base.RequestMethodEnum.POST,
DomainEnum.TEST.getDomain(),
TrainApiEnum.PAY_ORDER.getUrl(),
userId,
JSON.toJSONString(model)
);
if (!CharSequenceUtil.equals(res.getErrCode(), Code.SUCCESS.getCode())) {
throw new RuntimeException(res.getTips());
}
}
@Override @Override
public PageInfo<OrderListQueryResModel> orderList(String userId, OrderListQueryModel model) { public PageInfo<OrderListQueryResModel> orderList(String userId, OrderListQueryModel model) {
ApiHttpResponse res = Api.v1( ApiHttpResponse res = Api.v1(
......
...@@ -247,6 +247,17 @@ public class TrainController extends BaseController { ...@@ -247,6 +247,17 @@ public class TrainController extends BaseController {
return R.ok(true); return R.ok(true);
} }
/**
* 火车票支付
*/
@GlobalTransactional(rollbackFor = Exception.class)
@PostMapping("/pay")
public R<Boolean> pay(@RequestBody PayOrderModel model) {
trainService.payOrder(getUserId(), model);
orderTrainService.updateOrderInfo(List.of(model.getOrderNo()));
return R.ok(true);
}
/** /**
* 取消订单 * 取消订单
*/ */
......
...@@ -159,15 +159,29 @@ public class RemoteYsOrderServiceImpl implements RemoteYsOrderService { ...@@ -159,15 +159,29 @@ public class RemoteYsOrderServiceImpl implements RemoteYsOrderService {
if (StringUtils.equals(orderType, OrderType.AIRPORT.getType())) { if (StringUtils.equals(orderType, OrderType.AIRPORT.getType())) {
//飞机票 //飞机票
Optional.ofNullable(orderAirportService.getOne(new OrderAirportBo().setOrderNo(orderNo))).ifPresent(vo -> { Optional.ofNullable(orderAirportService.getOne(new OrderAirportBo().setOrderNo(orderNo))).ifPresent(vo -> {
try {
//确认出票 //确认出票
airportService.confirmOrder(vo.getPersonCode(), new OrderConfirmModel().setOrderNo(orderNo).setAutoDraw(1)); airportService.confirmOrder(vo.getPersonCode(), new OrderConfirmModel().setOrderNo(orderNo).setAutoDraw(1));
} 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())) {
//火车票 //火车票
Optional.ofNullable(orderTrainService.getOne(new OrderTrainBo().setOrderNo(orderNo))).ifPresent(vo -> { Optional.ofNullable(orderTrainService.getOne(new OrderTrainBo().setOrderNo(orderNo))).ifPresent(vo -> {
try {
//确认出票 //确认出票
trainService.confirmOrder(vo.getPersonCode(), new ConfirmOrderModel().setOrderNo(orderNo)); trainService.confirmOrder(vo.getPersonCode(), new ConfirmOrderModel().setOrderNo(orderNo));
} catch (Exception e) {
log.error("火车票确认出票失败,orderNo:{},失败原因:{}", orderNo, e.getMessage());
}
try {
//火车票支付
trainService.payOrder(vo.getPersonCode(), new org.dromara.common.ys.model.req.train.PayOrderModel().setOrderNo(orderNo));
} catch (Exception e) {
log.error("火车票支付失败,orderNo:{},失败原因:{}", orderNo, e.getMessage());
}
orderTrainService.updateOrderInfo(List.of(orderNo)); orderTrainService.updateOrderInfo(List.of(orderNo));
}); });
} else if (StringUtils.equals(orderType, OrderType.CAR.getType())) { } else if (StringUtils.equals(orderType, OrderType.CAR.getType())) {
...@@ -175,8 +189,12 @@ public class RemoteYsOrderServiceImpl implements RemoteYsOrderService { ...@@ -175,8 +189,12 @@ public class RemoteYsOrderServiceImpl implements RemoteYsOrderService {
} else if (StringUtils.equals(orderType, OrderType.HOTEL.getType())) { } else if (StringUtils.equals(orderType, OrderType.HOTEL.getType())) {
//酒店 //酒店
Optional.ofNullable(orderHotelService.getOne(new OrderHotelBo().setOrderNo(orderNo))).ifPresent(vo -> { Optional.ofNullable(orderHotelService.getOne(new OrderHotelBo().setOrderNo(orderNo))).ifPresent(vo -> {
try {
//确认出票 //确认出票
hotelService.orderPay(vo.getPersonCode(), new PayOrderModel().setOrderNo(orderNo)); hotelService.orderPay(vo.getPersonCode(), new PayOrderModel().setOrderNo(orderNo));
} catch (Exception e) {
log.error("酒店确认出票失败,orderNo:{},失败原因:{}", orderNo, e.getMessage());
}
orderHotelService.updateOrderInfo(List.of(orderNo)); orderHotelService.updateOrderInfo(List.of(orderNo));
}); });
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论