提交 8381df6b authored 作者: hzh's avatar hzh

火车票增加确认出票接口

上级 9ac0621c
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 OrderCheckPriceModel extends BaseModel {
/**
* 订单编号
**/
private String orderNo;
}
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 OrderConfirmModel extends BaseModel {
/**
* 订单编号
**/
private String orderNo;
/**
* 是否直接自动出票 1是 0否 直接自动出票,就不会支付
*/
private Integer autoDraw;
}
package org.dromara.common.ys.model.res.airport;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dromara.common.ys.model.BaseModel;
import java.math.BigDecimal;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class OrderCheckPriceModel extends BaseModel {
/**
* 机建
**/
private BigDecimal airportFee;
/**
* 服务费
**/
private BigDecimal serviceFee;
/**
* 保险金额
**/
private BigDecimal insuranceAmount;
/**
* 票面价
**/
private BigDecimal salePrice;
/**
* 订单总金额
**/
private BigDecimal orderTotalAmount;
/**
* 税费
**/
private BigDecimal tax;
}
...@@ -2,6 +2,7 @@ package org.dromara.common.ys.service; ...@@ -2,6 +2,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.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.*;
...@@ -66,6 +67,24 @@ public interface IAirportService { ...@@ -66,6 +67,24 @@ public interface IAirportService {
*/ */
void cancelOrder(String userId, CancelOrderModel model); void cancelOrder(String userId, CancelOrderModel model);
/**
* 验价
*
* @param userId 用户id
* @param model 查询参数
* @return 查询结果
*/
OrderCheckPriceModel checkPrice(String userId, org.dromara.common.ys.model.req.airport.OrderCheckPriceModel model);
/**
* 确认出票
*
* @param userId 用户id
* @param model 确认出票参数
* @return 确认出票结果
*/
void confirmOrder(String userId, OrderConfirmModel model);
/** /**
* 获取经停信息 * 获取经停信息
* *
......
...@@ -58,9 +58,8 @@ public interface ITrainService { ...@@ -58,9 +58,8 @@ public interface ITrainService {
* *
* @param userId 用户id * @param userId 用户id
* @param model 确认出票参数 * @param model 确认出票参数
* @return 确认出票结果
*/ */
Boolean confirmOrder(String userId, ConfirmOrderModel model); void confirmOrder(String userId, ConfirmOrderModel model);
/** /**
* 查询订单列表 * 查询订单列表
......
...@@ -9,6 +9,7 @@ import org.dromara.common.ys.common.Code; ...@@ -9,6 +9,7 @@ import org.dromara.common.ys.common.Code;
import org.dromara.common.ys.common.PageInfo; 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.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;
...@@ -152,6 +153,37 @@ public class AirPortServiceImpl implements IAirportService { ...@@ -152,6 +153,37 @@ public class AirPortServiceImpl implements IAirportService {
} }
} }
@Override
public OrderCheckPriceModel checkPrice(String userId, org.dromara.common.ys.model.req.airport.OrderCheckPriceModel model) {
ApiHttpResponse res = Api.v1(
RequestMethodEnum.POST,
DomainEnum.TEST.getDomain(),
AirportApiEnum.CHECK_PRICE_FOR_ORDER.getUrl(),
userId,
null,
JSON.toJSONString(model)
);
if (!CharSequenceUtil.equals(res.getErrCode(), Code.SUCCESS.getCode())) {
throw new RuntimeException(res.getTips());
}
return JSON.parseObject(res.getData(), OrderCheckPriceModel.class);
}
@Override
public void confirmOrder(String userId, OrderConfirmModel model) {
ApiHttpResponse res = Api.v1(
RequestMethodEnum.POST,
DomainEnum.TEST.getDomain(),
AirportApiEnum.CONFIRM_TICKET.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(
......
...@@ -15,8 +15,8 @@ import org.dromara.common.ys.model.res.train.OrderRefundApplyModel; ...@@ -15,8 +15,8 @@ import org.dromara.common.ys.model.res.train.OrderRefundApplyModel;
import org.dromara.common.ys.model.res.train.OrderRefundDetailModel; import org.dromara.common.ys.model.res.train.OrderRefundDetailModel;
import org.dromara.common.ys.model.res.train.OrderRefundListModel; import org.dromara.common.ys.model.res.train.OrderRefundListModel;
import org.dromara.common.ys.model.res.train.QueryModel; import org.dromara.common.ys.model.res.train.QueryModel;
import org.dromara.common.ys.model.res.train.*;
import org.dromara.common.ys.model.res.train.TrainStopModel; import org.dromara.common.ys.model.res.train.TrainStopModel;
import org.dromara.common.ys.model.res.train.*;
import org.dromara.common.ys.service.ITrainService; import org.dromara.common.ys.service.ITrainService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -93,6 +93,20 @@ public class TrainServiceImpl implements ITrainService { ...@@ -93,6 +93,20 @@ public class TrainServiceImpl implements ITrainService {
return JSON.parseObject(JSON.parseObject(res.getData()).toJSONString(), OrderBookResModel.class); return JSON.parseObject(JSON.parseObject(res.getData()).toJSONString(), OrderBookResModel.class);
} }
@Override
public void confirmOrder(String userId, ConfirmOrderModel model) {
ApiHttpResponse res = Api.v1(
com.wenhe.base.base.RequestMethodEnum.POST,
DomainEnum.TEST.getDomain(),
TrainApiEnum.CONFIRM.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(
......
...@@ -15,6 +15,7 @@ import org.dromara.common.redis.utils.RedisUtils; ...@@ -15,6 +15,7 @@ import org.dromara.common.redis.utils.RedisUtils;
import org.dromara.common.ys.common.PageInfo; import org.dromara.common.ys.common.PageInfo;
import org.dromara.common.ys.constant.Cplx; 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.OrderListModel; import org.dromara.common.ys.model.req.airport.OrderListModel;
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;
...@@ -138,6 +139,28 @@ public class AirportController extends BaseController { ...@@ -138,6 +139,28 @@ public class AirportController extends BaseController {
return R.ok(orderList); return R.ok(orderList);
} }
/**
* 验价
*/
@GlobalTransactional(timeoutMills = 600000, rollbackFor = Exception.class)
@PostMapping("/checkPrice")
public R<OrderCheckPriceModel> checkPrice(@RequestBody org.dromara.common.ys.model.req.airport.OrderCheckPriceModel model) {
return R.ok(airPortService.checkPrice(getUserId(), model));
}
/**
* 确认出票
*/
@GlobalTransactional(timeoutMills = 600000, rollbackFor = Exception.class)
@PostMapping("/confirm")
public R<Boolean> confirm(@RequestBody OrderConfirmModel model) {
airPortService.confirmOrder(getUserId(), model);
//跟新到订单表
orderAirportService.updateOrderInfo(List.of(model.getOrderNo()));
return R.ok(true);
}
/** /**
* 取消订单 * 取消订单
*/ */
...@@ -173,7 +196,10 @@ public class AirportController extends BaseController { ...@@ -173,7 +196,10 @@ public class AirportController extends BaseController {
*/ */
@GetMapping("/orderDetail") @GetMapping("/orderDetail")
public R<QueryTkOrderModel> orderDetail(org.dromara.common.ys.model.req.airport.QueryTkOrderModel model) { public R<QueryTkOrderModel> orderDetail(org.dromara.common.ys.model.req.airport.QueryTkOrderModel model) {
return R.ok(airPortService.detail(getUserId(), model)); QueryTkOrderModel detail = airPortService.detail(getUserId(), model);
//跟新到订单表
orderAirportService.updateOrderInfo(List.of(model.getOrderNo()));
return R.ok(detail);
} }
/** /**
......
...@@ -97,7 +97,9 @@ public class HotelController extends BaseController { ...@@ -97,7 +97,9 @@ public class HotelController extends BaseController {
*/ */
@GetMapping("/order/hotelDetail") @GetMapping("/order/hotelDetail")
public R<HotelOrderQueryDetailModel> orderHotelDetail(org.dromara.common.ys.model.req.hotel.HotelOrderQueryDetailModel model) { public R<HotelOrderQueryDetailModel> orderHotelDetail(org.dromara.common.ys.model.req.hotel.HotelOrderQueryDetailModel model) {
return R.ok(hotelService.hotelOrderDetail(getUserId(), model)); HotelOrderQueryDetailModel detail = hotelService.hotelOrderDetail(getUserId(), model);
orderHotelService.updateOrderInfo(List.of(model.getOrderNo()));
return R.ok(detail);
} }
/** /**
......
...@@ -229,7 +229,9 @@ public class TrainController extends BaseController { ...@@ -229,7 +229,9 @@ public class TrainController extends BaseController {
*/ */
@GetMapping("/orderDetail") @GetMapping("/orderDetail")
public R<OrderInfoModel> orderDetail(OrderQueryModel model) { public R<OrderInfoModel> orderDetail(OrderQueryModel model) {
return R.ok(trainService.detail(getUserId(), model)); OrderInfoModel detail = trainService.detail(getUserId(), model);
orderTrainService.updateOrderInfo(List.of(model.getOrderNO()));
return R.ok(detail);
} }
/** /**
......
...@@ -59,7 +59,9 @@ public class VehiclesController extends BaseController { ...@@ -59,7 +59,9 @@ public class VehiclesController extends BaseController {
*/ */
@GetMapping("/order/detail") @GetMapping("/order/detail")
public R<org.dromara.common.ys.model.res.vehicles.OrderDetailModel> orderDetail(OrderDetailModel model) { public R<org.dromara.common.ys.model.res.vehicles.OrderDetailModel> orderDetail(OrderDetailModel model) {
return R.ok(vehiclesService.detail(getUserId(), model)); org.dromara.common.ys.model.res.vehicles.OrderDetailModel detail = vehiclesService.detail(getUserId(), model);
orderVehiclesService.updateOrderInfo(List.of(model.getOrderNo()));
return R.ok(detail);
} }
/** /**
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论