提交 900bda8c authored 作者: hzh's avatar hzh

部分云上接口对接

上级 827e2fca
...@@ -16,6 +16,31 @@ public enum TrainApiEnum implements ApiEnum { ...@@ -16,6 +16,31 @@ public enum TrainApiEnum implements ApiEnum {
*/ */
FIND_ALL_STATION("/open/train/shopping/findAllStation", "查询火车所有站点"), FIND_ALL_STATION("/open/train/shopping/findAllStation", "查询火车所有站点"),
/**
* 12306账号校验
*/
CHECK_ACCOUNT("/open/train/set/checkAccount", "12306账号校验"),
/**
* 创建订单
*/
ORDER_BOOK("/open/train/order/book", "火车票下单接口,生成火车票订单。"),
/**
* 取消订单
*/
ORDER_CANCEL("/open/train/order/cancel", "根据订单号取消火车票订单"),
/**
* 订单详情
*/
QUERY_ORDER("/open/train/order/queryOrder", "根据订单号获取火车票订单详情。"),
/**
* 正常单列表
*/
QUERY_ORDER_LIST("/open/train/order/queryOrderList", "正常单列表查询。"),
/** /**
* 车次查询列表 * 车次查询列表
*/ */
......
package org.dromara.common.ys.model.req.airport;
import org.dromara.common.ys.model.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class QueryFlightStopDTOModel extends BaseModel {
/**
* 航班号
**/
private String flightNo;
/**
* 出发日期,格式:yyyy-MM-dd
**/
private String departDate;
}
package org.dromara.common.ys.model.req.train;
import org.dromara.common.ys.model.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class CheckAccountReqModel extends BaseModel {
/**
* 12306密码
**/
private String password;
/**
* 12306用户名
**/
private String userName;
}
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;
import java.util.List;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class OrderBookReqModel extends BaseModel {
/**
* 成本中心代码
**/
private String costCenterCode;
/**
* 联系人手机
**/
private String linkMobile;
/**
* 预订类型 1:12306预订 2:代购现金票 3:代购退改无忧 6:电子票
**/
private Integer ydType;
/**
* 到达站代码
**/
private String toStationCode;
/**
* 车次
**/
private String trainCode;
/**
* 列车编号
**/
private String trainNo;
/**
* 12306账号
**/
private String trainAccount;
/**
* 座位类型 P:特等座M:一等座O:二等座/无座F:动卧I:一等卧J:二等卧E:特等软座Q:多功能座9:商务座8:二等软座7:一等软座6:高级软卧4:软卧3:硬卧2:软座1:硬座/无座
**/
private String seatType;
/**
* 12306密码
**/
private String password;
/**
* 客户备注
**/
private String remarksCu;
/**
* 是否接受无座 默认为true
**/
private Boolean acceptNoSeat;
/**
* 项目代码
**/
private String projectCode;
/**
* 乘客集合
**/
private List<TrainOrderBookPassengerBean> passengerList;
/**
* 出差申请备注,最大长度250位
**/
private String travelRemark;
/**
* 订单是否一致 DY DN
**/
private String ifSameOrder;
/**
* 选座 范围:1A-1F 2A-2F 几个人就几个(一个人时,不允许出现2A-2F)===============================================================如果是线下预订 卧铺: 3:上铺 4:中铺 5:下铺 ; 坐席: 2:靠走廊 1:靠窗线下预订 多张的情况下 卧铺: 3-n:n张上铺 4-n:n张中铺 5-n:n张下铺坐席: 2-n:n张靠走廊 1-n:n张靠窗 多种情况用,分隔
**/
private String chooseSeats;
/**
* 联系人
**/
private String linkman;
/**
* 出发日期
**/
private String fromDate;
/**
* 出行类型1因公2因私
**/
private Integer tripType;
/**
* 是否静音车厢
**/
private Boolean isQuietCoach;
/**
* 出差申请单号,最大长度30位
**/
private String travelNo;
/**
* 成本中心名称
**/
private String costCenterName;
/**
* 出发站代码
**/
private String fromStationCode;
/**
* 项目名称
**/
private String projectName;
/**
* 科目码
**/
private String subjectCode;
/**
* 联系人电子邮箱
**/
private String linkEmail;
}
package org.dromara.common.ys.model.req.train;
import org.dromara.common.ys.model.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class OrderListQueryModel extends BaseModel {
/**
* 预订人
**/
private String bookNo;
/**
* 日期类型 1预定日期 2出行日期 3出票/确认日期
**/
private Integer dateType;
/**
* 时间始 格式:yyyy-MM-dd
**/
private String dateStart;
/**
* 每页显示条数,不能小于10
**/
private Integer count;
/**
* 出差申请单号
**/
private String travelNo;
/**
* 订单状态:1 待送审,2 审批中,3 订座中,4 待支付,5 出票中,6 已出票,7 已取消,8 审批拒绝,9 取消中,10 部分退票,11 部分改签,13 全部退票,14 全部改签,15 抢票中,16 抢票失败
**/
private String orderStatus;
/**
* 时间止 格式:yyyy-MM-dd
**/
private String dateEnd;
/**
* 公司支付限制 1只查询公司支付订单 0或空不限制
**/
private Integer payCompanyFlag;
/**
* 当前页数,不能小于1
**/
private Integer pageNum;
}
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 TrainOrderBookPassengerBean extends BaseModel {
/**
* 乘客姓名
**/
private String passengerName;
/**
* 员工id
**/
private String empId;
/**
* 证件类型 1:二代身份证2:一代身份证C:港澳通行证G:台湾通行证B:护照
**/
private String idType;
/**
* 国籍
**/
private String nation;
/**
* 证件号
**/
private String idCode;
/**
* 性别M男;F女
**/
private String sex;
/**
* 出生日期
**/
private String born;
/**
* 车票类型 1成人票2儿童票3学生票4残军票
**/
private String ticketType;
/**
* 附属员工id 只有附属员工的时候 才需要输入
**/
private String fsEmpId;
/**
* 证件有效截止日期
**/
private String expiryDate;
/**
* 乘车人类型1、成人;2儿童
**/
private String passengerType;
/**
* 手机号
**/
private String phoneNumber;
/**
* 乘客邮箱
**/
private String email;
}
package org.dromara.common.ys.model.req.train;
import org.dromara.common.ys.model.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TrainSetCheckAccountDTOModel extends BaseModel {
/**
* 返回数据
**/
private String sameReturn;
/**
* 12306用户信息
**/
private CheckAccountReqModel trainAccount;
}
package org.dromara.common.ys.model.res.airport;
import org.dromara.common.ys.model.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class CancelOrderModel extends BaseModel {
/**
* 订单编号
**/
private String orderNo;
/**
* 取消原因
**/
private String cancelReason;
}
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;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class FlightStopInfoBean extends BaseModel {
/**
* 抵达时间
**/
private String arriveTime;
/**
* 经停机场三字码名称
**/
private String airportName;
/**
* 起飞时间
**/
private String departTime;
/**
* 经停城市名称
**/
private String cityName;
/**
* 经停机场三字码
**/
private String airport;
}
package org.dromara.common.ys.model.res.airport;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.List;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class QueryFlightStopVOModel {
/**
* 到达时间
**/
private String arriveTime;
/**
* 机场三字码
**/
private String departAirport;
/**
* 起飞城市名称
**/
private String departCityName;
/**
* 到达机场三字码
**/
private String arriveAirport;
/**
* 经停信息
**/
private List<FlightStopInfoBean> stopList;
/**
* 航班号
**/
private String flightNo;
/**
* 起飞时间
**/
private String departTime;
/**
* 到达机场名称
**/
private String arriveAirportName;
/**
* 到达日期
**/
private String arriveDate;
/**
* 起飞日期
**/
private String departDate;
/**
* 起飞机场名称
**/
private String departAirportName;
/**
* 到达城市名称
**/
private String arriveCityName;
}
package org.dromara.common.ys.model.res.train;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class CheckAccountResModel {
/**
* 用户名
**/
private String userName;
/**
* 核验结果(0:通过;1:未通过;, position = 20)
**/
private Integer isPass;
}
package org.dromara.common.ys.model.res.train;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class OrderBookResModel {
/**
* 订单id
**/
private String orderId;
}
package org.dromara.common.ys.model.res.train;
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 OrderListQueryResModel extends BaseModel {
/**
* 预定时间 格式:yyyy-MM-dd HH:mm:ss
**/
private String bookDate;
/**
* 订单编号
**/
private String orderNo;
/**
* 乘车人多乘车人使用“,”分割
**/
private String passengerNames;
/**
* 订单状态:00,等待订座;10,已订座;19,已调度;11,出票中;13,取消中;21,已出票;30,客户消;31,系统消;40,已完成;41,反冲待完成;50,已申请;51,抢票中;52,抢票取消;
**/
private String orderStatus;
/**
* 车次
**/
private String trainCode;
/**
* 预订人名称
**/
private String bookerName;
/**
* 列车编号
**/
private String trainNo;
/**
* 出发星期
**/
private String fromWeek;
/**
* 出发日期
**/
private String fromDate;
/**
* 订单状态名称
**/
private String orderStatusName;
/**
* 订单总金额
**/
private BigDecimal totalAmount;
/**
* 差旅类型 1因公 2因私
**/
private Integer tripType;
/**
* 席别9:商务座P:特等座M:一等座 DM:卧代一等座 O:二等座/无座 DO:卧代二等座 6:高级软卧4:软卧3:硬卧2:软座 D2:软卧代软座 1:硬座/无座 D1:硬卧代硬座
**/
private String seatType;
/**
* 预定人工号
**/
private String bookerNo;
/**
* 出发时刻
**/
private String fromTime;
/**
* 平台状态:00,等待订座;10,已订座;11,出票中;12,出票失败;13,取消中;14,取消失败;20,已出票;30,已取消;31,拒单;32,过期取消;
**/
private String purchaseStatus;
/**
* 出票时间 格式:yyyy-MM-dd HH:mm:ss
**/
private String drawDate;
}
...@@ -4,6 +4,8 @@ package org.dromara.common.ys.service; ...@@ -4,6 +4,8 @@ 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.*; import org.dromara.common.ys.model.req.airport.*;
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.res.airport.CancelOrderModel;
import org.dromara.common.ys.model.res.airport.QueryFlightStopVOModel;
import java.util.List; import java.util.List;
...@@ -66,4 +68,21 @@ public interface IAirportService { ...@@ -66,4 +68,21 @@ public interface IAirportService {
*/ */
org.dromara.common.ys.model.res.airport.QueryTkOrderModel detail(String userId, QueryTkOrderModel model); org.dromara.common.ys.model.res.airport.QueryTkOrderModel detail(String userId, QueryTkOrderModel model);
/**
* 取消订单
*
* @param userId 用户id
* @param model 取消参数
*/
void cancelOrder(String userId, CancelOrderModel model);
/**
* 获取经停信息
*
* @param userId 用户id
* @param model 查询参数
* @return 查询结果
*/
QueryFlightStopVOModel queryFlightStop(String userId, QueryFlightStopDTOModel model);
} }
package org.dromara.common.ys.service; package org.dromara.common.ys.service;
import org.dromara.common.ys.common.PageInfo;
import org.dromara.common.ys.model.req.train.QueryModel; import org.dromara.common.ys.model.req.train.QueryModel;
import org.dromara.common.ys.model.req.train.OrderBookReqModel;
import org.dromara.common.ys.model.req.train.OrderListQueryModel;
import org.dromara.common.ys.model.req.train.TrainSetCheckAccountDTOModel;
import org.dromara.common.ys.model.res.train.AllStationModel; import org.dromara.common.ys.model.res.train.AllStationModel;
import org.dromara.common.ys.model.res.train.OrderBookResModel;
import org.dromara.common.ys.model.res.train.OrderListQueryResModel;
import org.dromara.common.ys.model.res.train.CheckAccountResModel;
import java.util.List; import java.util.List;
...@@ -28,4 +35,31 @@ public interface ITrainService { ...@@ -28,4 +35,31 @@ public interface ITrainService {
*/ */
List<AllStationModel> getAllStation(String userId); List<AllStationModel> getAllStation(String userId);
/**
* 校验12306账号是否可用
*
* @param userId 用户id
* @param model 校验参数
* @return 校验结果
*/
CheckAccountResModel checkAccount(String userId, TrainSetCheckAccountDTOModel model);
/**
* 创建订单
*
* @param userId 用户id
* @param model 创建订单参数
* @return 创建订单结果
*/
OrderBookResModel bookOrder(String userId, OrderBookReqModel model);
/**
* 查询订单列表
*
* @param userId 用户id
* @param model 查询参数
* @return 查询结果
*/
PageInfo<OrderListQueryResModel> orderList(String userId, OrderListQueryModel model);
} }
...@@ -11,6 +11,8 @@ import org.dromara.common.ys.enums.DomainEnum; ...@@ -11,6 +11,8 @@ 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.*; import org.dromara.common.ys.model.req.airport.*;
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.res.airport.CancelOrderModel;
import org.dromara.common.ys.model.res.airport.QueryFlightStopVOModel;
import org.dromara.common.ys.service.IAirportService; import org.dromara.common.ys.service.IAirportService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -126,4 +128,35 @@ public class AirPortServiceImpl implements IAirportService { ...@@ -126,4 +128,35 @@ public class AirPortServiceImpl implements IAirportService {
} }
return JSON.parseObject(res.getData(), org.dromara.common.ys.model.res.airport.QueryTkOrderModel.class); return JSON.parseObject(res.getData(), org.dromara.common.ys.model.res.airport.QueryTkOrderModel.class);
} }
@Override
public QueryFlightStopVOModel queryFlightStop(String userId, QueryFlightStopDTOModel model) {
ApiHttpResponse res = Api.v1(
RequestMethodEnum.POST,
DomainEnum.TEST.getDomain(),
AirportApiEnum.QUERY_FLIGHT_STOP.getUrl(),
userId,
null,
JSON.toJSONString(model)
);
if (!CharSequenceUtil.equals(res.getErrCode(), Code.SUCCESS.getCode())) {
throw new RuntimeException(res.getTips());
}
return JSON.parseObject(res.getData(), QueryFlightStopVOModel.class);
}
@Override
public void cancelOrder(String userId, CancelOrderModel model) {
ApiHttpResponse res = Api.v1(
RequestMethodEnum.POST,
DomainEnum.TEST.getDomain(),
AirportApiEnum.CANCEL_TK_ORDER.getUrl(),
userId,
null,
JSON.toJSONString(model)
);
if (!CharSequenceUtil.equals(res.getErrCode(), Code.SUCCESS.getCode())) {
throw new RuntimeException(res.getTips());
}
}
} }
...@@ -6,10 +6,13 @@ import com.alibaba.fastjson.JSON; ...@@ -6,10 +6,13 @@ import com.alibaba.fastjson.JSON;
import org.dromara.common.ys.Api; import org.dromara.common.ys.Api;
import org.dromara.common.ys.common.ApiHttpResponse; import org.dromara.common.ys.common.ApiHttpResponse;
import org.dromara.common.ys.common.Code; 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.DomainEnum;
import org.dromara.common.ys.enums.train.TrainApiEnum; import org.dromara.common.ys.enums.train.TrainApiEnum;
import org.dromara.common.ys.model.req.train.AllStationModel; import org.dromara.common.ys.model.req.train.*;
import org.dromara.common.ys.model.req.train.QueryModel; import org.dromara.common.ys.model.res.train.OrderBookResModel;
import org.dromara.common.ys.model.res.train.OrderListQueryResModel;
import org.dromara.common.ys.model.res.train.CheckAccountResModel;
import org.dromara.common.ys.service.ITrainService; import org.dromara.common.ys.service.ITrainService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -55,4 +58,56 @@ public class TrainServiceImpl implements ITrainService { ...@@ -55,4 +58,56 @@ public class TrainServiceImpl implements ITrainService {
} }
return JSON.parseArray(JSON.parseObject(res.getData()).getString("list"), org.dromara.common.ys.model.res.train.AllStationModel.class); return JSON.parseArray(JSON.parseObject(res.getData()).getString("list"), org.dromara.common.ys.model.res.train.AllStationModel.class);
} }
@Override
public CheckAccountResModel checkAccount(String userId, TrainSetCheckAccountDTOModel model) {
ApiHttpResponse res = Api.v1(
com.wenhe.base.base.RequestMethodEnum.POST,
DomainEnum.TEST.getDomain(),
TrainApiEnum.CHECK_ACCOUNT.getUrl(),
userId,
JSON.toJSONString(model)
);
if (!CharSequenceUtil.equals(res.getErrCode(), Code.SUCCESS.getCode())) {
throw new RuntimeException(res.getTips());
}
return JSON.parseObject(JSON.parseObject(res.getData()).toJSONString(), CheckAccountResModel.class);
}
@Override
public OrderBookResModel bookOrder(String userId, OrderBookReqModel model) {
ApiHttpResponse res = Api.v1(
com.wenhe.base.base.RequestMethodEnum.POST,
DomainEnum.TEST.getDomain(),
TrainApiEnum.ORDER_BOOK.getUrl(),
userId,
JSON.toJSONString(model)
);
if (!CharSequenceUtil.equals(res.getErrCode(), Code.SUCCESS.getCode())) {
throw new RuntimeException(res.getTips());
}
return JSON.parseObject(JSON.parseObject(res.getData()).toJSONString(), OrderBookResModel.class);
}
@Override
public PageInfo<OrderListQueryResModel> orderList(String userId, OrderListQueryModel model) {
ApiHttpResponse res = Api.v1(
com.wenhe.base.base.RequestMethodEnum.POST,
DomainEnum.TEST.getDomain(),
TrainApiEnum.QUERY_ORDER_LIST.getUrl(),
userId,
JSON.toJSONString(model)
);
if (!CharSequenceUtil.equals(res.getErrCode(), Code.SUCCESS.getCode())) {
throw new RuntimeException(res.getTips());
}
PageInfo pageInfo = JSON.parseObject(JSON.parseObject(res.getData()).getString("orderQueryListBeanPageInfo"), PageInfo.class);
return PageInfo.builder().build()
.setCount(pageInfo.getCount())
.setMap(pageInfo.getMap())
.setPageNum(pageInfo.getPageNum())
.setPages(pageInfo.getPages())
.setTotal(pageInfo.getTotal())
.setList(JSON.parseArray(JSON.toJSONString(pageInfo.getList()), OrderListQueryResModel.class));
}
} }
...@@ -12,9 +12,12 @@ import org.dromara.common.ys.common.PageInfo; ...@@ -12,9 +12,12 @@ 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.OrderListModel; import org.dromara.common.ys.model.req.airport.OrderListModel;
import org.dromara.common.ys.model.req.airport.QueryFlightStopDTOModel;
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;
import org.dromara.common.ys.model.res.airport.CancelOrderModel;
import org.dromara.common.ys.model.res.airport.QueryFlightModel; import org.dromara.common.ys.model.res.airport.QueryFlightModel;
import org.dromara.common.ys.model.res.airport.QueryFlightStopVOModel;
import org.dromara.common.ys.model.res.airport.QueryTkOrderModel; import org.dromara.common.ys.model.res.airport.QueryTkOrderModel;
import org.dromara.common.ys.model.res.comomResource.AirportModel; import org.dromara.common.ys.model.res.comomResource.AirportModel;
import org.dromara.common.ys.service.IAirportService; import org.dromara.common.ys.service.IAirportService;
...@@ -114,6 +117,16 @@ public class AirportController extends BaseController { ...@@ -114,6 +117,16 @@ public class AirportController extends BaseController {
return R.ok(orderList); return R.ok(orderList);
} }
/**
* 取消订单
*/
@GlobalTransactional(timeoutMills = 600000)
@PostMapping("/cancel")
public R<Boolean> cancel(@RequestBody CancelOrderModel model) {
airPortService.cancelOrder(getUserId(), model);
return R.ok(true);
}
/** /**
* 订单列表 * 订单列表
*/ */
...@@ -132,4 +145,13 @@ public class AirportController extends BaseController { ...@@ -132,4 +145,13 @@ public class AirportController extends BaseController {
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)); return R.ok(airPortService.detail(getUserId(), model));
} }
/**
* 获取经停信息
*/
@GlobalTransactional(timeoutMills = 600000)
@GetMapping("/queryFlightStop")
public R<QueryFlightStopVOModel> queryFlightStop(QueryFlightStopDTOModel model) {
return R.ok(airPortService.queryFlightStop(getUserId(), model));
}
} }
...@@ -7,18 +7,19 @@ import org.apache.commons.collections4.CollectionUtils; ...@@ -7,18 +7,19 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.redis.utils.RedisUtils; import org.dromara.common.redis.utils.RedisUtils;
import org.dromara.common.ys.common.PageInfo;
import org.dromara.common.ys.constant.TripType; import org.dromara.common.ys.constant.TripType;
import org.dromara.common.ys.model.req.train.QueryModel; import org.dromara.common.ys.model.req.train.*;
import org.dromara.common.ys.model.res.comomResource.CityModel; import org.dromara.common.ys.model.res.comomResource.CityModel;
import org.dromara.common.ys.model.res.train.AllStationModel; import org.dromara.common.ys.model.res.train.AllStationModel;
import org.dromara.common.ys.model.res.train.OrderBookResModel;
import org.dromara.common.ys.model.res.train.OrderListQueryResModel;
import org.dromara.common.ys.model.res.train.CheckAccountResModel;
import org.dromara.common.ys.service.ICommonResourceService; import org.dromara.common.ys.service.ICommonResourceService;
import org.dromara.common.ys.service.ITrainService; import org.dromara.common.ys.service.ITrainService;
import org.dromara.server.base.BaseController; import org.dromara.server.base.BaseController;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.time.Duration; import java.time.Duration;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -170,4 +171,30 @@ public class TrainController extends BaseController { ...@@ -170,4 +171,30 @@ public class TrainController extends BaseController {
return cityList; return cityList;
} }
/**
* 校验12306账号密码
*/
@PostMapping("checkAccount")
public R<CheckAccountResModel> checkAccount(@RequestBody CheckAccountReqModel model) {
return R.ok(trainService.checkAccount(getUserId(), new TrainSetCheckAccountDTOModel().setTrainAccount(model)));
}
/**
* 创建订单
*/
@PostMapping("bookOrder")
public R<OrderBookResModel> bookOrder(@RequestBody OrderBookReqModel model) {
return R.ok(trainService.bookOrder(getUserId(), model));
}
/**
* 订单列表
*/
@GetMapping("orderList")
public R<PageInfo<OrderListQueryResModel>> orderList(OrderListQueryModel model) {
model.setBookNo(getUserId());
return R.ok(trainService.orderList(getUserId(), model));
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论