Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
travel-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
cloud
travel-cloud
Commits
7ada05f9
提交
7ada05f9
authored
11月 19, 2024
作者:
hzh
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
火车票功能实现
上级
14a6e1cc
显示空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
615 行增加
和
10 行删除
+615
-10
CancelOrderModel.java
...g/dromara/common/ys/model/req/train/CancelOrderModel.java
+22
-0
OrderQueryModel.java
...rg/dromara/common/ys/model/req/train/OrderQueryModel.java
+21
-0
BusinessInfo.java
...a/org/dromara/common/ys/model/res/train/BusinessInfo.java
+116
-0
OrderInfoModel.java
...org/dromara/common/ys/model/res/train/OrderInfoModel.java
+132
-0
PayInfo.java
...n/java/org/dromara/common/ys/model/res/train/PayInfo.java
+52
-0
RangeInfo.java
...java/org/dromara/common/ys/model/res/train/RangeInfo.java
+81
-0
TicketInfo.java
...ava/org/dromara/common/ys/model/res/train/TicketInfo.java
+118
-0
ITrainService.java
...ain/java/org/dromara/common/ys/service/ITrainService.java
+20
-6
TrainServiceImpl.java
.../org/dromara/common/ys/service/impl/TrainServiceImpl.java
+32
-1
TrainController.java
.../org/dromara/server/controller/train/TrainController.java
+21
-3
没有找到文件。
ruoyi-common/ruoyi-common-ys/src/main/java/org/dromara/common/ys/model/req/train/CancelOrderModel.java
0 → 100644
浏览文件 @
7ada05f9
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
CancelOrderModel
extends
BaseModel
{
/**
* 订单编号
**/
private
String
orderNo
;
}
ruoyi-common/ruoyi-common-ys/src/main/java/org/dromara/common/ys/model/req/train/OrderQueryModel.java
0 → 100644
浏览文件 @
7ada05f9
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
OrderQueryModel
extends
BaseModel
{
/**
* 订单号
**/
private
String
orderNO
;
}
ruoyi-common/ruoyi-common-ys/src/main/java/org/dromara/common/ys/model/res/train/BusinessInfo.java
0 → 100644
浏览文件 @
7ada05f9
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
BusinessInfo
{
/**
* 最后审批时间
**/
private
String
appDatetime
;
/**
* 出差申请单号
**/
private
String
ccsqdNo
;
/**
* 联系人
**/
private
String
link_Man
;
/**
* 成本中心编号
**/
private
String
costCenterNo
;
/**
* 企业代码
**/
private
String
corpCode
;
/**
* 违背事项代码
**/
private
String
violateitemCode
;
/**
* 项目编号
**/
private
String
projectNo
;
/**
* 最后审批人工号
**/
private
String
appUserNo
;
/**
* 最后审批人姓名
**/
private
String
appUserName
;
/**
* 违背原因代码
**/
private
String
reasonCode
;
/**
* 联系手机
**/
private
String
link_mobile
;
/**
* 出差事由
**/
private
String
travelRemark
;
/**
* 企业预订人姓名
**/
private
String
bookerName
;
/**
* 企业简称
**/
private
String
corpName
;
/**
* 审批状态
**/
private
String
appStatus
;
/**
* 联系邮箱
**/
private
String
link_email
;
/**
* 违背事项名称
**/
private
String
violateitem
;
/**
* 企业预订人工号
**/
private
String
bookerNo
;
/**
* 是否违背差旅标准
**/
private
String
isViolate
;
/**
* 成本中心名称
**/
private
String
costCenterName
;
/**
* 低价航班信息
**/
private
String
lowFlightInfo
;
/**
* 审批规则名字
**/
private
String
appRuleName
;
/**
* 差旅类型
**/
private
Integer
businessType
;
/**
* 项目名称
**/
private
String
projectName
;
/**
* 违背原因名称
**/
private
String
reasonDesc
;
}
ruoyi-common/ruoyi-common-ys/src/main/java/org/dromara/common/ys/model/res/train/OrderInfoModel.java
0 → 100644
浏览文件 @
7ada05f9
package
org
.
dromara
.
common
.
ys
.
model
.
res
.
train
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
org.dromara.common.ys.model.res.airport.other.OrderPayInfoBean
;
import
java.math.BigDecimal
;
import
java.util.List
;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
public
class
OrderInfoModel
{
/**
* 张数
**/
private
Integer
ticketNumber
;
/**
* 预订时间
**/
private
String
bookDate
;
/**
* 最晚出票时间 格式yyyy-MM-dd HH:mm:ss
**/
private
String
latePaymentTime
;
/**
* 乘车人
**/
private
String
passengerNames
;
/**
* 支付信息
**/
private
PayInfo
Pay
;
/**
* 订单状态代码
**/
private
String
orderStatus
;
/**
* 12306账号
**/
private
String
trainAccount
;
/**
* 订单状态名称
**/
private
String
orderStatuName
;
/**
* 保险金额
**/
private
BigDecimal
insureAmount
;
/**
* 行程id
**/
private
String
routeId
;
/**
* 是否可凭二代身份证直接进出站 1是 0 否
**/
private
String
isByidcard
;
/**
* 支付信息集合 适用于多科目支付
**/
private
List
<
OrderPayInfoBean
>
payInfoList
;
/**
* 订单合计
**/
private
BigDecimal
orderPrice
;
/**
* 差旅信息
**/
private
BusinessInfo
Business
;
/**
* 订单号
**/
private
String
orderNo
;
/**
* 是否无座
**/
private
String
isNoseat
;
/**
* 票价合计
**/
private
BigDecimal
ticketPrice
;
/**
* 是否可凭二代身份证直接进出站说明
**/
private
String
isByidcardName
;
/**
* 检票口
**/
private
String
ticketEntrance
;
/**
* 保险份数
**/
private
Integer
insureNum
;
/**
* 乘车人List
**/
private
List
<
TicketInfo
>
TrTicketList
;
/**
* 取票单号
**/
private
String
takeTicketCode
;
/**
* 订单出票状态代码
**/
private
String
purchaseStatus
;
/**
* 车票行程info
**/
private
RangeInfo
TrRange
;
/**
* 预订渠道
**/
private
String
orderFrom
;
/**
* 出票时间
**/
private
String
drawDate
;
/**
* 支付状态
**/
private
String
payStatus
;
/**
* 服务费合计
**/
private
BigDecimal
ServiceChargePrice
;
}
ruoyi-common/ruoyi-common-ys/src/main/java/org/dromara/common/ys/model/res/train/PayInfo.java
0 → 100644
浏览文件 @
7ada05f9
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
PayInfo
{
/**
* 支付方式代码
**/
private
String
payMothed
;
/**
* 支付操作人
**/
private
String
payUser
;
/**
* 支付科目代码
**/
private
String
paySubject
;
/**
* 支付方式名称
**/
private
String
payMothedName
;
/**
* 支付卡号
**/
private
String
payBankCard
;
/**
* 支付科目名称
**/
private
String
pay_subjectName
;
/**
* 支付备注
**/
private
String
payRemark
;
/**
* 支付时间
**/
private
String
payDatetime
;
/**
* 支付流水号
**/
private
String
payBillno
;
}
ruoyi-common/ruoyi-common-ys/src/main/java/org/dromara/common/ys/model/res/train/RangeInfo.java
0 → 100644
浏览文件 @
7ada05f9
package
org
.
dromara
.
common
.
ys
.
model
.
res
.
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
RangeInfo
{
/**
* 到达城市名称
**/
private
String
toCityName
;
/**
* 旅行时长
**/
private
String
travelTime
;
/**
* 出发站名称
**/
private
String
fromStationName
;
/**
* 到达日期
**/
private
String
toDate
;
/**
* 到达城市编号
**/
private
String
toCity
;
/**
* 到达站代码
**/
private
String
toStationCode
;
/**
* 车次
**/
private
String
trainCode
;
/**
* 席别名称
**/
private
String
seatTypeName
;
/**
* 出发日期
**/
private
String
fromDate
;
/**
* 到达站名称
**/
private
String
toStationName
;
/**
* 席别代码
**/
private
String
seatType
;
/**
* 出发城市名称
**/
private
String
fromCityName
;
/**
* 出发时刻
**/
private
String
fromTime
;
/**
* 出发站代码
**/
private
String
fromStationCode
;
/**
* 出发城市编号
**/
private
String
fromCity
;
/**
* 到达时刻
**/
private
String
toTime
;
}
ruoyi-common/ruoyi-common-ys/src/main/java/org/dromara/common/ys/model/res/train/TicketInfo.java
0 → 100644
浏览文件 @
7ada05f9
package
org
.
dromara
.
common
.
ys
.
model
.
res
.
train
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.math.BigDecimal
;
/**
* @author hzh
* @date 2024-11-15
**/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
public
class
TicketInfo
{
/**
* 是否发生退票
**/
private
Integer
isReturn
;
/**
* 乘车人姓名
**/
private
String
passengerName
;
/**
* 是否已出票
**/
private
String
isTicket
;
/**
* 国籍
**/
private
String
nation
;
/**
* 证件有效截止日期 yyyy-MM-dd
**/
private
String
expiryDate
;
/**
* 保险金额
**/
private
BigDecimal
insureAmount
;
/**
* 序号
**/
private
String
sequenceNo
;
/**
* 座位号
**/
private
String
seatCode
;
/**
* 票价小计
**/
private
BigDecimal
ticketPriceCount
;
/**
* id 此字段没任何用处
**/
private
String
id
;
/**
* 票号
**/
private
String
ticketCode
;
/**
* 车票明细ID
**/
private
String
ticketID
;
/**
* 服务费
**/
private
BigDecimal
sellServiceCharge
;
/**
* 乘机人所在部门名称
**/
private
String
empDeptName
;
/**
* 乘车人证件类型
**/
private
String
idType
;
/**
* 票价
**/
private
BigDecimal
ticketPrice
;
/**
* 乘车人证件号码
**/
private
String
idCode
;
/**
* 出生日期
**/
private
String
born
;
/**
* 性别M男;F女
**/
private
String
sex
;
/**
* 乘机人工号
**/
private
String
empNo
;
/**
* 乘机人所在部门编号
**/
private
String
empDeptID
;
/**
* 保险份数
**/
private
BigDecimal
insureNum
;
/**
* 乘车人类型
**/
private
Integer
passengerType
;
/**
* 乘车人手机号
**/
private
String
phoneNumber
;
/**
* 是否发生改签
**/
private
Integer
isChange
;
}
ruoyi-common/ruoyi-common-ys/src/main/java/org/dromara/common/ys/service/ITrainService.java
浏览文件 @
7ada05f9
...
...
@@ -3,13 +3,9 @@ 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.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.req.train.*
;
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.model.res.train.*
;
import
java.util.List
;
...
...
@@ -62,4 +58,22 @@ public interface ITrainService {
*/
PageInfo
<
OrderListQueryResModel
>
orderList
(
String
userId
,
OrderListQueryModel
model
);
/**
* 查询订单详情
*
* @param userId 用户id
* @param model 查询参数
* @return 查询结果
*/
OrderInfoModel
detail
(
String
userId
,
OrderQueryModel
model
);
/**
* 取消订单
*
* @param userId 用户id
* @param model 取消订单参数
* @return 取消订单结果
*/
Boolean
cancelOrder
(
String
userId
,
CancelOrderModel
model
);
}
ruoyi-common/ruoyi-common-ys/src/main/java/org/dromara/common/ys/service/impl/TrainServiceImpl.java
浏览文件 @
7ada05f9
...
...
@@ -10,9 +10,10 @@ import org.dromara.common.ys.common.PageInfo;
import
org.dromara.common.ys.enums.DomainEnum
;
import
org.dromara.common.ys.enums.train.TrainApiEnum
;
import
org.dromara.common.ys.model.req.train.*
;
import
org.dromara.common.ys.model.res.train.CheckAccountResModel
;
import
org.dromara.common.ys.model.res.train.OrderBookResModel
;
import
org.dromara.common.ys.model.res.train.OrderInfoModel
;
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.springframework.stereotype.Service
;
...
...
@@ -110,4 +111,34 @@ public class TrainServiceImpl implements ITrainService {
.
setTotal
(
pageInfo
.
getTotal
())
.
setList
(
JSON
.
parseArray
(
JSON
.
toJSONString
(
pageInfo
.
getList
()),
OrderListQueryResModel
.
class
));
}
@Override
public
OrderInfoModel
detail
(
String
userId
,
OrderQueryModel
model
)
{
ApiHttpResponse
res
=
Api
.
v1
(
com
.
wenhe
.
base
.
base
.
RequestMethodEnum
.
POST
,
DomainEnum
.
TEST
.
getDomain
(),
TrainApiEnum
.
QUERY_ORDER
.
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
(),
OrderInfoModel
.
class
);
}
@Override
public
Boolean
cancelOrder
(
String
userId
,
CancelOrderModel
model
)
{
ApiHttpResponse
res
=
Api
.
v1
(
com
.
wenhe
.
base
.
base
.
RequestMethodEnum
.
POST
,
DomainEnum
.
TEST
.
getDomain
(),
TrainApiEnum
.
ORDER_CANCEL
.
getUrl
(),
userId
,
JSON
.
toJSONString
(
model
)
);
if
(!
CharSequenceUtil
.
equals
(
res
.
getErrCode
(),
Code
.
SUCCESS
.
getCode
()))
{
throw
new
RuntimeException
(
res
.
getTips
());
}
return
true
;
}
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/controller/train/TrainController.java
浏览文件 @
7ada05f9
...
...
@@ -9,12 +9,11 @@ import org.dromara.common.core.domain.R;
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.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.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.model.res.train.*
;
import
org.dromara.common.ys.service.ICommonResourceService
;
import
org.dromara.common.ys.service.ITrainService
;
import
org.dromara.server.base.BaseController
;
...
...
@@ -196,5 +195,24 @@ public class TrainController extends BaseController {
return
R
.
ok
(
trainService
.
orderList
(
getUserId
(),
model
));
}
/**
* 订单详情
*/
@GlobalTransactional
(
timeoutMills
=
600000
)
@GetMapping
(
"/orderDetail"
)
public
R
<
OrderInfoModel
>
orderDetail
(
OrderQueryModel
model
)
{
return
R
.
ok
(
trainService
.
detail
(
getUserId
(),
model
));
}
/**
* 取消订单
*/
@GlobalTransactional
(
timeoutMills
=
600000
,
rollbackFor
=
Exception
.
class
)
@PostMapping
(
"/cancel"
)
public
R
<
Boolean
>
cancel
(
@RequestBody
CancelOrderModel
model
)
{
trainService
.
cancelOrder
(
getUserId
(),
model
);
return
R
.
ok
(
true
);
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论