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
0287d6b1
Commit
0287d6b1
authored
Nov 11, 2019
by
hanfeng
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
6cddc5ec
cf7d929e
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
76 additions
and
42 deletions
+76
-42
OrderVehicleCrosstown.java
...com/xxfc/platform/order/entity/OrderVehicleCrosstown.java
+2
-0
CheckUserInfoDto.java
.../com/xxfc/platform/order/pojo/order/CheckUserInfoDto.java
+10
-0
OrderVehicleCrosstownDto.java
...c/platform/order/pojo/order/OrderVehicleCrosstownDto.java
+0
-2
BaseOrderBiz.java
...c/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
+6
-13
OrderAccountBiz.java
...ain/java/com/xxfc/platform/order/biz/OrderAccountBiz.java
+15
-2
OrderVehicleCrosstownBiz.java
...com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
+25
-12
OrderCalculateBiz.java
.../com/xxfc/platform/order/biz/inner/OrderCalculateBiz.java
+2
-2
OrderRefundController.java
...a/com/xxfc/platform/order/rest/OrderRefundController.java
+2
-2
OrderRentVehicleService.java
.../xxfc/platform/order/service/OrderRentVehicleService.java
+9
-4
RentVehicleBookDTO.java
...va/com/xxfc/platform/vehicle/pojo/RentVehicleBookDTO.java
+5
-5
No files found.
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderVehicleCrosstown.java
View file @
0287d6b1
...
...
@@ -136,4 +136,6 @@ public class OrderVehicleCrosstown {
private
Integer
orperaterId
;
private
String
userLicenseImg
;
private
String
checkUserInfo
;
}
\ No newline at end of file
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/order/CheckUserInfoDto.java
0 → 100644
View file @
0287d6b1
package
com
.
xxfc
.
platform
.
order
.
pojo
.
order
;
import
lombok.Data
;
@Data
public
class
CheckUserInfoDto
{
private
Integer
id
;
private
String
username
;
private
String
telephone
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/order/OrderVehicleCrosstownDto.java
View file @
0287d6b1
...
...
@@ -45,9 +45,7 @@ public class OrderVehicleCrosstownDto extends OrderVehicleCrosstown {
List
<
DepositRefundRecord
>
depositRefundRecord
;
private
String
checkUser
;
private
String
checkTel
;
/**
* 操作人
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
View file @
0287d6b1
...
...
@@ -284,7 +284,6 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
}
}
}
//getDaysBetweenDateTimeHasStartEnd(endTime, nowTime) == 1--同一天;>1-- 延后;<1--提前;
/**
* 提前还车
*/
...
...
@@ -293,19 +292,13 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
//提前的天数, 当天就算使用一天
int
noUsedDay
=
actualDay
-
userUsedDay
;
//退还未使用的天数,或者金额,扣除违约金,实际未使用天数的金额,最多3000元
// InProgressVO inProgressVO = new InProgressVO();
// inProgressVO.setViolateAmount(new BigDecimal(200));
// inProgressVO.setExtraAmount(new BigDecimal(200));
InProgressVO
inProgressVO
=
orderCalculateBiz
.
inProgressCalculate
(
orderPageVO
,
userUsedDay
);
if
(
inProgressVO
!=
null
)
{
//消费超额金
if
(
inProgressVO
.
getExtraAmount
()
!=
null
)
{
dedDetailDTO
.
setExcessCost
(
inProgressVO
.
getExtraAmount
());
}
// stringBuilder.append("违约金( ¥");
stringBuilder
.
append
(
"违约金( "
);
// stringBuilder.append(amount);
// stringBuilder.append(" x ");
stringBuilder
.
append
(
noUsedDay
);
stringBuilder
.
append
(
"天) = "
);
stringBuilder
.
append
(
inProgressVO
.
getViolateAmount
());
...
...
@@ -316,21 +309,21 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
*/
}
else
if
(
userUsedDay
-
actualDay
>
0
)
{
StringBuilder
stringBuilder
=
new
StringBuilder
();
// stringBuilder.append("违约金( ¥");
stringBuilder
.
append
(
"违约金( "
);
//延期的天数, 延期违约金是延期天数*200%
InProgressVO
inProgressVO
=
orderCalculateBiz
.
inProgressCalculate
(
orderPageVO
,
userUsedDay
);
if
(
inProgressVO
!=
null
)
{
int
extraUsedDay
=
userUsedDay
-
actualDay
;
if
(
extraUsedDay
>
0
)
{
// stringBuilder.append(amount);
// stringBuilder.append(" x ");
stringBuilder
.
append
(
extraUsedDay
);
stringBuilder
.
append
(
"(天)"
);
stringBuilder
.
append
(
" x 2)"
);
BigDecimal
cost
=
amount
.
multiply
(
new
BigDecimal
(
extraUsedDay
+
""
)).
multiply
(
new
BigDecimal
(
2
+
""
));
stringBuilder
.
append
(
" = "
);
stringBuilder
.
append
(
cost
);
stringBuilder
.
append
(
inProgressVO
.
getViolateAmount
()
);
stringBuilder
.
append
(
"元"
);
initDedDetail
(
dedDetailDTO
,
OrderViolateEnum
.
AFTER
.
getCode
(),
cost
,
stringBuilder
);
initDedDetail
(
dedDetailDTO
,
OrderViolateEnum
.
AFTER
.
getCode
(),
inProgressVO
.
getViolateAmount
(),
stringBuilder
);
}
}
}
JSONArray
jsonArray
=
new
JSONArray
();
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderAccountBiz.java
View file @
0287d6b1
...
...
@@ -388,7 +388,20 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
}}),
VehicleItemDTO
.
class
);
if
(
null
==
crosstown
)
{
throw
new
BaseException
(
ResultCode
.
PARAM_ILLEGAL_CODE
,
Sets
.
newSet
(
StrUtil
.
format
(
"退款第一部分押金失败,获取不了还车/定损记录,订单号:{}, crosstownTypeEnum: {}"
,
orderMQDTO
.
getId
(),
crosstownTypeEnum
)));
//设置等待时间 5秒
try
{
Thread
.
sleep
(
5000L
);
crosstown
=
crosstownBiz
.
selectOne
(
new
OrderVehicleCrosstown
(){{
setOrderId
(
orderMQDTO
.
getId
());
setType
(
crosstownTypeEnum
);
}});
if
(
null
==
crosstown
)
{
throw
new
BaseException
(
ResultCode
.
PARAM_ILLEGAL_CODE
,
Sets
.
newSet
(
StrUtil
.
format
(
"退款第一部分押金失败,获取不了还车/定损记录,订单号:{}, crosstownTypeEnum: {}"
,
orderMQDTO
.
getId
(),
crosstownTypeEnum
)));
}
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
throw
new
BaseException
(
ResultCode
.
PARAM_ILLEGAL_CODE
,
Sets
.
newSet
(
StrUtil
.
format
(
"退款第一部分押金失败,获取不了还车/定损记录,订单号:{}, crosstownTypeEnum: {}"
,
orderMQDTO
.
getId
(),
crosstownTypeEnum
)));
}
}
if
(
null
==
crosstown
.
getRestDeposit
()
...
...
@@ -498,7 +511,7 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
orderItemBiz
.
updateSelectiveByIdRe
(
vehicleItemDTO
);
//发送押金退还完成队列消息
baseOrderBiz
.
sendOrderMq
(
orderMQDTO
.
getOrderRentVehicleDetail
(),
null
,
null
,
orderMQDTO
,
OrderMQDTO
.
ORDER_
CANCEL
);
baseOrderBiz
.
sendOrderMq
(
orderMQDTO
.
getOrderRentVehicleDetail
(),
null
,
null
,
orderMQDTO
,
OrderMQDTO
.
ORDER_
PART_DEPOSIT
);
//捕捉异常
try
{
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
View file @
0287d6b1
...
...
@@ -24,6 +24,7 @@ import com.xxfc.platform.order.entity.*;
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.order.CheckUserInfoDto
;
import
com.xxfc.platform.order.pojo.order.OrderPageVO
;
import
com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto
;
import
com.xxfc.platform.universal.constant.DictionaryKey
;
...
...
@@ -249,6 +250,15 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
}
//添加验车人信息
JSONArray
list
=
new
JSONArray
();
CheckUserInfoDto
checkUserInfoDto
=
null
;
if
(
StringUtils
.
isNotBlank
(
orderVehicleCrosstownDto
.
getCheckUserInfo
()))
{
checkUserInfoDto
=
JSONObject
.
parseObject
(
orderVehicleCrosstownDto
.
getCheckUserInfo
(),
CheckUserInfoDto
.
class
);
if
(
checkUserInfoDto
!=
null
)
{
list
.
add
(
checkUserInfoDto
);
}
}
AppUserDTO
appUserDTO
=
userFeign
.
userDetailById
(
baseOrder
.
getUserId
()).
getData
();
//调用车辆管理的出车还车
//出车
...
...
@@ -258,17 +268,12 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
vehicleDepartureVo
.
setDepartureBranchCompanyId
(
orderRentVehicleDetail
.
getStartCompanyId
());
vehicleDepartureVo
.
setExpectArrivalBranchCompanyId
(
orderRentVehicleDetail
.
getEndCompanyId
());
vehicleDepartureVo
.
setMileage
(
orderVehicleCrosstownDto
.
getMileage
());
if
(
appUserDTO
!=
null
)
{
vehicleDepartureVo
.
setUser
(
appUserDTO
.
getNickname
());
vehicleDepartureVo
.
setUserTel
(
appUserDTO
.
getUsername
());
}
else
{
vehicleDepartureVo
.
setUser
(
"APP用戶"
);
vehicleDepartureVo
.
setUserTel
(
"13656235623"
);
}
vehicleDepartureVo
.
setUse
(
"用户租车"
);
vehicleDepartureVo
.
setBookRecordId
(
orderRentVehicleDetail
.
getBookRecordId
());
vehicleDepartureVo
.
setCheckMan
(
orderVehicleCrosstownDto
.
getCheckUser
());
vehicleDepartureVo
.
setCheckManTel
(
orderVehicleCrosstownDto
.
getCheckTel
());
if
(
checkUserInfoDto
!=
null
)
{
vehicleDepartureVo
.
setCheckMan
(
checkUserInfoDto
.
getUsername
());
vehicleDepartureVo
.
setCheckManTel
(
checkUserInfoDto
.
getTelephone
());
}
try
{
RestResponse
restResponse
=
vehicleFeign
.
departureBySmall
(
vehicleDepartureVo
);
log
.
error
(
"返回信息: "
+
restResponse
.
toString
());
...
...
@@ -280,8 +285,10 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
vehicleArrivalVo
.
setVehicleId
(
orderRentVehicleDetail
.
getVehicleId
());
vehicleArrivalVo
.
setArrivalBranchCompanyId
(
userDTO
.
getCompanyId
());
vehicleArrivalVo
.
setMileage
(
orderVehicleCrosstownDto
.
getMileage
());
vehicleArrivalVo
.
setRecycleMan
(
orderVehicleCrosstownDto
.
getCheckUser
());
vehicleArrivalVo
.
setRecycleManTel
(
orderVehicleCrosstownDto
.
getCheckTel
());
if
(
checkUserInfoDto
!=
null
)
{
vehicleArrivalVo
.
setRecycleMan
(
checkUserInfoDto
.
getUsername
());
vehicleArrivalVo
.
setRecycleManTel
(
checkUserInfoDto
.
getTelephone
());
}
vehicleArrivalVo
.
setBookRecordId
(
orderRentVehicleDetail
.
getBookRecordId
());
try
{
RestResponse
restResponse
=
vehicleFeign
.
arrivalBySmall
(
vehicleArrivalVo
);
...
...
@@ -332,6 +339,11 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
if
(
orderVehicleCrosstownDto
.
getRestDeposit
().
compareTo
(
getAmount
())
==
-
1
)
{
//剩余金额小于保证金
return
ObjectRestResponse
.
createFailedResult
(
500
,
"押金不足,不能交车,请联系客服!"
);
}
JSONArray
jsonArray
=
JSONArray
.
parseArray
(
oldValue
.
get
(
0
).
getCheckUserInfo
());
if
(
jsonArray
!=
null
&&
checkUserInfoDto
!=
null
)
{
jsonArray
.
add
(
checkUserInfoDto
);
orderVehicleCrosstownDto
.
setCheckUserInfo
(
jsonArray
.
toJSONString
());
}
BeanUtil
.
copyProperties
(
orderVehicleCrosstownDto
,
oldValue
.
get
(
0
),
CopyOptions
.
create
().
setIgnoreNullValue
(
true
).
setIgnoreError
(
true
));
getOrderLicense
(
orderVehicleCrosstownDto
);
handleOrderStatus
(
baseOrder
,
orderRentVehicleDetail
,
oldValue
.
get
(
0
),
appUserDTO
);
...
...
@@ -349,6 +361,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
if
(
orderVehicleCrosstownDto
.
getRestDeposit
().
compareTo
(
getAmount
())
==
-
1
)
{
//剩余金额小于保证金
return
ObjectRestResponse
.
createFailedResult
(
500
,
"押金不足,不能交车,请联系客服!"
);
}
orderVehicleCrosstownDto
.
setCheckUserInfo
(
list
.
toJSONString
());
getOrderLicense
(
orderVehicleCrosstownDto
);
orderVehicleCrosstownBiz
.
insertSelective
(
orderVehicleCrosstownDto
);
OrderVehicleCrosstown
orderVehicleCrosstown
=
orderVehicleCrosstownBiz
.
selectOne
(
orderVehicleCrosstownDto
);
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/inner/OrderCalculateBiz.java
View file @
0287d6b1
...
...
@@ -364,8 +364,8 @@ public class OrderCalculateBiz {
,
refundDescBuilder
);
topAmount
=
vehicleItemDTO
.
getTopAmount
(
0
);
totalDeductAmount
=
deductionAmount
;
totalRefundAmount
=
orderPageVO
.
getRealAmount
().
subtract
(
deduction
Amount
);
totalDeductAmount
=
(
topAmount
.
compareTo
(
deductionAmount
)
<
0
)
?
topAmount:
deductionAmount
;
totalRefundAmount
=
orderPageVO
.
getRealAmount
().
subtract
(
totalDeduct
Amount
);
refundDesc
=
refundDescBuilder
.
toString
();
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/OrderRefundController.java
View file @
0287d6b1
...
...
@@ -76,10 +76,10 @@ public class OrderRefundController extends BaseController<OrderRefundBiz,OrderRe
OrderRefundPriceVO
orpv
=
orderCalculateBiz
.
getPriceCalculate
(
no
,
orderPageVO
);
if
(
orderPageVO
.
getStatus
().
equals
(
OrderStatusEnum
.
ORDER_UNPAY
.
getCode
())
||
orderPageVO
.
getStatus
().
equals
(
OrderStatusEnum
.
ORDER_CRT
.
getCode
())
||
orpv
.
get
Refund
Amount
().
compareTo
(
BigDecimal
.
ZERO
)
<=
0
)
{
||
orpv
.
get
Cut
Amount
().
compareTo
(
BigDecimal
.
ZERO
)
<=
0
)
{
orpv
.
setRefundDesc
(
"是否确定取消订单"
);
}
else
{
orpv
.
setRefundDesc
(
StrUtil
.
format
(
"本次取消操作需要扣除{}元违约金,实际退款金额为{}元,您确定要取消订单吗?"
,
orpv
.
get
Real
Amount
(),
orpv
.
getRefundAmount
()));
orpv
.
setRefundDesc
(
StrUtil
.
format
(
"本次取消操作需要扣除{}元违约金,实际退款金额为{}元,您确定要取消订单吗?"
,
orpv
.
get
Cut
Amount
(),
orpv
.
getRefundAmount
()));
}
return
ObjectRestResponse
.
succ
(
orpv
);
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderRentVehicleService.java
View file @
0287d6b1
...
...
@@ -11,7 +11,6 @@ import com.github.wxiaoqi.security.admin.constant.enumerate.MemberEnum;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.common.constant.CommonConstants
;
import
com.github.wxiaoqi.security.common.context.BaseContextHandler
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
...
...
@@ -48,13 +47,16 @@ import org.springframework.stereotype.Service;
import
javax.annotation.PostConstruct
;
import
java.math.BigDecimal
;
import
java.util.*
;
import
java.util.ArrayList
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
static
com
.
github
.
wxiaoqi
.
security
.
admin
.
constant
.
enumerate
.
MemberEnum
.*;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_FALSE
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_TRUE
;
import
static
com
.
xxfc
.
platform
.
order
.
contant
.
enumerate
.
ItemTypeEnum
.
*
;
import
static
com
.
xxfc
.
platform
.
order
.
contant
.
enumerate
.
ItemTypeEnum
.
ACCOMPANY
;
import
static
com
.
xxfc
.
platform
.
universal
.
constant
.
DictionaryKey
.
APP_ORDER
;
@Service
...
...
@@ -499,7 +501,6 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
//根据车型、时间、距离,门店,预定车辆
RentVehicleBookDTO
rentVehicleBookDTO
=
BeanUtil
.
toBean
(
detail
.
getBookVehicleVO
(),
RentVehicleBookDTO
.
class
);
rentVehicleBookDTO
.
setModelId
(
detail
.
getModelId
());
rentVehicleBookDTO
.
setUserName
(
BaseContextHandler
.
getName
());
rentVehicleBookDTO
.
setLiftCompany
(
detail
.
getStartCompanyId
());
rentVehicleBookDTO
.
setLiftAddr
(
detail
.
getStartAddr
());
rentVehicleBookDTO
.
setRetCompany
(
detail
.
getEndCompanyId
());
...
...
@@ -509,6 +510,10 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
rentVehicleBookDTO
.
setNumberPlate
(
numberPlate
);
rentVehicleBookDTO
.
setStatus
(
status
);
rentVehicleBookDTO
.
setUseType
(
detail
.
getUseType
());
if
(
detail
.
getAppUserDTO
()
!=
null
)
{
rentVehicleBookDTO
.
setVehicleUserPhone
(
detail
.
getAppUserDTO
().
getUsername
());
rentVehicleBookDTO
.
setVehicleUsername
(
detail
.
getAppUserDTO
().
getRealname
());
}
if
(
null
!=
detail
.
getAccompanyItems
())
{
rentVehicleBookDTO
.
setSelectedAccItem
(
detail
.
getAccompanyItems
().
parallelStream
().
collect
(
Collectors
.
toMap
(
OrderAccompanyDTO:
:
getId
,
OrderAccompanyDTO:
:
getNum
)));
...
...
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/RentVehicleBookDTO.java
View file @
0287d6b1
...
...
@@ -4,14 +4,9 @@ import com.github.wxiaoqi.security.common.vo.PageParam;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.time.Instant
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.ZoneOffset
;
import
java.util.List
;
import
java.util.Map
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
DATE_TIME_LINE_FORMATTER
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
YMR_SLASH_FORMATTER
;
@Data
...
...
@@ -74,6 +69,11 @@ public class RentVehicleBookDTO extends PageParam {
@ApiModelProperty
(
"用户名"
)
private
String
userName
;
//使用人姓名
private
String
vehicleUsername
;
//使用人电话
private
String
vehicleUserPhone
;
@ApiModelProperty
(
"订单号"
)
private
String
orderNo
;
...
...
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