Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
youjj
cloud-platform
Commits
c7e48311
Commit
c7e48311
authored
Nov 05, 2019
by
周健威
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改代码
parent
a52c79e4
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
62 additions
and
99 deletions
+62
-99
RabbitConstant.java
...wxiaoqi/security/common/config/rabbit/RabbitConstant.java
+1
-0
RabbitAdminConfig.java
...thub/wxiaoqi/security/admin/config/RabbitAdminConfig.java
+1
-0
WaterMQHandler.java
...github/wxiaoqi/security/admin/handler/WaterMQHandler.java
+9
-1
OrderItem.java
...c/main/java/com/xxfc/platform/order/entity/OrderItem.java
+8
-0
OrderMQDTO.java
...main/java/com/xxfc/platform/order/pojo/mq/OrderMQDTO.java
+3
-0
BaseOrderBiz.java
...c/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
+3
-3
OrderAccountBiz.java
...ain/java/com/xxfc/platform/order/biz/OrderAccountBiz.java
+7
-0
OrderCalculateBiz.java
.../com/xxfc/platform/order/biz/inner/OrderCalculateBiz.java
+21
-13
OrderCancelBiz.java
...ava/com/xxfc/platform/order/biz/inner/OrderCancelBiz.java
+7
-0
OrderRefundController.java
...a/com/xxfc/platform/order/rest/OrderRefundController.java
+2
-82
No files found.
ace-common/src/main/java/com/github/wxiaoqi/security/common/config/rabbit/RabbitConstant.java
View file @
c7e48311
...
...
@@ -28,6 +28,7 @@ public class RabbitConstant {
public
static
final
String
KEY_ORDER_PAY
=
"order.pay"
;
public
static
final
String
KEY_ORDER_FINLISH
=
"order.finlish"
;
public
static
final
String
KEY_ORDER_CANCEL
=
"order.cancel"
;
public
static
final
String
KEY_ORDER_PART_DEPOSIT
=
"order.partDeposit"
;
//钱包
public
static
final
String
KEY_WALLET_ADD
=
"wallet.add"
;
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/config/RabbitAdminConfig.java
View file @
c7e48311
...
...
@@ -36,6 +36,7 @@ public class RabbitAdminConfig extends RabbitCommonConfig {
add
(
new
BindDTO
(
ORDER_WATER_QUEUE
,
ORDER_TOPIC
,
KEY_ORDER_PAY
));
add
(
new
BindDTO
(
ORDER_WATER_QUEUE
,
ORDER_TOPIC
,
KEY_ORDER_FINLISH
));
add
(
new
BindDTO
(
ORDER_WATER_QUEUE
,
ORDER_TOPIC
,
KEY_ORDER_CANCEL
));
add
(
new
BindDTO
(
ORDER_WATER_QUEUE
,
ORDER_TOPIC
,
KEY_ORDER_PART_DEPOSIT
));
add
(
new
BindDTO
(
ORDER_FINLISH_USER_RE_QUEUE
,
ORDER_TOPIC
,
KEY_ORDER_FINLISH
));
//钱包
add
(
new
BindDTO
(
WALLET_ADD_QUEUE
,
ADMIN_TOPIC
,
KEY_WALLET_ADD
));
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/handler/WaterMQHandler.java
View file @
c7e48311
...
...
@@ -63,6 +63,9 @@ public class WaterMQHandler {
case
ORDER_FINISH:
orderWaterDTO
.
setStatus
(
2
);
break
;
case
ORDER_PART_DEPOSIT:
orderWaterDTO
.
setStatus
(
2
);
break
;
case
ORDER_CANCEL:
orderWaterDTO
.
setStatus
(
3
);
break
;
...
...
@@ -71,13 +74,18 @@ public class WaterMQHandler {
}
switch
(
OrderTypeEnum
.
get
(
orderMQDTO
.
getType
()))
{
case
RENT_VEHICLE:
//租车订单finlish不处理,退还第一部分押金后再处理
if
(
orderMQDTO
.
getSign
().
equals
(
ORDER_FINISH
))
{
break
;
}
orderMQDTO
.
getItemByTypeEnum
(
ItemTypeEnum
.
VEHICLE_MODEL
);
orderWaterDTO
.
setGoodsDTOList
(
new
ArrayList
<
OrderGoodsDTO
>()
{{
add
(
new
OrderGoodsDTO
()
{{
setGoodId
(
orderMQDTO
.
getOrderRentVehicleDetail
().
getModelId
());
setGoodNumber
(
1
);
setImg
(
orderMQDTO
.
getPicture
());
setPrice
(
orderMQDTO
.
getItemByTypeEnum
(
ItemTypeEnum
.
VEHICLE_MODEL
).
get
Real
Amount
());
setPrice
(
orderMQDTO
.
getItemByTypeEnum
(
ItemTypeEnum
.
VEHICLE_MODEL
).
get
Last
Amount
());
setTitle
(
orderMQDTO
.
getName
());
setType
(
OrderGoodsDTO
.
TYPE_RENT
);
}});
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderItem.java
View file @
c7e48311
...
...
@@ -137,6 +137,10 @@ public class OrderItem implements Serializable {
@ApiModelProperty
(
value
=
"描述、详情"
)
private
String
detail
;
@Column
(
name
=
"change_amount"
)
@ApiModelProperty
(
value
=
"下单后导致改变的价格"
)
private
BigDecimal
changeAmount
;
public
Integer
getCalculateNum
()
{
return
buyNum
-
cutNum
;
...
...
@@ -176,4 +180,8 @@ public class OrderItem implements Serializable {
public
BigDecimal
getTotalAmount
()
{
return
realAmount
.
add
(
couponAmount
);
}
public
BigDecimal
getLastAmount
()
{
return
realAmount
.
add
(
changeAmount
);
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/mq/OrderMQDTO.java
View file @
c7e48311
...
...
@@ -15,6 +15,7 @@ public class OrderMQDTO extends BaseOrder implements OrderItemInter {
public
static
final
int
ORDER_CANCEL
=
2
;
public
static
final
int
ORDER_PAY
=
4
;
public
static
final
int
ORDER_FINISH
=
6
;
public
static
final
int
ORDER_PART_DEPOSIT
=
101
;
OrderRentVehicleDetail
orderRentVehicleDetail
;
...
...
@@ -42,6 +43,8 @@ public class OrderMQDTO extends BaseOrder implements OrderItemInter {
* 4--已支付"
*
* 6--已完成
*
* 101--部分押金退还
*/
Integer
sign
;
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
View file @
c7e48311
...
...
@@ -745,15 +745,15 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
switch
(
sign
)
{
case
2
:
sendMsgDTO
.
setRoutKey
(
KEY_ORDER_CANCEL
);
// mqSenderFeign.sendMessage(ORDER_TOPIC, KEY_ORDER_CANCEL, JSONUtil.toJsonStr(orderMQDTO));
break
;
case
4
:
sendMsgDTO
.
setRoutKey
(
KEY_ORDER_PAY
);
// mqSenderFeign.sendMessage(ORDER_TOPIC, KEY_ORDER_PAY, JSONUtil.toJsonStr(orderMQDTO));
break
;
case
6
:
sendMsgDTO
.
setRoutKey
(
KEY_ORDER_FINLISH
);
// mqSenderFeign.sendMessage(ORDER_TOPIC, KEY_ORDER_FINLISH, JSONUtil.toJsonStr(orderMQDTO));
break
;
case
101
:
sendMsgDTO
.
setRoutKey
(
KEY_ORDER_PART_DEPOSIT
);
break
;
default
:
break
;
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderAccountBiz.java
View file @
c7e48311
...
...
@@ -470,6 +470,13 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
orderMQDTO
.
setOrderRentVehicleDetail
(
orderRentVehicleBiz
.
selectById
(
orderMQDTO
.
getDetailId
()));
//根据商品消费金额 设置changeAmount
vehicleItemDTO
.
setChangeAmount
(
inProgressVO
.
getConsumeAmount
().
subtract
(
vehicleItemDTO
.
getRealAmount
()));
orderItemBiz
.
updateSelectiveByIdRe
(
vehicleItemDTO
);
//发送押金退还完成队列消息
baseOrderBiz
.
sendOrderMq
(
orderMQDTO
.
getOrderRentVehicleDetail
(),
null
,
null
,
orderMQDTO
,
OrderMQDTO
.
ORDER_CANCEL
);
//捕捉异常
try
{
orderMsgBiz
.
handelMsgDeposit
(
orderMQDTO
.
getOrderRentVehicleDetail
(),
orderMQDTO
,
userFeign
.
userDetailById
(
orderMQDTO
.
getUserId
()).
getData
());
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/inner/OrderCalculateBiz.java
View file @
c7e48311
...
...
@@ -87,6 +87,8 @@ public class OrderCalculateBiz {
public
InProgressVO
inProgressCalculate
(
BaseOrder
baseOrder
,
VehicleItemDTO
vehicleItemDTO
,
Integer
freeDays
,
Integer
useDays
,
OrderAccountDetail
oad
,
Boolean
isCancel
)
{
BigDecimal
refundAmount
=
BigDecimal
.
ZERO
;
BigDecimal
consumeAmount
=
BigDecimal
.
ZERO
;
BigDecimal
topViolateAmount
=
BigDecimal
.
ZERO
;
BigDecimal
itemChangeAmount
=
BigDecimal
.
ZERO
;
//融入日期价格
List
<
VehicleModelCalendarPriceDTO
>
vmcpds
=
JSONUtil
.
toList
(
JSONUtil
.
parseArray
(
vehicleItemDTO
.
getDetail
()),
VehicleModelCalendarPriceDTO
.
class
);
...
...
@@ -203,7 +205,7 @@ public class OrderCalculateBiz {
residueAmount
=
residueAmount
.
add
(
vmcpds
.
get
(
i
).
getPrice
());
}
String
violateDesc
=
StrUtil
.
format
(
"{}元"
,
residueAmount
.
toString
());
if
(
residueDays
>
2
)
{
if
(
residueDays
>
=
2
)
{
residueDays
=
2
;
residueAmount
=
BigDecimal
.
ZERO
;
for
(
int
i
=
useDays
;
i
<
(
useDays
+
residueDays
+
1
);
i
++)
{
...
...
@@ -216,6 +218,7 @@ public class OrderCalculateBiz {
OrderAccountDeduction
violateDeduction
=
orderAccountBiz
.
initDeduction
(
inProgressVO
.
getViolateAmount
(),
violateDesc
,
DeductionTypeEnum
.
VIOLATE_ADVANCE
,
OrderAccountDeduction
.
ORIGIN_DEPOSIT
);
oad
.
getDeductions
().
add
(
violateDeduction
);
}
else
if
(
residueDays
<
0
&&
!
isCancel
){
//isCancel 表示是否为取消,取消则不计算延期还车(因为没有出车)
//设置消耗费用列表
useAmountList
.
addAll
(
Convert
.
toList
(
VMCalendarPriceCostDTO
.
class
,
vmcpds
));
//如果订单 出发中 或者 已完成 或者定损中
...
...
@@ -311,8 +314,6 @@ public class OrderCalculateBiz {
public
OrderRefundPriceVO
getPriceCalculate
(
String
no
,
OrderPageVO
orderPageVO
)
{
//根据no 查订单
OrderTypeEnum
orderTypeEnum
=
OrderTypeEnum
.
get
(
orderPageVO
.
getType
());
BigDecimal
totalRefundAmount
=
BigDecimal
.
ZERO
;
...
...
@@ -324,22 +325,24 @@ public class OrderCalculateBiz {
switch
(
orderTypeEnum
)
{
case
RENT_VEHICLE:
DateTime
nowTime
=
DateTime
.
parse
(
DateTime
.
now
().
toString
(
CommonConstants
.
YMR_SLASH_FORMATTER_JODA
),
CommonConstants
.
YMR_SLASH_FORMATTER_JODA
);
DateTime
startTime
=
DateTime
.
parse
(
new
DateTime
(
orderPageVO
.
getOrderRentVehicleDetail
().
getStartTime
()).
toString
(
CommonConstants
.
YMR_SLASH_FORMATTER_JODA
),
CommonConstants
.
YMR_SLASH_FORMATTER_JODA
);
DateTime
endTime
=
DateTime
.
parse
(
new
DateTime
(
orderPageVO
.
getOrderRentVehicleDetail
().
getEndTime
()).
toString
(
CommonConstants
.
YMR_SLASH_FORMATTER_JODA
),
CommonConstants
.
YMR_SLASH_FORMATTER_JODA
);
Long
timeLag
=
orderPageVO
.
getOrderRentVehicleDetail
().
getStartTime
()
-
System
.
currentTimeMillis
();
OrderItem
vehicleItem
=
orderItemBiz
.
selectOne
(
new
OrderItem
(){{
VehicleItemDTO
vehicleItemDTO
=
BeanUtil
.
toBean
(
orderItemBiz
.
selectOne
(
new
OrderItem
(){{
setType
(
ItemTypeEnum
.
VEHICLE_MODEL
.
getCode
());
setOrderId
(
orderPageVO
.
getId
());
}});
topAmount
=
vehicleItem
.
getUnitPrice
().
multiply
(
new
BigDecimal
(
2
+
""
));
}}),
VehicleItemDTO
.
class
);
//融入日期价格
List
<
VehicleModelCalendarPriceDTO
>
vmcpds
=
JSONUtil
.
toList
(
JSONUtil
.
parseArray
(
vehicleItemDTO
.
getDetail
()),
VehicleModelCalendarPriceDTO
.
class
);
if
(
timeLag
<
0
)
{
Integer
useDays
=
getIncludeDays
(
orderPageVO
.
getOrderRentVehicleDetail
().
getStartTime
(),
DateTime
.
now
().
getMillis
());
OrderAccountDetail
oad
=
new
OrderAccountDetail
();
Integer
freeDays
=
(
null
==
vehicleItem
.
getCutNum
())?
0
:
vehicleItem
.
getCutNum
();
//inProgressVO = inProgressCalculate(orderPageVO, vehicleItem, freeDays, baseOrderBiz.getDaysBetweenDateTime(startTime, nowTime), new OrderAccountDetail(), Boolean.FALSE);
Integer
freeDays
=
(
null
==
vehicleItemDTO
.
getCutNum
())?
0
:
vehicleItemDTO
.
getCutNum
();
inProgressVO
=
inProgressCalculate
(
orderPageVO
,
vehicleItemDTO
,
freeDays
,
useDays
,
new
OrderAccountDetail
(),
Boolean
.
FALSE
);
topAmount
=
vehicleItemDTO
.
getTopAmount
(
useDays
);
totalDeductAmount
=
oad
.
realTotalDeduct
();
totalRefundAmount
=
oad
.
getOrderAmount
().
add
(
oad
.
getDepositAmount
());
refundDesc
=
inProgressVO
.
getViolateDesc
();
...
...
@@ -347,11 +350,12 @@ public class OrderCalculateBiz {
String
key
=
RENT_REFUND
;
BigDecimal
deductionAmount
=
orderAccountBiz
.
calculateDeduction
(
vehicleItem
.
getBuyAmount
()
BigDecimal
deductionAmount
=
orderAccountBiz
.
calculateDeduction
(
vehicleItem
DTO
.
getBuyAmount
()
,
orderPageVO
.
getOrderRentVehicleDetail
().
getStartTime
()
-
System
.
currentTimeMillis
()
,
DictionaryKey
.
APP_ORDER
+
"_"
+
key
,
refundDescBuilder
);
topAmount
=
vehicleItemDTO
.
getTopAmount
(
0
);
totalDeductAmount
=
deductionAmount
;
totalRefundAmount
=
orderPageVO
.
getRealAmount
().
subtract
(
deductionAmount
);
refundDesc
=
refundDescBuilder
.
toString
();
...
...
@@ -377,13 +381,13 @@ public class OrderCalculateBiz {
BigDecimal
adultItemAmount
=
(
null
==
adultItem
)?
BigDecimal
.
ZERO
:
adultItem
.
getRealAmount
();
BigDecimal
childItemAmount
=
(
null
==
childItem
)?
BigDecimal
.
ZERO
:
childItem
.
getRealAmount
();
topAmount
=
adultItemAmount
.
add
(
childItemAmount
);
BigDecimal
deductionAmount
=
orderAccountBiz
.
calculateDeduction
(
adultItemAmount
.
add
(
childItemAmount
)
,
orderPageVO
.
getOrderTourDetail
().
getStartTime
()
-
System
.
currentTimeMillis
()
,
DictionaryKey
.
APP_ORDER
+
"_"
+
key
,
refundDescBuilder
);
topAmount
=
adultItemAmount
.
add
(
childItemAmount
);
totalDeductAmount
=
deductionAmount
;
totalRefundAmount
=
orderPageVO
.
getRealAmount
().
subtract
(
deductionAmount
);
refundDesc
=
refundDescBuilder
.
toString
();
...
...
@@ -399,4 +403,8 @@ public class OrderCalculateBiz {
orpv
.
setTopAmount
(
topAmount
);
return
orpv
;
}
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
DateTime
.
now
().
getMillis
());
}
}
\ No newline at end of file
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/inner/OrderCancelBiz.java
View file @
c7e48311
...
...
@@ -150,6 +150,9 @@ public class OrderCancelBiz {
Long
timeLag
=
orvd
.
getStartTime
()
-
System
.
currentTimeMillis
();
if
(
timeLag
<
0
)
{
Integer
useDays
=
orderCalculateBiz
.
getIncludeDays
(
orvd
.
getStartTime
(),
System
.
currentTimeMillis
());
if
(
useDays
>
orvd
.
getDayNum
())
{
useDays
=
orvd
.
getUsedDay
();
}
inProgressVO
=
orderCalculateBiz
.
calculateOrderComplete
(
baseOrder
,
orvd
,
oad
,
vehicleItemDTO
,
useDays
,
Boolean
.
TRUE
);
//判断是否修改违约金
...
...
@@ -194,6 +197,10 @@ public class OrderCancelBiz {
//orderTemplateBiz.handleCostDetailExtend(csv);
orvd
.
handelCostDetailExtend
(
csv
);
orderRentVehicleBiz
.
updateSelectiveByIdRe
(
orvd
);
//根据商品消费金额 设置changeAmount
vehicleItemDTO
.
setChangeAmount
(
inProgressVO
.
getConsumeAmount
().
subtract
(
vehicleItemDTO
.
getRealAmount
()));
orderItemBiz
.
updateSelectiveByIdRe
(
vehicleItemDTO
);
}
else
{
// //没到出车时间
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/OrderRefundController.java
View file @
c7e48311
...
...
@@ -73,93 +73,13 @@ public class OrderRefundController extends BaseController<OrderRefundBiz,OrderRe
setLimit
(
1
);
setPage
(
1
);
}}){{
put
(
"no"
,
no
);
}}.
getSuper
()).
get
(
0
);
OrderTypeEnum
orderTypeEnum
=
OrderTypeEnum
.
get
(
orderPageVO
.
getType
());
BigDecimal
totalRefundAmount
=
BigDecimal
.
ZERO
;
BigDecimal
totalDeductAmount
=
BigDecimal
.
ZERO
;
StringBuilder
refundDescBuilder
=
new
StringBuilder
(
""
);
String
refundDesc
=
""
;
InProgressVO
inProgressVO
=
new
InProgressVO
();
switch
(
orderTypeEnum
)
{
case
RENT_VEHICLE:
DateTime
nowTime
=
DateTime
.
parse
(
DateTime
.
now
().
toString
(
CommonConstants
.
YMR_SLASH_FORMATTER_JODA
),
CommonConstants
.
YMR_SLASH_FORMATTER_JODA
);
DateTime
startTime
=
DateTime
.
parse
(
new
DateTime
(
orderPageVO
.
getOrderRentVehicleDetail
().
getStartTime
()).
toString
(
CommonConstants
.
YMR_SLASH_FORMATTER_JODA
),
CommonConstants
.
YMR_SLASH_FORMATTER_JODA
);
DateTime
endTime
=
DateTime
.
parse
(
new
DateTime
(
orderPageVO
.
getOrderRentVehicleDetail
().
getEndTime
()).
toString
(
CommonConstants
.
YMR_SLASH_FORMATTER_JODA
),
CommonConstants
.
YMR_SLASH_FORMATTER_JODA
);
Long
timeLag
=
orderPageVO
.
getOrderRentVehicleDetail
().
getStartTime
()
-
System
.
currentTimeMillis
();
VehicleItemDTO
vehicleItemDTO
=
BeanUtil
.
toBean
(
orderItemBiz
.
selectOne
(
new
OrderItem
(){{
setType
(
ItemTypeEnum
.
VEHICLE_MODEL
.
getCode
());
setOrderId
(
orderPageVO
.
getId
());
}}),
VehicleItemDTO
.
class
);
if
(
timeLag
<
0
)
{
OrderAccountDetail
oad
=
new
OrderAccountDetail
();
Integer
freeDays
=
(
null
==
vehicleItemDTO
.
getCutNum
())?
0
:
vehicleItemDTO
.
getCutNum
();
inProgressVO
=
orderCalculateBiz
.
inProgressCalculate
(
orderPageVO
,
vehicleItemDTO
,
freeDays
,
baseOrderBiz
.
getDaysBetweenDateTime
(
startTime
,
nowTime
),
new
OrderAccountDetail
(),
Boolean
.
FALSE
);
//.inProgressCalculate(orderPageVO, baseOrderBiz.getDaysBetweenDateTime(startTime, nowTime));
totalDeductAmount
=
oad
.
realTotalDeduct
();
totalRefundAmount
=
oad
.
getOrderAmount
().
add
(
oad
.
getDepositAmount
());
refundDesc
=
inProgressVO
.
getViolateDesc
();
}
else
{
String
key
=
RENT_REFUND
;
BigDecimal
deductionAmount
=
orderAccountBiz
.
calculateDeduction
(
vehicleItemDTO
.
getBuyAmount
()
,
orderPageVO
.
getOrderRentVehicleDetail
().
getStartTime
()
-
System
.
currentTimeMillis
()
,
DictionaryKey
.
APP_ORDER
+
"_"
+
key
,
refundDescBuilder
);
totalDeductAmount
=
deductionAmount
;
totalRefundAmount
=
orderPageVO
.
getRealAmount
().
subtract
(
deductionAmount
);
refundDesc
=
refundDescBuilder
.
toString
();
}
break
;
case
TOUR:
//判断是省内还是省外
String
key
=
TOUR_IN_REFUND
;
if
(
SYS_TRUE
.
equals
(
orderPageVO
.
getOrderTourDetail
().
getIsOutside
()))
{
key
=
TOUR_REFUND
;
}
OrderItem
adultItem
=
orderItemBiz
.
selectOne
(
new
OrderItem
(){{
setType
(
ItemTypeEnum
.
TOUR_ADULT
.
getCode
());
setOrderId
(
orderPageVO
.
getId
());
}});
OrderItem
childItem
=
orderItemBiz
.
selectOne
(
new
OrderItem
(){{
setType
(
ItemTypeEnum
.
TOUR_CHILD
.
getCode
());
setOrderId
(
orderPageVO
.
getId
());
}});
BigDecimal
adultItemAmount
=
(
null
==
adultItem
)?
BigDecimal
.
ZERO
:
adultItem
.
getRealAmount
();
BigDecimal
childItemAmount
=
(
null
==
childItem
)?
BigDecimal
.
ZERO
:
childItem
.
getRealAmount
();
BigDecimal
deductionAmount
=
orderAccountBiz
.
calculateDeduction
(
adultItemAmount
.
add
(
childItemAmount
)
,
orderPageVO
.
getOrderTourDetail
().
getStartTime
()
-
System
.
currentTimeMillis
()
,
DictionaryKey
.
APP_ORDER
+
"_"
+
key
,
refundDescBuilder
);
totalDeductAmount
=
deductionAmount
;
totalRefundAmount
=
orderPageVO
.
getRealAmount
().
subtract
(
deductionAmount
);
refundDesc
=
refundDescBuilder
.
toString
();
break
;
default
:
break
;
}
OrderRefundPriceVO
orpv
=
new
OrderRefundPriceVO
();
orpv
.
setRealAmount
(
orderPageVO
.
getRealAmount
());
orpv
.
setRefundAmount
(
totalRefundAmount
);
OrderRefundPriceVO
orpv
=
orderCalculateBiz
.
getPriceCalculate
(
no
,
orderPageVO
);
if
(
orderPageVO
.
getStatus
().
equals
(
OrderStatusEnum
.
ORDER_UNPAY
.
getCode
())
||
orderPageVO
.
getStatus
().
equals
(
OrderStatusEnum
.
ORDER_CRT
.
getCode
())
||
orpv
.
getRefundAmount
().
compareTo
(
BigDecimal
.
ZERO
)
<=
0
)
{
orpv
.
setRefundDesc
(
"是否确定取消订单"
);
}
else
{
orpv
.
setRefundDesc
(
StrUtil
.
format
(
"本次取消操作需要扣除{}元违约金,实际退款金额为{}元,您确定要取消订单吗?"
,
totalDeductAmount
,
totalRefundAmount
));
orpv
.
setRefundDesc
(
StrUtil
.
format
(
"本次取消操作需要扣除{}元违约金,实际退款金额为{}元,您确定要取消订单吗?"
,
orpv
.
getRealAmount
(),
orpv
.
getRefundAmount
()
));
}
return
ObjectRestResponse
.
succ
(
orpv
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment