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
5d37e499
Commit
5d37e499
authored
Oct 18, 2019
by
周健威
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改代码
parent
f6964eb5
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
48 additions
and
23 deletions
+48
-23
OrderItem.java
...c/main/java/com/xxfc/platform/order/entity/OrderItem.java
+15
-0
OrderRentVehicleService.java
.../xxfc/platform/order/service/OrderRentVehicleService.java
+33
-23
No files found.
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderItem.java
View file @
5d37e499
...
...
@@ -2,6 +2,7 @@ package com.xxfc.platform.order.entity;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.Date
;
import
javax.persistence.*
;
...
...
@@ -146,6 +147,20 @@ public class OrderItem implements Serializable {
return
calculateAmount
;
}
public
BigDecimal
calculateVehicleUnitPrice
(
BigDecimal
vehicleAmount
,
BigDecimal
metaVehicleAmount
,
Boolean
isSetRealAmount
)
{
BigDecimal
unitPrice
=
vehicleAmount
.
divide
(
new
BigDecimal
(
getCalculateNum
()+
""
),
2
,
RoundingMode
.
HALF_UP
);
BigDecimal
metaUnitPrice
=
metaVehicleAmount
.
divide
(
new
BigDecimal
(
getCalculateNum
()+
""
),
2
,
RoundingMode
.
HALF_UP
);
if
(
isSetRealAmount
)
{
setRealAmount
(
vehicleAmount
);
}
setUnitPrice
(
unitPrice
);
setMetaUnitPrice
(
metaUnitPrice
);
return
unitPrice
;
}
public
BigDecimal
getBuyAmount
()
{
return
getUnitPrice
().
multiply
(
new
BigDecimal
(
getBuyNum
()
+
""
));
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderRentVehicleService.java
View file @
5d37e499
...
...
@@ -27,7 +27,6 @@ import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import
com.xxfc.platform.order.entity.OrderItem
;
import
com.xxfc.platform.order.entity.OrderTemplate
;
import
com.xxfc.platform.order.pojo.OrderAccompanyDTO
;
import
com.xxfc.platform.order.pojo.order.OrderItemDetailDTO
;
import
com.xxfc.platform.order.pojo.order.RentVehicleBO
;
import
com.xxfc.platform.order.pojo.price.RentVehiclePriceVO
;
import
com.xxfc.platform.universal.constant.DictionaryKey
;
...
...
@@ -222,6 +221,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
BigDecimal
orderAmount
=
BigDecimal
.
ZERO
;
BigDecimal
goodsAmount
=
BigDecimal
.
ZERO
;
BigDecimal
vehicleAmount
=
BigDecimal
.
ZERO
;
BigDecimal
metaVehicleAmount
=
BigDecimal
.
ZERO
;
BigDecimal
driverAmount
=
BigDecimal
.
ZERO
;
BigDecimal
damageSafeAmount
=
BigDecimal
.
ZERO
;
BigDecimal
couponAmount
=
BigDecimal
.
ZERO
;
...
...
@@ -286,27 +286,37 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
String
[]
prices
=
StrUtil
.
isBlank
(
vehicleModel
.
getRentDiscountPrice
())
?
new
String
[]{
vehicleModel
.
getPrice
().
toString
(),
vehicleModel
.
getPrice
().
toString
(),
vehicleModel
.
getPrice
().
toString
()}
:
vehicleModel
.
getRentDiscountPrice
().
split
(
","
);
HandleDiscountDTO
handleDiscountDTO
=
new
HandleDiscountDTO
();
handleDiscountDTO
.
setRebate
(
100
);
handleDiscountDTO
.
setModelAmount
(
vehicleModel
.
getPrice
());
switch
(
MemberEnum
.
getByCode
(
dto
.
getMemberLevel
()))
{
case
NORMAL:
handleDiscountDTO
=
handleDiscount
(
dto
,
vehicleModel
,
prices
,
NORMAL
);
detail
.
getOrder
().
setHasMemberRight
(
SYS_TRUE
);
break
;
case
GOLD:
handleDiscountDTO
=
handleDiscount
(
dto
,
vehicleModel
,
prices
,
GOLD
);
detail
.
getOrder
().
setHasMemberRight
(
SYS_TRUE
);
break
;
case
DIAMOND:
handleDiscountDTO
=
handleDiscount
(
dto
,
vehicleModel
,
prices
,
DIAMOND
);
detail
.
getOrder
().
setHasMemberRight
(
SYS_TRUE
);
break
;
default
:
break
;
// HandleDiscountDTO handleDiscountDTO = new HandleDiscountDTO();
// handleDiscountDTO.setRebate(100);
// handleDiscountDTO.setModelAmount(vehicleModel.getPrice());
// switch (MemberEnum.getByCode(dto.getMemberLevel())) {
// case NORMAL:
// handleDiscountDTO = handleDiscount(dto, vehicleModel, prices, NORMAL);
// detail.getOrder().setHasMemberRight(SYS_TRUE);
// break;
// case GOLD:
// handleDiscountDTO = handleDiscount(dto, vehicleModel, prices, GOLD);
// detail.getOrder().setHasMemberRight(SYS_TRUE);
// break;
// case DIAMOND:
// handleDiscountDTO = handleDiscount(dto, vehicleModel, prices, DIAMOND);
// detail.getOrder().setHasMemberRight(SYS_TRUE);
// break;
// default:
// break;
// }
detail
.
setRebate
(
dto
.
getDiscount
());
// vehicleOrderItem.setUnitPrice(handleDiscountDTO.getModelAmount());
}
//计算价格
if
(
vehicleDayNum
>
0
)
{
for
(
int
i
=
cutDayNum
;
i
<
vmcpds
.
size
();
i
++)
{
vehicleAmount
.
add
(
vmcpds
.
get
(
i
).
getPrice
());
metaVehicleAmount
.
add
(
vmcpds
.
get
(
i
).
getPrice
());
}
detail
.
setRebate
(
handleDiscountDTO
.
getRebate
());
vehicleOrderItem
.
setUnitPrice
(
handleDiscountDTO
.
getModelAmount
()
);
}
else
{
vehicleOrderItem
.
setUnitPrice
(
BigDecimal
.
ZERO
);
}
//如果有使用会员权益或者优惠券,则设置订单已优惠
...
...
@@ -314,8 +324,8 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
detail
.
getOrder
().
setHasDiscount
(
SYS_TRUE
);
}
//
单价 * (购买天数 - 减免天数)
vehicle
Amount
=
vehicleAmount
.
add
(
vehicleOrderItem
.
getCalculateAmount
(
Boolean
.
TRUE
)
);
//
平均单价 = 总价 / 实际消费天数
vehicle
OrderItem
.
calculateVehicleUnitPrice
(
vehicleAmount
,
metaVehicleAmount
,
Boolean
.
TRUE
,
Boolean
.
TRUE
);
if
(
DRIVER_TYPE_COMPANY
.
equals
(
detail
.
getDriverType
()))
{
//计算司机费用
...
...
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