提交 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;
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.QueryFlightStopModel;
import org.dromara.common.ys.model.res.airport.*;
......@@ -66,6 +67,24 @@ public interface IAirportService {
*/
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 {
*
* @param userId 用户id
* @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;
import org.dromara.common.ys.common.PageInfo;
import org.dromara.common.ys.enums.DomainEnum;
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.res.airport.*;
import org.dromara.common.ys.service.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
public RefundOfVoyageModel orderRefundOfVoyage(String userId, org.dromara.common.ys.model.req.airport.RefundOfVoyageModel model) {
ApiHttpResponse res = Api.v1(
......
......@@ -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.OrderRefundListModel;
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.*;
import org.dromara.common.ys.service.ITrainService;
import org.springframework.stereotype.Service;
......@@ -93,6 +93,20 @@ public class TrainServiceImpl implements ITrainService {
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
public PageInfo<OrderListQueryResModel> orderList(String userId, OrderListQueryModel model) {
ApiHttpResponse res = Api.v1(
......
......@@ -15,6 +15,7 @@ import org.dromara.common.redis.utils.RedisUtils;
import org.dromara.common.ys.common.PageInfo;
import org.dromara.common.ys.constant.Cplx;
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.QueryFlightStopModel;
import org.dromara.common.ys.model.req.airport.bookOrder.BookOrderModel;
......@@ -138,6 +139,28 @@ public class AirportController extends BaseController {
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 {
*/
@GetMapping("/orderDetail")
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 {
*/
@GetMapping("/order/hotelDetail")
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 {
*/
@GetMapping("/orderDetail")
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 {
*/
@GetMapping("/order/detail")
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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论