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
f5385f2f
Commit
f5385f2f
authored
Oct 23, 2019
by
libin
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'holiday-price' into dev
parents
79886bd9
0bcc34e1
Changes
13
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
258 additions
and
58 deletions
+258
-58
TokenAop.java
...m/github/wxiaoqi/security/admin/support/aop/TokenAop.java
+4
-1
OrderItem.java
...c/main/java/com/xxfc/platform/order/entity/OrderItem.java
+3
-14
InProgressVO.java
.../com/xxfc/platform/order/pojo/calculate/InProgressVO.java
+13
-0
VehicleItemDTO.java
...va/com/xxfc/platform/order/pojo/order/VehicleItemDTO.java
+99
-0
CancelStartedVO.java
...a/com/xxfc/platform/order/pojo/price/CancelStartedVO.java
+9
-0
OrderAccountBiz.java
...ain/java/com/xxfc/platform/order/biz/OrderAccountBiz.java
+4
-3
OrderItemBiz.java
...c/main/java/com/xxfc/platform/order/biz/OrderItemBiz.java
+25
-0
OrderCalculateBiz.java
.../com/xxfc/platform/order/biz/inner/OrderCalculateBiz.java
+71
-25
OrderCancelBiz.java
...ava/com/xxfc/platform/order/biz/inner/OrderCancelBiz.java
+8
-10
OrderRefundController.java
...a/com/xxfc/platform/order/rest/OrderRefundController.java
+5
-4
OrderRentVehicleService.java
.../xxfc/platform/order/service/OrderRentVehicleService.java
+2
-1
VehicleModelCalendarPriceDTO.java
...atform/vehicle/pojo/dto/VehicleModelCalendarPriceDTO.java
+1
-0
VMCalendarPriceCostDTO.java
...atform/vehicle/pojo/dto/order/VMCalendarPriceCostDTO.java
+14
-0
No files found.
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/support/aop/TokenAop.java
View file @
f5385f2f
...
@@ -5,6 +5,7 @@ import com.github.wxiaoqi.security.admin.feign.UserFeign;
...
@@ -5,6 +5,7 @@ import com.github.wxiaoqi.security.admin.feign.UserFeign;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.admin.feign.dto.UserDTO
;
import
com.github.wxiaoqi.security.admin.feign.dto.UserDTO
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.aspectj.lang.ProceedingJoinPoint
;
import
org.aspectj.lang.ProceedingJoinPoint
;
import
org.aspectj.lang.annotation.Around
;
import
org.aspectj.lang.annotation.Around
;
...
@@ -32,6 +33,7 @@ import java.util.Objects;
...
@@ -32,6 +33,7 @@ import java.util.Objects;
@Aspect
@Aspect
@Component
@Component
@ConditionalOnClass
(
value
=
UserFeign
.
class
)
@ConditionalOnClass
(
value
=
UserFeign
.
class
)
@Slf4j
public
class
TokenAop
{
public
class
TokenAop
{
...
@@ -54,7 +56,7 @@ public class TokenAop {
...
@@ -54,7 +56,7 @@ public class TokenAop {
public
Object
token
(
ProceedingJoinPoint
proceedingJoinPoint
)
throws
Throwable
{
public
Object
token
(
ProceedingJoinPoint
proceedingJoinPoint
)
throws
Throwable
{
HttpServletRequest
request
=
((
ServletRequestAttributes
)
(
RequestContextHolder
.
currentRequestAttributes
())).
getRequest
();
HttpServletRequest
request
=
((
ServletRequestAttributes
)
(
RequestContextHolder
.
currentRequestAttributes
())).
getRequest
();
String
token
=
request
.
getHeader
(
tokenHeader
);
String
token
=
request
.
getHeader
(
tokenHeader
);
log
.
info
(
"token【{}】"
,
token
);
Object
[]
args
=
proceedingJoinPoint
.
getArgs
();
Object
[]
args
=
proceedingJoinPoint
.
getArgs
();
if
(
ArrayUtil
.
isEmpty
(
args
)){
if
(
ArrayUtil
.
isEmpty
(
args
)){
//没有参数直接返回
//没有参数直接返回
...
@@ -77,6 +79,7 @@ public class TokenAop {
...
@@ -77,6 +79,7 @@ public class TokenAop {
if
(
Objects
.
isNull
(
userDTO
)){
if
(
Objects
.
isNull
(
userDTO
)){
userDTO
=
new
AppUserDTO
();
userDTO
=
new
AppUserDTO
();
}
}
log
.
info
(
"token查询app用户【{}】"
,
userDTO
);
args
[
i
]=
userDTO
;
args
[
i
]=
userDTO
;
break
;
break
;
}
}
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderItem.java
View file @
f5385f2f
...
@@ -4,10 +4,13 @@ import java.io.Serializable;
...
@@ -4,10 +4,13 @@ import java.io.Serializable;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.math.RoundingMode
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
javax.persistence.*
;
import
javax.persistence.*
;
import
cn.hutool.json.JSONUtil
;
import
com.xxfc.platform.order.contant.enumerate.ItemTypeEnum
;
import
com.xxfc.platform.order.contant.enumerate.ItemTypeEnum
;
import
com.xxfc.platform.vehicle.constant.AccompanyingItemType
;
import
com.xxfc.platform.vehicle.constant.AccompanyingItemType
;
import
com.xxfc.platform.vehicle.pojo.dto.VehicleModelCalendarPriceDTO
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -147,20 +150,6 @@ public class OrderItem implements Serializable {
...
@@ -147,20 +150,6 @@ public class OrderItem implements Serializable {
return
calculateAmount
;
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
()
{
public
BigDecimal
getBuyAmount
()
{
return
getUnitPrice
().
multiply
(
new
BigDecimal
(
getBuyNum
()
+
""
));
return
getUnitPrice
().
multiply
(
new
BigDecimal
(
getBuyNum
()
+
""
));
}
}
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/calculate/InProgressVO.java
View file @
f5385f2f
package
com
.
xxfc
.
platform
.
order
.
pojo
.
calculate
;
package
com
.
xxfc
.
platform
.
order
.
pojo
.
calculate
;
import
cn.hutool.core.collection.CollUtil
;
import
com.xxfc.platform.vehicle.pojo.dto.order.VMCalendarPriceCostDTO
;
import
lombok.Data
;
import
lombok.Data
;
import
org.assertj.core.util.Lists
;
import
org.assertj.core.util.Lists
;
...
@@ -69,4 +71,15 @@ public class InProgressVO {
...
@@ -69,4 +71,15 @@ public class InProgressVO {
String
violateDesc
=
""
;
String
violateDesc
=
""
;
/**
* 使用(消耗)详情列表
*/
List
<
VMCalendarPriceCostDTO
>
useAmountList
=
CollUtil
.
newArrayList
();
/**
* 延期 详情列表
*/
List
<
VMCalendarPriceCostDTO
>
overAmountList
=
CollUtil
.
newArrayList
();
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/order/VehicleItemDTO.java
0 → 100644
View file @
f5385f2f
package
com
.
xxfc
.
platform
.
order
.
pojo
.
order
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.xxfc.platform.order.entity.OrderItem
;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
com.xxfc.platform.vehicle.pojo.dto.VehicleModelCalendarPriceDTO
;
import
com.xxfc.platform.vehicle.pojo.dto.order.VMCalendarPriceCostDTO
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.Date
;
import
java.util.List
;
@Data
public
class
VehicleItemDTO
extends
OrderItem
{
public
static
final
int
topNum
=
2
;
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
getCutAmount
()
{
List
<
VehicleModelCalendarPriceDTO
>
vmcpds
=
getVehicleDetail
();
if
(
CollUtil
.
isEmpty
(
vmcpds
)){
return
super
.
getCutAmount
();
}
BigDecimal
cutAmount
=
BigDecimal
.
ZERO
;
for
(
int
i
=
0
;
i
<
getCutNum
();
i
++)
{
cutAmount
=
cutAmount
.
add
(
vmcpds
.
get
(
i
).
getPrice
());
}
return
cutAmount
;
}
public
List
<
VehicleModelCalendarPriceDTO
>
getVehicleDetail
()
{
if
(
StrUtil
.
isBlank
(
getDetail
()))
{
return
CollUtil
.
newArrayList
();
}
return
JSONUtil
.
toList
(
JSONUtil
.
parseArray
(
getDetail
()),
VehicleModelCalendarPriceDTO
.
class
);
}
public
BigDecimal
getBuyAmount
()
{
List
<
VehicleModelCalendarPriceDTO
>
vmcpds
=
getVehicleDetail
();
if
(
CollUtil
.
isEmpty
(
vmcpds
)){
return
super
.
getBuyAmount
();
}
BigDecimal
buyAmount
=
BigDecimal
.
ZERO
;
for
(
int
i
=
0
;
i
<
getBuyNum
();
i
++)
{
buyAmount
=
buyAmount
.
add
(
vmcpds
.
get
(
i
).
getPrice
());
}
return
buyAmount
;
}
public
BigDecimal
getTopAmount
(
Integer
useDays
)
{
List
<
VehicleModelCalendarPriceDTO
>
vmcpds
=
getVehicleDetail
();
if
(
CollUtil
.
isEmpty
(
vmcpds
)){
return
getUnitPrice
().
multiply
(
new
BigDecimal
(
topNum
+
""
));
}
BigDecimal
topAmount
=
BigDecimal
.
ZERO
;
for
(
int
i
=
useDays
;
i
<
getTotalNum
();
i
++)
{
topAmount
=
topAmount
.
add
(
vmcpds
.
get
(
i
).
getPrice
());
}
//未用天数 小于 topNum
if
(
getTotalNum
()
-
useDays
<
topNum
)
{
Integer
residue
=
getTotalNum
()
-
useDays
;
topAmount
=
topAmount
.
add
(
vmcpds
.
get
(
vmcpds
.
size
()
-
1
).
getPrice
().
multiply
(
new
BigDecimal
((
topNum
-
residue
)
+
""
)));
}
return
topAmount
;
}
public
BigDecimal
getUsedAmount
(
Integer
useDays
)
{
return
getUnitPrice
().
multiply
(
new
BigDecimal
(
useDays
+
""
));
}
public
BigDecimal
getFreeAmount
(
Integer
freeDays
)
{
List
<
VehicleModelCalendarPriceDTO
>
vmcpds
=
getVehicleDetail
();
if
(
CollUtil
.
isEmpty
(
vmcpds
)){
return
getUnitPrice
().
multiply
(
new
BigDecimal
(
freeDays
+
""
));
}
BigDecimal
freeAmount
=
BigDecimal
.
ZERO
;
for
(
int
i
=
0
;
i
<
getBuyNum
();
i
++)
{
freeAmount
=
freeAmount
.
add
(
vmcpds
.
get
(
i
).
getPrice
());
}
return
freeAmount
;
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/price/CancelStartedVO.java
View file @
f5385f2f
package
com
.
xxfc
.
platform
.
order
.
pojo
.
price
;
package
com
.
xxfc
.
platform
.
order
.
pojo
.
price
;
import
com.xxfc.platform.vehicle.pojo.dto.order.VMCalendarPriceCostDTO
;
import
lombok.Data
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.List
;
@Data
@Data
public
class
CancelStartedVO
extends
CostDetailExtend
{
public
class
CancelStartedVO
extends
CostDetailExtend
{
...
@@ -65,4 +67,11 @@ public class CancelStartedVO extends CostDetailExtend {
...
@@ -65,4 +67,11 @@ public class CancelStartedVO extends CostDetailExtend {
* 赔偿金
* 赔偿金
*/
*/
private
BigDecimal
damagesAmount
=
BigDecimal
.
ZERO
;
private
BigDecimal
damagesAmount
=
BigDecimal
.
ZERO
;
/**
* 使用(消耗)详情列表
*/
List
<
VMCalendarPriceCostDTO
>
useAmountList
;
//= CollUtil.newArrayList();
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderAccountBiz.java
View file @
f5385f2f
...
@@ -23,6 +23,7 @@ import com.xxfc.platform.order.pojo.account.OrderAccountDeduction;
...
@@ -23,6 +23,7 @@ import com.xxfc.platform.order.pojo.account.OrderAccountDeduction;
import
com.xxfc.platform.order.pojo.account.OrderAccountDetail
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDetail
;
import
com.xxfc.platform.order.pojo.calculate.InProgressVO
;
import
com.xxfc.platform.order.pojo.calculate.InProgressVO
;
import
com.xxfc.platform.order.pojo.mq.OrderMQDTO
;
import
com.xxfc.platform.order.pojo.mq.OrderMQDTO
;
import
com.xxfc.platform.order.pojo.order.VehicleItemDTO
;
import
com.xxfc.platform.order.pojo.price.CancelStartedVO
;
import
com.xxfc.platform.order.pojo.price.CancelStartedVO
;
import
com.xxfc.platform.order.pojo.price.CostDetailExtend
;
import
com.xxfc.platform.order.pojo.price.CostDetailExtend
;
import
com.xxfc.platform.universal.constant.DictionaryKey
;
import
com.xxfc.platform.universal.constant.DictionaryKey
;
...
@@ -346,7 +347,7 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
...
@@ -346,7 +347,7 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
setType
(
crosstownTypeEnum
);
setType
(
crosstownTypeEnum
);
}});
}});
OrderItem
orderItem
=
orderItemBiz
.
selectOne
(
new
OrderItem
(){{
VehicleItemDTO
vehicleItemDTO
=
(
VehicleItemDTO
)
orderItemBiz
.
selectOne
(
new
OrderItem
(){{
setType
(
ItemTypeEnum
.
VEHICLE_MODEL
.
getCode
());
setType
(
ItemTypeEnum
.
VEHICLE_MODEL
.
getCode
());
setOrderId
(
orderMQDTO
.
getId
());
setOrderId
(
orderMQDTO
.
getId
());
}});
}});
...
@@ -361,7 +362,7 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
...
@@ -361,7 +362,7 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
}
}
OrderAccountDetail
oad
=
new
OrderAccountDetail
();
OrderAccountDetail
oad
=
new
OrderAccountDetail
();
InProgressVO
inProgressVO
=
orderCalculateBiz
.
calculateOrderComplete
(
orderMQDTO
,
orderMQDTO
.
getOrderRentVehicleDetail
(),
oad
,
orderItem
,
orderMQDTO
.
getOrderRentVehicleDetail
().
getUsedDay
(),
Boolean
.
FALSE
);
InProgressVO
inProgressVO
=
orderCalculateBiz
.
calculateOrderComplete
(
orderMQDTO
,
orderMQDTO
.
getOrderRentVehicleDetail
(),
oad
,
vehicleItemDTO
,
orderMQDTO
.
getOrderRentVehicleDetail
().
getUsedDay
(),
Boolean
.
FALSE
);
//设置定损金额
//设置定损金额
String
handleDedRefundDesc
=
""
;
String
handleDedRefundDesc
=
""
;
...
@@ -427,7 +428,7 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
...
@@ -427,7 +428,7 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
//生成额外的费用明细
//生成额外的费用明细
csv
.
setConsumeAmount
(
inProgressVO
.
getConsumeAmount
());
csv
.
setConsumeAmount
(
inProgressVO
.
getConsumeAmount
());
csv
.
setModelAmount
(
orderItem
.
getUnitPrice
());
csv
.
setModelAmount
(
vehicleItemDTO
.
getUnitPrice
());
csv
.
setUsedAmount
(
inProgressVO
.
getUsedAmount
());
csv
.
setUsedAmount
(
inProgressVO
.
getUsedAmount
());
csv
.
setUsedDayNum
(
inProgressVO
.
getUsedDays
());
csv
.
setUsedDayNum
(
inProgressVO
.
getUsedDays
());
csv
.
setUsedfreeDayNum
(
inProgressVO
.
getUsedfreeDays
());
csv
.
setUsedfreeDayNum
(
inProgressVO
.
getUsedfreeDays
());
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderItemBiz.java
View file @
f5385f2f
package
com
.
xxfc
.
platform
.
order
.
biz
;
package
com
.
xxfc
.
platform
.
order
.
biz
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.date.DateUtil
;
import
com.xxfc.platform.order.contant.enumerate.ItemTypeEnum
;
import
com.xxfc.platform.order.contant.enumerate.ItemTypeEnum
;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
com.xxfc.platform.vehicle.pojo.dto.VehicleModelCalendarPriceDTO
;
import
com.xxfc.platform.vehicle.pojo.dto.order.VMCalendarPriceCostDTO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
com.xxfc.platform.order.entity.OrderItem
;
import
com.xxfc.platform.order.entity.OrderItem
;
...
@@ -8,6 +14,8 @@ import com.xxfc.platform.order.mapper.OrderItemMapper;
...
@@ -8,6 +14,8 @@ import com.xxfc.platform.order.mapper.OrderItemMapper;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.List
;
/**
/**
* 购房车提交表单
* 购房车提交表单
...
@@ -18,6 +26,10 @@ import java.math.BigDecimal;
...
@@ -18,6 +26,10 @@ import java.math.BigDecimal;
*/
*/
@Service
@Service
public
class
OrderItemBiz
extends
BaseBiz
<
OrderItemMapper
,
OrderItem
>
{
public
class
OrderItemBiz
extends
BaseBiz
<
OrderItemMapper
,
OrderItem
>
{
@Autowired
VehicleFeign
vehicleFeign
;
public
OrderItem
initOrderItem
(
BigDecimal
price
,
Integer
num
,
String
name
,
Integer
goodId
,
ItemTypeEnum
itemTypeEnum
,
String
detail
){
public
OrderItem
initOrderItem
(
BigDecimal
price
,
Integer
num
,
String
name
,
Integer
goodId
,
ItemTypeEnum
itemTypeEnum
,
String
detail
){
return
new
OrderItem
(){{
return
new
OrderItem
(){{
setMetaUnitPrice
(
price
);
setMetaUnitPrice
(
price
);
...
@@ -37,4 +49,17 @@ public class OrderItemBiz extends BaseBiz<OrderItemMapper,OrderItem> {
...
@@ -37,4 +49,17 @@ public class OrderItemBiz extends BaseBiz<OrderItemMapper,OrderItem> {
public
OrderItem
initOrderItem
(
BigDecimal
price
,
Integer
num
,
String
name
,
Integer
goodId
,
ItemTypeEnum
itemTypeEnum
){
public
OrderItem
initOrderItem
(
BigDecimal
price
,
Integer
num
,
String
name
,
Integer
goodId
,
ItemTypeEnum
itemTypeEnum
){
return
initOrderItem
(
price
,
num
,
name
,
goodId
,
itemTypeEnum
,
null
);
return
initOrderItem
(
price
,
num
,
name
,
goodId
,
itemTypeEnum
,
null
);
}
}
public
List
<
VMCalendarPriceCostDTO
>
getOverAmountList
(
Date
endDate
,
Integer
overDays
,
Integer
modelId
,
Integer
userId
)
{
List
<
VMCalendarPriceCostDTO
>
overAmountList
=
CollUtil
.
newArrayList
();
//根据延期的天数算出 对应的日期价格
Date
overStart
=
DateUtil
.
offsetDay
(
endDate
,
1
);
Date
overEnd
=
DateUtil
.
offsetDay
(
endDate
,
overDays
);
List
<
VehicleModelCalendarPriceDTO
>
overlist
=
vehicleFeign
.
findVehicleModelCalendarPriceByDate
(
overStart
,
overEnd
,
modelId
,
userId
);
for
(
VehicleModelCalendarPriceDTO
vmcpd
:
overlist
)
{
overAmountList
.
add
((
VMCalendarPriceCostDTO
)
vmcpd
);
}
return
overAmountList
;
}
}
}
\ No newline at end of file
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/inner/OrderCalculateBiz.java
View file @
f5385f2f
This diff is collapsed.
Click to expand it.
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/inner/OrderCancelBiz.java
View file @
f5385f2f
...
@@ -4,7 +4,6 @@ import cn.hutool.core.bean.BeanUtil;
...
@@ -4,7 +4,6 @@ import cn.hutool.core.bean.BeanUtil;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.convert.Convert
;
import
cn.hutool.core.convert.Convert
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.ArrayUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
...
@@ -18,6 +17,7 @@ import com.xxfc.platform.order.pojo.account.OrderAccountDeduction;
...
@@ -18,6 +17,7 @@ import com.xxfc.platform.order.pojo.account.OrderAccountDeduction;
import
com.xxfc.platform.order.pojo.account.OrderAccountDetail
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDetail
;
import
com.xxfc.platform.order.pojo.calculate.InProgressVO
;
import
com.xxfc.platform.order.pojo.calculate.InProgressVO
;
import
com.xxfc.platform.order.pojo.mq.OrderMQDTO
;
import
com.xxfc.platform.order.pojo.mq.OrderMQDTO
;
import
com.xxfc.platform.order.pojo.order.VehicleItemDTO
;
import
com.xxfc.platform.order.pojo.price.CancelNoStartVO
;
import
com.xxfc.platform.order.pojo.price.CancelNoStartVO
;
import
com.xxfc.platform.order.pojo.price.CancelStartedVO
;
import
com.xxfc.platform.order.pojo.price.CancelStartedVO
;
import
com.xxfc.platform.order.pojo.price.CostDetailExtend
;
import
com.xxfc.platform.order.pojo.price.CostDetailExtend
;
...
@@ -139,7 +139,7 @@ public class OrderCancelBiz {
...
@@ -139,7 +139,7 @@ public class OrderCancelBiz {
setOrderId
(
baseOrder
.
getId
());
setOrderId
(
baseOrder
.
getId
());
}});
}});
OrderItem
orderItem
=
orderItemBiz
.
selectOne
(
new
OrderItem
(){{
VehicleItemDTO
vehicleItemDTO
=
(
VehicleItemDTO
)
orderItemBiz
.
selectOne
(
new
OrderItem
(){{
setType
(
ItemTypeEnum
.
VEHICLE_MODEL
.
getCode
());
setType
(
ItemTypeEnum
.
VEHICLE_MODEL
.
getCode
());
setOrderId
(
baseOrder
.
getId
());
setOrderId
(
baseOrder
.
getId
());
}});
}});
...
@@ -156,7 +156,7 @@ public class OrderCancelBiz {
...
@@ -156,7 +156,7 @@ public class OrderCancelBiz {
log
.
info
(
"useTimeLag {}"
,
new
BigDecimal
(
useTimeLag
+
""
));
log
.
info
(
"useTimeLag {}"
,
new
BigDecimal
(
useTimeLag
+
""
));
log
.
info
(
"divide {}"
,
new
BigDecimal
((
24
*
60
*
60
*
1000
)+
""
));
log
.
info
(
"divide {}"
,
new
BigDecimal
((
24
*
60
*
60
*
1000
)+
""
));
Integer
useDays
=
new
BigDecimal
(
useTimeLag
+
""
).
divide
(
new
BigDecimal
((
24
*
60
*
60
*
1000
)+
""
),
0
,
RoundingMode
.
UP
).
intValue
();
Integer
useDays
=
new
BigDecimal
(
useTimeLag
+
""
).
divide
(
new
BigDecimal
((
24
*
60
*
60
*
1000
)+
""
),
0
,
RoundingMode
.
UP
).
intValue
();
inProgressVO
=
orderCalculateBiz
.
calculateOrderComplete
(
baseOrder
,
orvd
,
oad
,
orderItem
,
useDays
,
Boolean
.
TRUE
);
inProgressVO
=
orderCalculateBiz
.
calculateOrderComplete
(
baseOrder
,
orvd
,
oad
,
vehicleItemDTO
,
useDays
,
Boolean
.
TRUE
);
//结合
//结合
//退款子流程: 订单基础,退款描述,退款金额
//退款子流程: 订单基础,退款描述,退款金额
orderAccountBiz
.
refundSubProcess
(
baseOrder
,
""
,
baseOrder
.
getRealAmount
().
subtract
(
orvd
.
getDeposit
()),
oad
.
getDepositAmount
().
add
(
oad
.
getOrderAmount
()),
AccountTypeEnum
.
OUT_ORDER_FUND
.
getCode
(),
RefundStatusEnum
.
ALL
.
getCode
(),
oad
);
orderAccountBiz
.
refundSubProcess
(
baseOrder
,
""
,
baseOrder
.
getRealAmount
().
subtract
(
orvd
.
getDeposit
()),
oad
.
getDepositAmount
().
add
(
oad
.
getOrderAmount
()),
AccountTypeEnum
.
OUT_ORDER_FUND
.
getCode
(),
RefundStatusEnum
.
ALL
.
getCode
(),
oad
);
...
@@ -166,7 +166,7 @@ public class OrderCancelBiz {
...
@@ -166,7 +166,7 @@ public class OrderCancelBiz {
CancelStartedVO
csv
=
new
CancelStartedVO
();
CancelStartedVO
csv
=
new
CancelStartedVO
();
csv
.
setType
(
CostDetailExtend
.
CANCEL_STARTED
);
csv
.
setType
(
CostDetailExtend
.
CANCEL_STARTED
);
csv
.
setConsumeAmount
(
inProgressVO
.
getConsumeAmount
());
csv
.
setConsumeAmount
(
inProgressVO
.
getConsumeAmount
());
csv
.
setModelAmount
(
orderItem
.
getUnitPrice
());
csv
.
setModelAmount
(
vehicleItemDTO
.
getUnitPrice
());
csv
.
setUsedAmount
(
inProgressVO
.
getUsedAmount
());
csv
.
setUsedAmount
(
inProgressVO
.
getUsedAmount
());
csv
.
setUsedDayNum
(
inProgressVO
.
getUsedDays
());
csv
.
setUsedDayNum
(
inProgressVO
.
getUsedDays
());
csv
.
setUsedfreeDayNum
(
inProgressVO
.
getUsedfreeDays
());
csv
.
setUsedfreeDayNum
(
inProgressVO
.
getUsedfreeDays
());
...
@@ -174,6 +174,7 @@ public class OrderCancelBiz {
...
@@ -174,6 +174,7 @@ public class OrderCancelBiz {
csv
.
setHadConpon
((
StrUtil
.
isNotBlank
(
baseOrder
.
getCouponTickerNos
())?
Boolean
.
TRUE
:
Boolean
.
FALSE
));
csv
.
setHadConpon
((
StrUtil
.
isNotBlank
(
baseOrder
.
getCouponTickerNos
())?
Boolean
.
TRUE
:
Boolean
.
FALSE
));
csv
.
setViolateAmount
(
BigDecimal
.
ZERO
);
csv
.
setViolateAmount
(
BigDecimal
.
ZERO
);
csv
.
setViolateDesc
(
""
);
csv
.
setViolateDesc
(
""
);
csv
.
setUseAmountList
(
inProgressVO
.
getUseAmountList
());
//如果有扣款项,则生成额外的费用明细
//如果有扣款项,则生成额外的费用明细
if
(
oad
.
getDeductions
().
size
()
>
0
)
{
if
(
oad
.
getDeductions
().
size
()
>
0
)
{
...
@@ -194,14 +195,11 @@ public class OrderCancelBiz {
...
@@ -194,14 +195,11 @@ public class OrderCancelBiz {
orvd
.
handelCostDetailExtend
(
csv
);
orvd
.
handelCostDetailExtend
(
csv
);
orderRentVehicleBiz
.
updateSelectiveByIdRe
(
orvd
);
orderRentVehicleBiz
.
updateSelectiveByIdRe
(
orvd
);
}
else
{
}
else
{
// //没到出车时间
// //没到出车时间
// //判断是否使用免费天数,并且进行扣款
//违约金封顶 租车身份价 * 2天
BigDecimal
topAmount
=
orderItem
.
getUnitPrice
().
multiply
(
new
BigDecimal
(
2
+
""
));
//退款流程
//退款流程
orderAccountBiz
.
rentRefundProcessCancel
(
baseOrder
,
BigDecimal
.
ZERO
,
timeLag
,
APP_ORDER
+
"_"
+
RENT_REFUND
,
orvd
.
getDeposit
(),
orderItem
.
getBuyAmount
(),
oad
,
topAmount
);
//违约金封顶 租车身份价 * 2天
orderAccountBiz
.
rentRefundProcessCancel
(
baseOrder
,
BigDecimal
.
ZERO
,
timeLag
,
APP_ORDER
+
"_"
+
RENT_REFUND
,
orvd
.
getDeposit
(),
vehicleItemDTO
.
getBuyAmount
(),
oad
,
vehicleItemDTO
.
getTopAmount
(
0
));
//设置订单数据
//设置订单数据
//baseOrder.setDamagesAmount(csv.getDamagesAmount());
//baseOrder.setDamagesAmount(csv.getDamagesAmount());
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/OrderRefundController.java
View file @
f5385f2f
...
@@ -24,6 +24,7 @@ import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
...
@@ -24,6 +24,7 @@ import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import
com.xxfc.platform.order.pojo.account.OrderAccountDetail
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDetail
;
import
com.xxfc.platform.order.pojo.calculate.InProgressVO
;
import
com.xxfc.platform.order.pojo.calculate.InProgressVO
;
import
com.xxfc.platform.order.pojo.order.OrderPageVO
;
import
com.xxfc.platform.order.pojo.order.OrderPageVO
;
import
com.xxfc.platform.order.pojo.order.VehicleItemDTO
;
import
com.xxfc.platform.universal.constant.DictionaryKey
;
import
com.xxfc.platform.universal.constant.DictionaryKey
;
import
lombok.Data
;
import
lombok.Data
;
import
org.joda.time.DateTime
;
import
org.joda.time.DateTime
;
...
@@ -92,15 +93,15 @@ public class OrderRefundController extends BaseController<OrderRefundBiz,OrderRe
...
@@ -92,15 +93,15 @@ public class OrderRefundController extends BaseController<OrderRefundBiz,OrderRe
Long
timeLag
=
orderPageVO
.
getOrderRentVehicleDetail
().
getStartTime
()
-
System
.
currentTimeMillis
();
Long
timeLag
=
orderPageVO
.
getOrderRentVehicleDetail
().
getStartTime
()
-
System
.
currentTimeMillis
();
OrderItem
vehicleItem
=
orderItemBiz
.
selectOne
(
new
OrderItem
(){{
VehicleItemDTO
vehicleItemDTO
=
(
VehicleItemDTO
)
orderItemBiz
.
selectOne
(
new
OrderItem
(){{
setType
(
ItemTypeEnum
.
VEHICLE_MODEL
.
getCode
());
setType
(
ItemTypeEnum
.
VEHICLE_MODEL
.
getCode
());
setOrderId
(
orderPageVO
.
getId
());
setOrderId
(
orderPageVO
.
getId
());
}});
}});
if
(
timeLag
<
0
)
{
if
(
timeLag
<
0
)
{
OrderAccountDetail
oad
=
new
OrderAccountDetail
();
OrderAccountDetail
oad
=
new
OrderAccountDetail
();
Integer
freeDays
=
(
null
==
vehicleItem
.
getCutNum
())?
0
:
vehicleItem
.
getCutNum
();
Integer
freeDays
=
(
null
==
vehicleItem
DTO
.
getCutNum
())?
0
:
vehicleItemDTO
.
getCutNum
();
inProgressVO
=
orderCalculateBiz
.
inProgressCalculate
(
orderPageVO
,
vehicleItem
,
freeDays
,
baseOrderBiz
.
getDaysBetweenDateTime
(
startTime
,
nowTime
),
new
OrderAccountDetail
(),
Boolean
.
FALSE
);
inProgressVO
=
orderCalculateBiz
.
inProgressCalculate
(
orderPageVO
,
vehicleItem
DTO
,
freeDays
,
baseOrderBiz
.
getDaysBetweenDateTime
(
startTime
,
nowTime
),
new
OrderAccountDetail
(),
Boolean
.
FALSE
);
//.inProgressCalculate(orderPageVO, baseOrderBiz.getDaysBetweenDateTime(startTime, nowTime));
//.inProgressCalculate(orderPageVO, baseOrderBiz.getDaysBetweenDateTime(startTime, nowTime));
totalDeductAmount
=
oad
.
realTotalDeduct
();
totalDeductAmount
=
oad
.
realTotalDeduct
();
totalRefundAmount
=
oad
.
getOrderAmount
().
add
(
oad
.
getDepositAmount
());
totalRefundAmount
=
oad
.
getOrderAmount
().
add
(
oad
.
getDepositAmount
());
...
@@ -109,7 +110,7 @@ public class OrderRefundController extends BaseController<OrderRefundBiz,OrderRe
...
@@ -109,7 +110,7 @@ public class OrderRefundController extends BaseController<OrderRefundBiz,OrderRe
String
key
=
RENT_REFUND
;
String
key
=
RENT_REFUND
;
BigDecimal
deductionAmount
=
orderAccountBiz
.
calculateDeduction
(
vehicleItem
.
getBuyAmount
()
BigDecimal
deductionAmount
=
orderAccountBiz
.
calculateDeduction
(
vehicleItem
DTO
.
getBuyAmount
()
,
orderPageVO
.
getOrderRentVehicleDetail
().
getStartTime
()
-
System
.
currentTimeMillis
()
,
orderPageVO
.
getOrderRentVehicleDetail
().
getStartTime
()
-
System
.
currentTimeMillis
()
,
DictionaryKey
.
APP_ORDER
+
"_"
+
key
,
DictionaryKey
.
APP_ORDER
+
"_"
+
key
,
refundDescBuilder
);
,
refundDescBuilder
);
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderRentVehicleService.java
View file @
f5385f2f
...
@@ -28,6 +28,7 @@ import com.xxfc.platform.order.entity.OrderItem;
...
@@ -28,6 +28,7 @@ import com.xxfc.platform.order.entity.OrderItem;
import
com.xxfc.platform.order.entity.OrderTemplate
;
import
com.xxfc.platform.order.entity.OrderTemplate
;
import
com.xxfc.platform.order.pojo.OrderAccompanyDTO
;
import
com.xxfc.platform.order.pojo.OrderAccompanyDTO
;
import
com.xxfc.platform.order.pojo.order.RentVehicleBO
;
import
com.xxfc.platform.order.pojo.order.RentVehicleBO
;
import
com.xxfc.platform.order.pojo.order.VehicleItemDTO
;
import
com.xxfc.platform.order.pojo.price.RentVehiclePriceVO
;
import
com.xxfc.platform.order.pojo.price.RentVehiclePriceVO
;
import
com.xxfc.platform.universal.constant.DictionaryKey
;
import
com.xxfc.platform.universal.constant.DictionaryKey
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
...
@@ -241,7 +242,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
...
@@ -241,7 +242,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
//设置Item
//设置Item
OrderItem
vehicleOrderItem
=
orderItemBiz
.
initOrderItem
(
vehicleModel
.
getPrice
(),
detail
.
getDayNum
(),
vehicleModel
.
getName
(),
vehicleModel
.
getId
(),
ItemTypeEnum
.
VEHICLE_MODEL
,
JSONUtil
.
parseArray
(
vmcpds
).
toString
());
VehicleItemDTO
vehicleOrderItem
=
(
VehicleItemDTO
)
orderItemBiz
.
initOrderItem
(
vehicleModel
.
getPrice
(),
detail
.
getDayNum
(),
vehicleModel
.
getName
(),
vehicleModel
.
getId
(),
ItemTypeEnum
.
VEHICLE_MODEL
,
JSONUtil
.
parseArray
(
vmcpds
).
toString
());
OrderItem
driverOrderItem
=
orderItemBiz
.
initOrderItem
(
DRIVER_PRICE
,
detail
.
getDayNum
(),
"平台司机"
,
null
,
ItemTypeEnum
.
DRIVER
);
OrderItem
driverOrderItem
=
orderItemBiz
.
initOrderItem
(
DRIVER_PRICE
,
detail
.
getDayNum
(),
"平台司机"
,
null
,
ItemTypeEnum
.
DRIVER
);
OrderItem
damageSafeOrderItem
=
orderItemBiz
.
initOrderItem
(
DAMAGE_SAFE
,
detail
.
getDayNum
(),
"免赔费用"
,
null
,
ItemTypeEnum
.
DAMAGE_SAFE
);
OrderItem
damageSafeOrderItem
=
orderItemBiz
.
initOrderItem
(
DAMAGE_SAFE
,
detail
.
getDayNum
(),
"免赔费用"
,
null
,
ItemTypeEnum
.
DAMAGE_SAFE
);
...
...
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/dto/VehicleModelCalendarPriceDTO.java
View file @
f5385f2f
package
com
.
xxfc
.
platform
.
vehicle
.
pojo
.
dto
;
package
com
.
xxfc
.
platform
.
vehicle
.
pojo
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.Data
;
...
...
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/dto/order/VMCalendarPriceCostDTO.java
0 → 100644
View file @
f5385f2f
package
com
.
xxfc
.
platform
.
vehicle
.
pojo
.
dto
.
order
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.xxfc.platform.vehicle.pojo.dto.VehicleModelCalendarPriceDTO
;
import
lombok.Data
;
import
java.util.Date
;
@Data
public
class
VMCalendarPriceCostDTO
extends
VehicleModelCalendarPriceDTO
{
@JsonFormat
(
locale
=
"zh"
,
timezone
=
"GMT+8"
,
pattern
=
"yyyy-MM-dd"
)
private
Date
date
;
}
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