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
17c1d66d
Commit
17c1d66d
authored
Sep 20, 2019
by
jiaorz
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master-modify-cutAmount' into dev
parents
0e2ee64e
ef449193
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
47 additions
and
16 deletions
+47
-16
BaseOrderBiz.java
...c/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
+27
-16
BaseOrderController.java
...ava/com/xxfc/platform/order/rest/BaseOrderController.java
+20
-0
No files found.
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
View file @
17c1d66d
...
...
@@ -61,8 +61,7 @@ import java.util.TimeZone;
import
java.util.stream.Collectors
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
config
.
rabbit
.
RabbitConstant
.*;
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
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.*;
import
static
com
.
xxfc
.
platform
.
universal
.
constant
.
DictionaryKey
.
APP_ORDER
;
/**
...
...
@@ -215,7 +214,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
return
ObjectRestResponse
.
succ
(
orderPageVo
);
}
//获取两个日期之间的天数
//获取两个日期之间的天数
(不包含头尾)
public
int
getDaysBetweenDateTime
(
DateTime
startDay
,
DateTime
endDay
)
{
int
a
=
0
;
for
(
DateTime
curDate
=
startDay
.
plusDays
(
1
);
curDate
.
compareTo
(
endDay
)
<
0
;
curDate
=
curDate
.
plusDays
(
1
))
{
...
...
@@ -224,6 +223,16 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
return
a
;
}
//获取两个日期之间的天数(包含头尾)
public
int
getDaysBetweenDateTimeHasStartEnd
(
DateTime
startDay
,
DateTime
endDay
)
{
int
a
=
0
;
for
(
DateTime
curDate
=
startDay
;
curDate
.
compareTo
(
endDay
)
<=
0
;
curDate
=
curDate
.
plusDays
(
1
))
{
a
++;
}
return
a
;
}
public
void
updateCrossRefund
(
OrderPageVO
orderPageVO
)
{
//计算延期费用
DedDetailDTO
dedDetailDTO
=
new
DedDetailDTO
();
...
...
@@ -233,7 +242,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
DateTime
startTime
=
DateTime
.
parse
(
new
DateTime
(
orderPageVO
.
getOrderRentVehicleDetail
().
getStartTime
()).
toString
(
DEFAULT_DATE_TIME_FORMATTER
),
DEFAULT_DATE_TIME_FORMATTER
);
//设置使用天数
int
userUsedDay
=
getDaysBetweenDateTime
(
startTime
,
nowTime
);
int
userUsedDay
=
getDaysBetweenDateTime
HasStartEnd
(
startTime
,
nowTime
);
orderPageVO
.
getOrderRentVehicleDetail
().
setUsedDay
(
userUsedDay
);
orderRentVehicleBiz
.
updateSelectiveById
(
orderPageVO
.
getOrderRentVehicleDetail
());
//实际预定的天数
...
...
@@ -258,7 +267,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
if
(
orderPageVO
.
getOrderRentVehicleDetail
().
getEndTime
()
>
nowTime
.
getMillis
())
{
StringBuilder
stringBuilder
=
new
StringBuilder
();
//提前的天数, 当天就算使用一天
int
noUsedDay
=
getDaysBetweenDateTime
(
nowTime
,
endTime
)
-
1
;
int
noUsedDay
=
getDaysBetweenDateTime
HasStartEnd
(
nowTime
,
endTime
)
-
1
;
//退还未使用的天数,或者金额,扣除违约金,实际未使用天数的金额,最多3000元
// InProgressVO inProgressVO = new InProgressVO();
// inProgressVO.setViolateAmount(new BigDecimal(200));
...
...
@@ -285,17 +294,19 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
StringBuilder
stringBuilder
=
new
StringBuilder
();
stringBuilder
.
append
(
"违约金( ¥"
);
//延期的天数, 延期违约金是延期天数*200%
int
usedDay
=
getDaysBetweenDateTime
(
endTime
,
nowTime
);
stringBuilder
.
append
(
amount
);
stringBuilder
.
append
(
" x "
);
stringBuilder
.
append
(
usedDay
);
stringBuilder
.
append
(
"(天)"
);
stringBuilder
.
append
(
" x 2"
);
BigDecimal
cost
=
amount
.
multiply
(
new
BigDecimal
(
usedDay
)).
multiply
(
new
BigDecimal
(
2
));
stringBuilder
.
append
(
" = "
);
stringBuilder
.
append
(
cost
);
stringBuilder
.
append
(
"元"
);
initDedDetail
(
dedDetailDTO
,
OrderViolateEnum
.
AFTER
.
getCode
(),
cost
,
stringBuilder
);
int
extraUsedDay
=
getDaysBetweenDateTimeHasStartEnd
(
endTime
,
nowTime
)
-
1
;
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
(
"元"
);
initDedDetail
(
dedDetailDTO
,
OrderViolateEnum
.
AFTER
.
getCode
(),
cost
,
stringBuilder
);
}
}
orderPageVO
.
setDedDetailDTO
(
JSONObject
.
toJSONString
(
dedDetailDTO
));
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/BaseOrderController.java
View file @
17c1d66d
...
...
@@ -35,6 +35,7 @@ import com.xxfc.platform.universal.constant.DictionaryKey;
import
com.xxfc.platform.universal.entity.Dictionary
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
import
com.xxfc.platform.universal.vo.OrderPayVo
;
import
com.xxfc.platform.universal.vo.OrderRefundVo
;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
@@ -343,4 +344,23 @@ public class BaseOrderController extends CommonBaseController implements UserRes
List
<
Integer
>
companyIds
;
}
@RequestMapping
(
value
=
"/app/unauth/refund/{no}/{refundAmount}"
,
method
=
RequestMethod
.
POST
)
@ResponseBody
@ApiOperation
(
value
=
"退款"
)
@IgnoreClientToken
@IgnoreUserToken
public
ObjectRestResponse
refundAmount
(
@PathVariable
(
"no"
)
String
no
,
@PathVariable
(
"refundAmount"
)
BigDecimal
refundAmount
)
{
OrderRefundVo
orv
=
new
OrderRefundVo
();
BaseOrder
baseOrder
=
baseOrderBiz
.
selectOne
(
new
BaseOrder
(){{
setNo
(
no
);
}});
orv
.
setAmount
(
baseOrder
.
getRealAmount
().
multiply
(
new
BigDecimal
(
"100"
)).
intValue
());
orv
.
setOrderNo
(
baseOrder
.
getNo
());
orv
.
setRefundDesc
(
""
);
orv
.
setRefundAmount
(
refundAmount
.
multiply
(
new
BigDecimal
(
"100"
)).
intValue
());
ObjectRestResponse
<
String
>
result
=
thirdFeign
.
refund
(
orv
);
return
ObjectRestResponse
.
succ
(
result
);
}
}
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