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
5d1ff3e6
Commit
5d1ff3e6
authored
Sep 06, 2019
by
jiaorz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改提前还车逻辑
parent
c3953a0c
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
61 additions
and
19 deletions
+61
-19
MsgBiz.java
...server/src/main/java/com/xxfc/platform/im/biz/MsgBiz.java
+1
-1
DedDetailDTO.java
.../main/java/com/xxfc/platform/order/pojo/DedDetailDTO.java
+3
-1
OrderVehicleCrosstownBiz.java
...com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
+57
-15
VehicleActiveService.java
...a/com/xxfc/platform/vehicle/biz/VehicleActiveService.java
+0
-2
No files found.
xx-im/xx-im-server/src/main/java/com/xxfc/platform/im/biz/MsgBiz.java
View file @
5d1ff3e6
...
@@ -247,7 +247,7 @@ public class MsgBiz {
...
@@ -247,7 +247,7 @@ public class MsgBiz {
return
praiseVoArrayList
;
return
praiseVoArrayList
;
}
}
public
List
<
CommentVo
>
replaceCommentResult
(
List
<
Comment
>
list
)
{
public
List
<
CommentVo
>
replaceCommentResult
(
List
<
Comment
>
list
)
{
List
<
CommentVo
>
commentVoList
=
new
ArrayList
<>();
List
<
CommentVo
>
commentVoList
=
new
ArrayList
<>();
for
(
Comment
comment
:
list
)
{
for
(
Comment
comment
:
list
)
{
CommentVo
commentVo
=
new
CommentVo
();
CommentVo
commentVo
=
new
CommentVo
();
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/DedDetailDTO.java
View file @
5d1ff3e6
...
@@ -8,7 +8,7 @@ import java.util.List;
...
@@ -8,7 +8,7 @@ import java.util.List;
@Data
@Data
public
class
DedDetailDTO
{
public
class
DedDetailDTO
{
/**
/**
* : 扣除项
* : 扣除项
名称
*/
*/
String
deductions
;
String
deductions
;
...
@@ -34,4 +34,6 @@ public class DedDetailDTO {
...
@@ -34,4 +34,6 @@ public class DedDetailDTO {
//type对应的中文
//type对应的中文
String
statusName
;
String
statusName
;
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
View file @
5d1ff3e6
...
@@ -18,6 +18,7 @@ import com.xxfc.platform.order.contant.enumerate.DepositRefundStatus;
...
@@ -18,6 +18,7 @@ import com.xxfc.platform.order.contant.enumerate.DepositRefundStatus;
import
com.xxfc.platform.order.contant.enumerate.OrderStatusEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderStatusEnum
;
import
com.xxfc.platform.order.entity.*
;
import
com.xxfc.platform.order.entity.*
;
import
com.xxfc.platform.order.mapper.OrderVehicaleCrosstownMapper
;
import
com.xxfc.platform.order.mapper.OrderVehicaleCrosstownMapper
;
import
com.xxfc.platform.order.pojo.DedDetailDTO
;
import
com.xxfc.platform.order.pojo.mq.OrderMQDTO
;
import
com.xxfc.platform.order.pojo.mq.OrderMQDTO
;
import
com.xxfc.platform.order.pojo.order.OrderPageVO
;
import
com.xxfc.platform.order.pojo.order.OrderPageVO
;
import
com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto
;
import
com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto
;
...
@@ -34,11 +35,13 @@ import com.xxfc.platform.vehicle.pojo.VehicleDepartureVo;
...
@@ -34,11 +35,13 @@ import com.xxfc.platform.vehicle.pojo.VehicleDepartureVo;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.map.HashedMap
;
import
org.apache.commons.collections4.map.HashedMap
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.joda.time.DateTime
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.TimeZone
;
import
java.util.TimeZone
;
...
@@ -254,7 +257,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
...
@@ -254,7 +257,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
BigDecimal
amount
=
new
BigDecimal
(
cost
.
toString
()).
divide
(
new
BigDecimal
(
"1"
),
2
,
BigDecimal
.
ROUND_UP
);
BigDecimal
amount
=
new
BigDecimal
(
cost
.
toString
()).
divide
(
new
BigDecimal
(
"1"
),
2
,
BigDecimal
.
ROUND_UP
);
orderVehicleCrosstownDto
.
setDeductionCost
(
amount
);
orderVehicleCrosstownDto
.
setDeductionCost
(
amount
);
//扣除费用
//扣除费用
orderVehicleCrosstownDto
.
setRestDeposit
(
orderRentVehicleDetail
.
getDeposit
().
subtract
(
amount
));
orderVehicleCrosstownDto
.
setRestDeposit
(
orderRentVehicleDetail
.
getDeposit
().
subtract
(
orderVehicleCrosstownDto
.
getDeductionCost
()
));
if
(
orderVehicleCrosstownDto
.
getRestDeposit
().
compareTo
(
getAmount
())
==
-
1
)
{
//剩余金额小于保证金
if
(
orderVehicleCrosstownDto
.
getRestDeposit
().
compareTo
(
getAmount
())
==
-
1
)
{
//剩余金额小于保证金
return
ObjectRestResponse
.
createFailedResult
(
500
,
"押金不足,不能交车,请联系客服!"
);
return
ObjectRestResponse
.
createFailedResult
(
500
,
"押金不足,不能交车,请联系客服!"
);
}
}
...
@@ -289,7 +292,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
...
@@ -289,7 +292,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
BigDecimal
totalAmount
=
new
BigDecimal
(
0
);
BigDecimal
totalAmount
=
new
BigDecimal
(
0
);
ObjectRestResponse
<
OrderPageVO
>
objectRestResponse
=
baseOrderBiz
.
getOrderDetail
(
baseOrder
.
getNo
());
ObjectRestResponse
<
OrderPageVO
>
objectRestResponse
=
baseOrderBiz
.
getOrderDetail
(
baseOrder
.
getNo
());
if
(
objectRestResponse
.
getData
()
!=
null
&&
objectRestResponse
.
getData
().
getOrderRentVehicleDetail
()
!=
null
)
{
if
(
objectRestResponse
.
getData
()
!=
null
&&
objectRestResponse
.
getData
().
getOrderRentVehicleDetail
()
!=
null
)
{
//总押金
-保留金
//总押金
totalAmount
=
objectRestResponse
.
getData
().
getOrderRentVehicleDetail
().
getDeposit
();
totalAmount
=
objectRestResponse
.
getData
().
getOrderRentVehicleDetail
().
getDeposit
();
}
}
...
@@ -313,19 +316,47 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
...
@@ -313,19 +316,47 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
orderRentVehicleBiz
.
updateSelectiveByIdRe
(
orderRentVehicleDetail
);
orderRentVehicleBiz
.
updateSelectiveByIdRe
(
orderRentVehicleDetail
);
baseOrderBiz
.
sendOrderMq
(
orderRentVehicleDetail
,
null
,
null
,
baseOrder
,
OrderMQDTO
.
ORDER_FINISH
);
baseOrderBiz
.
sendOrderMq
(
orderRentVehicleDetail
,
null
,
null
,
baseOrder
,
OrderMQDTO
.
ORDER_FINISH
);
}
else
if
(
orderVehicleCrosstown
.
getType
()
==
CrosstownTypeEnum
.
FIXED_LOSS
.
getCode
())
{
//定损还车,添加定损记录
}
else
if
(
orderVehicleCrosstown
.
getType
()
==
CrosstownTypeEnum
.
FIXED_LOSS
.
getCode
())
{
//定损还车,添加定损记录
//添加定损记录
//提前还车,结束时间大于当前时间
DepositRefundRecord
depositRefundRecord
=
new
DepositRefundRecord
();
DateTime
nowTime
=
DateTime
.
now
();
depositRefundRecord
.
setAmount
(
orderVehicleCrosstown
.
getDeductionCost
());
DateTime
endTime
=
new
DateTime
(
orderRentVehicleDetail
.
getEndTime
());
depositRefundRecord
.
setRestAmount
(
totalAmount
.
subtract
(
getAmount
()).
subtract
(
orderVehicleCrosstown
.
getDeductionCost
()));
DateTime
startTime
=
new
DateTime
(
orderRentVehicleDetail
.
getStartTime
());
depositRefundRecord
.
setTotalAmount
(
totalAmount
.
subtract
(
getAmount
()));
//实际预定的天数
depositRefundRecord
.
setCrosstownId
(
orderVehicleCrosstown
.
getId
());
int
actualDay
=
getDaysBetweenDateTime
(
startTime
,
endTime
);
orderDepositRefundRecordBiz
.
saveFixLossRecord
(
depositRefundRecord
);
if
(
orderRentVehicleDetail
.
getEndTime
()
>
nowTime
.
getMillis
())
{
//修改訂單狀態為定損
//提前的天数
baseOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_FIXED_LOSS
.
getCode
());
int
noUsedDay
=
getDaysBetweenDateTime
(
nowTime
,
endTime
);
baseOrderBiz
.
updateSelectiveByIdReT
(
baseOrder
);
//退还未使用的天数,或者金额,扣除违约金,实际未使用天数的金额,最多3000元
orderRentVehicleDetail
.
setFixedLossStatus
(
1
);
orderRentVehicleBiz
.
updateSelectiveByIdRe
(
orderRentVehicleDetail
);
//延期还车,结束时间小于当前时间
}
}
else
if
(
orderRentVehicleDetail
.
getEndTime
()
<
nowTime
.
getMillis
())
{
//延期的天数, 延期违约金是延期天数*200%
int
usedDay
=
getDaysBetweenDateTime
(
endTime
,
nowTime
);
DedDetailDTO
dedDetailDTO
=
new
DedDetailDTO
();
dedDetailDTO
.
setDeductions
(
"违约金:"
);
dedDetailDTO
.
setCost
(
baseOrder
.
getGoodsAmount
().
multiply
(
new
BigDecimal
(
usedDay
)).
multiply
(
new
BigDecimal
(
2
)));
dedDetailDTO
.
setId
(
1
);
dedDetailDTO
.
setStatusIndex
(
1
);
dedDetailDTO
.
setStatusName
(
"延期违约金"
);
dedDetailDTO
.
setType
(
3
);
orderVehicleCrosstown
.
setDedDetail
(
JSONObject
.
toJSONString
(
dedDetailDTO
));
BigDecimal
restDeposit
=
orderVehicleCrosstown
.
getRestDeposit
().
subtract
(
dedDetailDTO
.
getCost
());
orderVehicleCrosstown
.
setRestDeposit
(
restDeposit
);
orderVehicleCrosstown
.
setDeductionCost
(
orderVehicleCrosstown
.
getDeductionCost
().
add
(
dedDetailDTO
.
getCost
()));
orderVehicleCrosstownBiz
.
updateSelectiveByIdRe
(
orderVehicleCrosstown
);
}
}
//添加定损记录
DepositRefundRecord
depositRefundRecord
=
new
DepositRefundRecord
();
depositRefundRecord
.
setAmount
(
orderVehicleCrosstown
.
getDeductionCost
());
depositRefundRecord
.
setRestAmount
(
totalAmount
.
subtract
(
getAmount
()).
subtract
(
orderVehicleCrosstown
.
getDeductionCost
()));
depositRefundRecord
.
setTotalAmount
(
totalAmount
.
subtract
(
getAmount
()));
depositRefundRecord
.
setCrosstownId
(
orderVehicleCrosstown
.
getId
());
orderDepositRefundRecordBiz
.
saveFixLossRecord
(
depositRefundRecord
);
//修改訂單狀態為定損
baseOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_FIXED_LOSS
.
getCode
());
baseOrderBiz
.
updateSelectiveByIdReT
(
baseOrder
);
orderRentVehicleDetail
.
setFixedLossStatus
(
1
);
orderRentVehicleBiz
.
updateSelectiveByIdRe
(
orderRentVehicleDetail
);
}
else
if
(
baseOrder
.
getStatus
()
==
OrderStatusEnum
.
ORDER_FIXED_LOSS
.
getCode
())
{
//定损后还车
}
else
if
(
baseOrder
.
getStatus
()
==
OrderStatusEnum
.
ORDER_FIXED_LOSS
.
getCode
())
{
//定损后还车
DepositRefundRecord
depositRefundRecord
=
orderDepositRefundRecordBiz
.
findByCrossIdAndStatus
(
orderVehicleCrosstown
.
getId
(),
DepositRefundStatus
.
FIXLOSSREFUND
.
getCode
());
DepositRefundRecord
depositRefundRecord
=
orderDepositRefundRecordBiz
.
findByCrossIdAndStatus
(
orderVehicleCrosstown
.
getId
(),
DepositRefundStatus
.
FIXLOSSREFUND
.
getCode
());
if
(
depositRefundRecord
!=
null
)
{
if
(
depositRefundRecord
!=
null
)
{
...
@@ -354,6 +385,8 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
...
@@ -354,6 +385,8 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
}
}
}
//添加订单驾驶人信息
public
void
getOrderLicense
(
OrderVehicleCrosstownDto
orderVehicleCrosstownDto
)
{
public
void
getOrderLicense
(
OrderVehicleCrosstownDto
orderVehicleCrosstownDto
)
{
if
(
StringUtils
.
isNotBlank
(
orderVehicleCrosstownDto
.
getLicenseIdCard
()))
{
if
(
StringUtils
.
isNotBlank
(
orderVehicleCrosstownDto
.
getLicenseIdCard
()))
{
OrderUserLicense
orderUserLicense
=
new
OrderUserLicense
();
OrderUserLicense
orderUserLicense
=
new
OrderUserLicense
();
...
@@ -382,4 +415,13 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
...
@@ -382,4 +415,13 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
}
return
false
;
return
false
;
}
}
//获取两个日期之间的天数
public
int
getDaysBetweenDateTime
(
DateTime
startDay
,
DateTime
endDay
)
{
int
a
=
0
;
for
(
DateTime
curDate
=
startDay
.
plusDays
(
1
);
curDate
.
compareTo
(
endDay
)
<
0
;
curDate
=
curDate
.
plusDays
(
1
))
{
a
++;
}
return
a
;
}
}
}
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleActiveService.java
View file @
5d1ff3e6
...
@@ -59,7 +59,6 @@ public class VehicleActiveService {
...
@@ -59,7 +59,6 @@ public class VehicleActiveService {
*
*
* @param departureVo
* @param departureVo
*/
*/
@Transactional
public
void
departure
(
VehicleDepartureVo
departureVo
)
{
public
void
departure
(
VehicleDepartureVo
departureVo
)
{
Vehicle
vehicle
=
vehicleMapper
.
selectByPrimaryKey
(
departureVo
.
getVehicleId
());
Vehicle
vehicle
=
vehicleMapper
.
selectByPrimaryKey
(
departureVo
.
getVehicleId
());
if
(
vehicle
==
null
)
{
if
(
vehicle
==
null
)
{
...
@@ -180,7 +179,6 @@ public class VehicleActiveService {
...
@@ -180,7 +179,6 @@ public class VehicleActiveService {
return
stringBuilder
.
toString
();
return
stringBuilder
.
toString
();
}
}
@Transactional
public
void
arrival
(
VehicleArrivalVo
arrivalVo
)
{
public
void
arrival
(
VehicleArrivalVo
arrivalVo
)
{
Vehicle
vehicle
=
vehicleMapper
.
selectByPrimaryKey
(
arrivalVo
.
getVehicleId
());
Vehicle
vehicle
=
vehicleMapper
.
selectByPrimaryKey
(
arrivalVo
.
getVehicleId
());
if
(
vehicle
==
null
)
{
if
(
vehicle
==
null
)
{
...
...
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