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
deb643f4
Commit
deb643f4
authored
Sep 09, 2019
by
hanfeng
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'base-modify' of
http://113.105.137.151:22280/youjj/cloud-platform
into base-modify
parents
e7066d7f
aaf4b606
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
479 additions
and
104 deletions
+479
-104
ActivityFeign.java
.../java/com/xxfc/platform/activity/feign/ActivityFeign.java
+2
-0
UserCouponBiz.java
...in/java/com/xxfc/platform/activity/biz/UserCouponBiz.java
+4
-2
MsgBiz.java
...server/src/main/java/com/xxfc/platform/im/biz/MsgBiz.java
+5
-4
MsgController.java
...rc/main/java/com/xxfc/platform/im/rest/MsgController.java
+2
-2
OrderViolateEnum.java
...fc/platform/order/contant/enumerate/OrderViolateEnum.java
+62
-0
BaseOrder.java
...c/main/java/com/xxfc/platform/order/entity/BaseOrder.java
+30
-0
OrderRentVehicleDetail.java
...om/xxfc/platform/order/entity/OrderRentVehicleDetail.java
+7
-0
OrderVehicleCrosstown.java
...com/xxfc/platform/order/entity/OrderVehicleCrosstown.java
+7
-0
DedDetailDTO.java
.../main/java/com/xxfc/platform/order/pojo/DedDetailDTO.java
+3
-1
InProgressVO.java
.../com/xxfc/platform/order/pojo/calculate/InProgressVO.java
+35
-0
OrderRefundBiz.java
...main/java/com/xxfc/platform/order/biz/OrderRefundBiz.java
+5
-3
OrderVehicleCrosstownBiz.java
...com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
+156
-76
OrderCalculateBiz.java
.../com/xxfc/platform/order/biz/inner/OrderCalculateBiz.java
+118
-0
OrderCancelBiz.java
...ava/com/xxfc/platform/order/biz/inner/OrderCancelBiz.java
+40
-16
FriendLinkBiz.java
...c/main/java/com/xxfc/platform/uccn/biz/FriendLinkBiz.java
+3
-0
No files found.
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/feign/ActivityFeign.java
View file @
deb643f4
...
@@ -24,6 +24,8 @@ import java.util.List;
...
@@ -24,6 +24,8 @@ import java.util.List;
@FeignClient
(
value
=
"xx-activity"
)
@FeignClient
(
value
=
"xx-activity"
)
public
interface
ActivityFeign
{
public
interface
ActivityFeign
{
public
static
final
Integer
TYPE_CHECK
=
2
;
public
static
final
Integer
TYPE_USE
=
1
;
public
static
final
Integer
TYPE_USE
=
1
;
public
static
final
Integer
TYPE_NO_USE
=
0
;
public
static
final
Integer
TYPE_NO_USE
=
0
;
...
...
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/UserCouponBiz.java
View file @
deb643f4
...
@@ -16,6 +16,7 @@ import com.xxfc.platform.activity.dto.UserCouponSendDTO;
...
@@ -16,6 +16,7 @@ import com.xxfc.platform.activity.dto.UserCouponSendDTO;
import
com.xxfc.platform.activity.entity.Coupon
;
import
com.xxfc.platform.activity.entity.Coupon
;
import
com.xxfc.platform.activity.entity.IntegralUserTotal
;
import
com.xxfc.platform.activity.entity.IntegralUserTotal
;
import
com.xxfc.platform.activity.entity.UserCoupon
;
import
com.xxfc.platform.activity.entity.UserCoupon
;
import
com.xxfc.platform.activity.feign.ActivityFeign
;
import
com.xxfc.platform.activity.vo.CouponVo
;
import
com.xxfc.platform.activity.vo.CouponVo
;
import
com.xxfc.platform.activity.vo.UserCouponPageVo
;
import
com.xxfc.platform.activity.vo.UserCouponPageVo
;
import
com.xxfc.platform.activity.vo.UserCouponVo
;
import
com.xxfc.platform.activity.vo.UserCouponVo
;
...
@@ -289,7 +290,7 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> {
...
@@ -289,7 +290,7 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> {
return
mapper
.
getUserCoupon
(
tickerNo
);
return
mapper
.
getUserCoupon
(
tickerNo
);
}
}
//支付后更新优惠卷状态:type.1-
//支付后更新优惠卷状态:type.1-
触发使用优惠券;0-不触发优惠券使用(在优惠券未使用时);2--不触发优惠券使用(不管优惠券是否已使用)
public
BigDecimal
useTickerNo
(
Integer
userId
,
List
<
String
>
tickerNos
,
String
orderNo
,
Integer
channel
,
BigDecimal
amout
,
Integer
type
){
public
BigDecimal
useTickerNo
(
Integer
userId
,
List
<
String
>
tickerNos
,
String
orderNo
,
Integer
channel
,
BigDecimal
amout
,
Integer
type
){
BigDecimal
couponAmout
=
new
BigDecimal
(
"0.00"
);
BigDecimal
couponAmout
=
new
BigDecimal
(
"0.00"
);
if
(
couponAmout
.
compareTo
(
amout
)
>=
0
)
{
if
(
couponAmout
.
compareTo
(
amout
)
>=
0
)
{
...
@@ -307,7 +308,8 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> {
...
@@ -307,7 +308,8 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> {
return
couponAmout
;
return
couponAmout
;
}
}
for
(
UserCoupon
userCoupon:
list
)
{
for
(
UserCoupon
userCoupon:
list
)
{
if
(
userCoupon
!=
null
&&
userCoupon
.
getIsUse
()==
1
){
//zjw_0907 当type 为 check(即2)不判断 优惠券是否已使用
if
(
userCoupon
!=
null
&&
userCoupon
.
getIsUse
()==
1
&&
!
ActivityFeign
.
TYPE_CHECK
.
equals
(
type
)){
log
.
error
(
userId
+
"----该优惠卷已使用--tickerNo=="
);
log
.
error
(
userId
+
"----该优惠卷已使用--tickerNo=="
);
continue
;
continue
;
}
}
...
...
xx-im/xx-im-server/src/main/java/com/xxfc/platform/im/biz/MsgBiz.java
View file @
deb643f4
...
@@ -123,7 +123,7 @@ public class MsgBiz {
...
@@ -123,7 +123,7 @@ public class MsgBiz {
return
ObjectRestResponse
.
succ
();
return
ObjectRestResponse
.
succ
();
}
}
public
ObjectRestResponse
getMsgListByUserId
(
Integer
page
,
Integer
limit
)
{
public
ObjectRestResponse
getMsgListByUserId
(
Integer
page
,
Integer
limit
,
Integer
type
)
{
//获取所有朋友圈
//获取所有朋友圈
page
=
page
==
null
?
1
:
page
;
page
=
page
==
null
?
1
:
page
;
limit
=
limit
==
null
?
10
:
limit
;
limit
=
limit
==
null
?
10
:
limit
;
...
@@ -136,8 +136,9 @@ public class MsgBiz {
...
@@ -136,8 +136,9 @@ public class MsgBiz {
}
}
Pageable
pageable
=
PageRequest
.
of
(--
page
,
limit
);
Pageable
pageable
=
PageRequest
.
of
(--
page
,
limit
);
List
<
Integer
>
ids
=
new
ArrayList
<>();
List
<
Integer
>
ids
=
new
ArrayList
<>();
ids
.
add
(
2
);
if
(
type
!=
null
)
{
ids
.
add
(
4
);
ids
.
add
(
type
);
}
Query
query
=
new
Query
(
Criteria
.
where
(
"body.type"
).
in
(
ids
));
Query
query
=
new
Query
(
Criteria
.
where
(
"body.type"
).
in
(
ids
));
query
.
addCriteria
(
Criteria
.
where
(
"userId"
).
is
(
userId
));
query
.
addCriteria
(
Criteria
.
where
(
"userId"
).
is
(
userId
));
int
totalSize
=
mongoTemplate
.
find
(
query
,
Msg
.
class
,
"s_msg"
).
size
();
int
totalSize
=
mongoTemplate
.
find
(
query
,
Msg
.
class
,
"s_msg"
).
size
();
...
@@ -246,7 +247,7 @@ public class MsgBiz {
...
@@ -246,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-im/xx-im-server/src/main/java/com/xxfc/platform/im/rest/MsgController.java
View file @
deb643f4
...
@@ -32,7 +32,7 @@ public class MsgController {
...
@@ -32,7 +32,7 @@ public class MsgController {
}
}
@GetMapping
(
value
=
"/getByUserId"
)
@GetMapping
(
value
=
"/getByUserId"
)
public
ObjectRestResponse
getByUserId
(
Integer
page
,
Integer
limit
)
{
public
ObjectRestResponse
getByUserId
(
Integer
page
,
Integer
limit
,
Integer
type
)
{
return
msgBiz
.
getMsgListByUserId
(
page
,
limit
);
return
msgBiz
.
getMsgListByUserId
(
page
,
limit
,
type
);
}
}
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/OrderViolateEnum.java
0 → 100644
View file @
deb643f4
package
com
.
xxfc
.
platform
.
order
.
contant
.
enumerate
;
import
java.util.HashMap
;
import
java.util.Map
;
public
enum
OrderViolateEnum
{
BEFORE
(
1
,
"提前"
),
AFTER
(
2
,
"延期"
)
;
/**
* 编码
*/
private
Integer
code
;
/**
* 类型描述
*/
private
String
desc
;
public
static
Map
<
Integer
,
OrderTypeEnum
>
codeAndDesc
=
new
HashMap
<
Integer
,
OrderTypeEnum
>();
//Maps.newHashMap();
static
{
for
(
OrderTypeEnum
enumE
:
OrderTypeEnum
.
values
()){
codeAndDesc
.
put
(
enumE
.
getCode
(),
enumE
);
}
}
OrderViolateEnum
(
Integer
code
,
String
desc
){
this
.
code
=
code
;
this
.
desc
=
desc
;
}
public
Integer
getCode
()
{
return
code
;
}
public
void
setCode
(
Integer
code
)
{
this
.
code
=
code
;
}
public
String
getDesc
()
{
return
desc
;
}
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
}
public
static
Boolean
exists
(
Integer
code
){
return
codeAndDesc
.
containsKey
(
code
);
}
public
static
OrderTypeEnum
get
(
Integer
code
)
{
for
(
OrderTypeEnum
enumE
:
OrderTypeEnum
.
values
())
{
if
(
enumE
.
getCode
().
equals
(
code
))
{
return
enumE
;
}
}
return
null
;
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/BaseOrder.java
View file @
deb643f4
...
@@ -3,9 +3,11 @@ package com.xxfc.platform.order.entity;
...
@@ -3,9 +3,11 @@ package com.xxfc.platform.order.entity;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
javax.persistence.*
;
import
javax.persistence.*
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
org.assertj.core.util.Lists
;
import
tk.mybatis.mapper.annotation.Version
;
import
tk.mybatis.mapper.annotation.Version
;
...
@@ -249,4 +251,32 @@ public class BaseOrder implements Serializable {
...
@@ -249,4 +251,32 @@ public class BaseOrder implements Serializable {
@ApiModelProperty
(
value
=
"下单时的会员等级"
)
@ApiModelProperty
(
value
=
"下单时的会员等级"
)
@Column
(
name
=
"member_level"
)
@Column
(
name
=
"member_level"
)
private
Integer
memberLevel
;
private
Integer
memberLevel
;
/**
* 违约金
*/
@ApiModelProperty
(
value
=
"违约金"
)
@Column
(
name
=
"violate_amount"
)
BigDecimal
ViolateAmount
;
/**
* 赔偿金
*/
@ApiModelProperty
(
value
=
"赔偿金"
)
@Column
(
name
=
"damages_amount"
)
BigDecimal
damagesAmount
;
/**
* 额外费用
*/
@ApiModelProperty
(
value
=
"额外费用"
)
@Column
(
name
=
"extra_amount"
)
BigDecimal
extraAmount
;
/**
* 返还的优惠券
*/
@ApiModelProperty
(
value
=
"返回的优惠券"
)
@Column
(
name
=
"back_coupon"
)
String
backCoupon
;
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderRentVehicleDetail.java
View file @
deb643f4
...
@@ -308,4 +308,11 @@ public class OrderRentVehicleDetail implements Serializable {
...
@@ -308,4 +308,11 @@ public class OrderRentVehicleDetail implements Serializable {
@Column
(
name
=
"fixed_loss_status"
)
@Column
(
name
=
"fixed_loss_status"
)
private
Integer
fixedLossStatus
;
private
Integer
fixedLossStatus
;
/**
* 返还的免费天数
*/
@ApiModelProperty
(
value
=
"返回的免费天数"
)
@Column
(
name
=
"back_free_days"
)
Integer
backFreeDays
;
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderVehicleCrosstown.java
View file @
deb643f4
...
@@ -105,6 +105,13 @@ public class OrderVehicleCrosstown {
...
@@ -105,6 +105,13 @@ public class OrderVehicleCrosstown {
*/
*/
private
String
dedDetail
;
private
String
dedDetail
;
/**
* 租车违约金明细
*/
@Column
(
name
=
"violate_amount_detail"
)
private
String
violateDetail
;
/**
/**
* 1、交车, 2、还车, 3、定损还车
* 1、交车, 2、还车, 3、定损还车
*/
*/
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/DedDetailDTO.java
View file @
deb643f4
...
@@ -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-api/src/main/java/com/xxfc/platform/order/pojo/calculate/InProgressVO.java
0 → 100644
View file @
deb643f4
package
com
.
xxfc
.
platform
.
order
.
pojo
.
calculate
;
import
lombok.Data
;
import
org.assertj.core.util.Lists
;
import
java.math.BigDecimal
;
import
java.util.List
;
@Data
public
class
InProgressVO
{
/**
* 违约金
*/
BigDecimal
ViolateAmount
=
BigDecimal
.
ZERO
;
/**
* 赔偿金
*/
BigDecimal
damagesAmount
=
BigDecimal
.
ZERO
;
/**
* 额外费用
*/
BigDecimal
extraAmount
=
BigDecimal
.
ZERO
;
/**
* 返还的优惠券
*/
List
<
String
>
backCoupons
=
Lists
.
newArrayList
();
/**
* 返还的免费天数
*/
Integer
backFreeDays
=
0
;
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderRefundBiz.java
View file @
deb643f4
...
@@ -145,7 +145,7 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
...
@@ -145,7 +145,7 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
* @param timeLag 与开始时间的时间差
* @param timeLag 与开始时间的时间差
* @param dicParentKey
* @param dicParentKey
*/
*/
public
void
rentRefundProcess
(
BaseOrder
baseOrder
,
Long
timeLag
,
String
dicParentKey
)
{
public
BigDecimal
rentRefundProcess
(
BaseOrder
baseOrder
,
Long
timeLag
,
String
dicParentKey
)
{
//计算退款金额
//计算退款金额
//商品价格 - 优惠券减免的价格
//商品价格 - 优惠券减免的价格
BigDecimal
originalRefundAmount
=
BigDecimal
.
ZERO
.
add
(
baseOrder
.
getGoodsAmount
().
subtract
(
baseOrder
.
getCouponAmount
()));
BigDecimal
originalRefundAmount
=
BigDecimal
.
ZERO
.
add
(
baseOrder
.
getGoodsAmount
().
subtract
(
baseOrder
.
getCouponAmount
()));
...
@@ -158,6 +158,7 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
...
@@ -158,6 +158,7 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
//退款子流程: 订单基础,退款描述,退款金额
//退款子流程: 订单基础,退款描述,退款金额
refundSubProcess
(
baseOrder
,
refundDescBuilder
.
toString
(),
originalRefundAmount
,
refundAmount
,
RefundTypeEnum
.
ORDER_FUND
.
getCode
(),
RefundStatusEnum
.
ALL
.
getCode
());
refundSubProcess
(
baseOrder
,
refundDescBuilder
.
toString
(),
originalRefundAmount
,
refundAmount
,
RefundTypeEnum
.
ORDER_FUND
.
getCode
(),
RefundStatusEnum
.
ALL
.
getCode
());
return
refundAmount
;
}
}
/**
/**
...
@@ -168,7 +169,7 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
...
@@ -168,7 +169,7 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
* @param dicParentKey
* @param dicParentKey
* @param originalDeductAmount
* @param originalDeductAmount
*/
*/
public
void
rentRefundDepositProcess
(
BaseOrder
baseOrder
,
BigDecimal
depositAmount
,
Long
timeLag
,
String
dicParentKey
,
BigDecimal
originalDeductAmount
)
{
public
BigDecimal
rentRefundDepositProcess
(
BaseOrder
baseOrder
,
BigDecimal
depositAmount
,
Long
timeLag
,
String
dicParentKey
,
BigDecimal
originalDeductAmount
)
{
// 1、押金 + 租金(规则扣除)
// 1、押金 + 租金(规则扣除)
BigDecimal
originalRefundAmount
=
BigDecimal
.
ZERO
.
add
(
depositAmount
);
BigDecimal
originalRefundAmount
=
BigDecimal
.
ZERO
.
add
(
depositAmount
);
BigDecimal
refundAmount
=
BigDecimal
.
ZERO
.
add
(
depositAmount
);
BigDecimal
refundAmount
=
BigDecimal
.
ZERO
.
add
(
depositAmount
);
...
@@ -178,12 +179,13 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
...
@@ -178,12 +179,13 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
BigDecimal
residueAmount
=
calculateRefund
(
originalDeductAmount
,
timeLag
,
dicParentKey
,
refundDescBuilder
);
BigDecimal
residueAmount
=
calculateRefund
(
originalDeductAmount
,
timeLag
,
dicParentKey
,
refundDescBuilder
);
residueAmount
=
residueAmount
.
setScale
(
2
,
RoundingMode
.
HALF_UP
);
residueAmount
=
residueAmount
.
setScale
(
2
,
RoundingMode
.
HALF_UP
);
//退款金额 :押金 - (原扣除款 - 剩余款)
//退款金额 :押金 - (原扣除款 - 剩余款)
即: 押金 - (免费天数对应的钱 - 剩余款)
refundAmount
=
originalRefundAmount
.
subtract
(
originalDeductAmount
.
subtract
(
residueAmount
));
refundAmount
=
originalRefundAmount
.
subtract
(
originalDeductAmount
.
subtract
(
residueAmount
));
}
}
//触发押金退款
//触发押金退款
refundSubProcess
(
baseOrder
,
refundDescBuilder
.
toString
(),
originalRefundAmount
,
refundAmount
,
RefundTypeEnum
.
DEPOSIT
.
getCode
(),
RefundStatusEnum
.
ALL
.
getCode
());
refundSubProcess
(
baseOrder
,
refundDescBuilder
.
toString
(),
originalRefundAmount
,
refundAmount
,
RefundTypeEnum
.
DEPOSIT
.
getCode
(),
RefundStatusEnum
.
ALL
.
getCode
());
return
refundAmount
;
}
}
public
BigDecimal
calculateRefund
(
BigDecimal
goodsAmount
,
Long
timeLag
,
String
dicParentKey
,
StringBuilder
refundDescBuilder
)
{
public
BigDecimal
calculateRefund
(
BigDecimal
goodsAmount
,
Long
timeLag
,
String
dicParentKey
,
StringBuilder
refundDescBuilder
)
{
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
View file @
deb643f4
...
@@ -13,11 +13,12 @@ import com.github.wxiaoqi.security.common.exception.BaseException;
...
@@ -13,11 +13,12 @@ import com.github.wxiaoqi.security.common.exception.BaseException;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.xxfc.platform.activity.user.UserInfoBiz
;
import
com.xxfc.platform.activity.user.UserInfoBiz
;
import
com.xxfc.platform.order.contant.enumerate.CrosstownTypeEnum
;
import
com.xxfc.platform.order.biz.inner.OrderCalculateBiz
;
import
com.xxfc.platform.order.contant.enumerate.DepositRefundStatus
;
import
com.xxfc.platform.order.contant.enumerate.*
;
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.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.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
;
...
@@ -71,6 +74,12 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
...
@@ -71,6 +74,12 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
@Autowired
@Autowired
BaseOrderBiz
baseOrderBiz
;
BaseOrderBiz
baseOrderBiz
;
@Autowired
OrderItemBiz
orderItemBiz
;
@Autowired
OrderCalculateBiz
orderCalculateBiz
;
public
OrderVehicleCrosstown
get
(
Integer
id
)
{
public
OrderVehicleCrosstown
get
(
Integer
id
)
{
return
selectById
(
id
);
return
selectById
(
id
);
}
}
...
@@ -79,11 +88,11 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
...
@@ -79,11 +88,11 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
List
<
OrderVehicleCrosstownDto
>
list
=
mapper
.
selectByOrderId
(
orderVehicleCrosstownDto
);
List
<
OrderVehicleCrosstownDto
>
list
=
mapper
.
selectByOrderId
(
orderVehicleCrosstownDto
);
for
(
OrderVehicleCrosstownDto
value
:
list
)
{
for
(
OrderVehicleCrosstownDto
value
:
list
)
{
if
(
value
!=
null
&&
value
.
getOrperaterId
()
!=
null
&&
value
.
getType
()
!=
1
)
{
if
(
value
!=
null
&&
value
.
getOrperaterId
()
!=
null
&&
value
.
getType
()
!=
1
)
{
UserDTO
userDTO
=
userFeign
.
userinfoByUid
(
value
.
getOrperaterId
()).
getData
();
UserDTO
userDTO
=
userFeign
.
userinfoByUid
(
value
.
getOrperaterId
()).
getData
();
if
(
userDTO
!=
null
)
{
if
(
userDTO
!=
null
)
{
CompanyDetail
branchCompany
=
vehicleFeign
.
getCompanyDetail
(
userDTO
.
getCompanyId
()).
getData
();
CompanyDetail
branchCompany
=
vehicleFeign
.
getCompanyDetail
(
userDTO
.
getCompanyId
()).
getData
();
if
(
branchCompany
!=
null
)
{
if
(
branchCompany
!=
null
)
{
value
.
setCustomerPhone
(
branchCompany
.
getVehiceServicePhone
());
value
.
setCustomerPhone
(
branchCompany
.
getVehiceServicePhone
());
}
}
}
}
...
@@ -163,20 +172,20 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
...
@@ -163,20 +172,20 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
}
OrderRentVehicleDetail
orderRentVehicleDetail
=
orderRentVehicleBiz
.
selectById
(
baseOrder
.
getDetailId
());
OrderRentVehicleDetail
orderRentVehicleDetail
=
orderRentVehicleBiz
.
selectById
(
baseOrder
.
getDetailId
());
if
(
orderVehicleCrosstownDto
.
getType
()
==
CrosstownTypeEnum
.
DEPARTURE
.
getCode
())
{
if
(
orderVehicleCrosstownDto
.
getType
()
==
CrosstownTypeEnum
.
DEPARTURE
.
getCode
())
{
boolean
flag
=
getTodayTime
(
orderRentVehicleDetail
.
getEndTime
());
boolean
flag
=
getTodayTime
(
orderRentVehicleDetail
.
getEndTime
());
if
(!
flag
)
{
if
(!
flag
)
{
return
ObjectRestResponse
.
createFailedResult
(
3502
,
"今日不是交车日期"
);
return
ObjectRestResponse
.
createFailedResult
(
3502
,
"今日不是交车日期"
);
}
}
if
(
userDTO
.
getCompanyId
()
!=
orderRentVehicleDetail
.
getStartCompanyId
())
{
if
(
userDTO
.
getCompanyId
()
!=
orderRentVehicleDetail
.
getStartCompanyId
())
{
return
ObjectRestResponse
.
createFailedResult
(
3501
,
"无交车权限"
);
return
ObjectRestResponse
.
createFailedResult
(
3501
,
"无交车权限"
);
}
}
}
else
{
}
else
{
if
(
userDTO
.
getCompanyId
()
!=
orderRentVehicleDetail
.
getEndCompanyId
())
{
if
(
userDTO
.
getCompanyId
()
!=
orderRentVehicleDetail
.
getEndCompanyId
())
{
return
ObjectRestResponse
.
createFailedResult
(
3503
,
"无收车权限"
);
return
ObjectRestResponse
.
createFailedResult
(
3503
,
"无收车权限"
);
}
}
}
}
if
(
baseOrder
.
getStatus
()
!=
-
1
)
{
if
(
baseOrder
.
getStatus
()
!=
-
1
)
{
Vehicle
vehicle
=
null
;
Vehicle
vehicle
=
null
;
RestResponse
<
Vehicle
>
restResponse
=
vehicleFeign
.
findById
(
orderRentVehicleDetail
.
getVehicleId
());
RestResponse
<
Vehicle
>
restResponse
=
vehicleFeign
.
findById
(
orderRentVehicleDetail
.
getVehicleId
());
log
.
info
(
"获取车辆信息返回消息:{}"
,
restResponse
.
getMessage
());
log
.
info
(
"获取车辆信息返回消息:{}"
,
restResponse
.
getMessage
());
...
@@ -186,12 +195,12 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
...
@@ -186,12 +195,12 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
if
(
vehicle
==
null
)
{
if
(
vehicle
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNEXIST
.
getCode
(),
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNEXIST
.
getDesc
());
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNEXIST
.
getCode
(),
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNEXIST
.
getDesc
());
}
}
if
(
vehicle
.
getMileageLastUpdate
()
!=
null
)
{
if
(
vehicle
.
getMileageLastUpdate
()
!=
null
)
{
//判断车辆公里数
//判断车辆公里数
if
(
orderVehicleCrosstownDto
.
getMileage
()
==
null
||
orderVehicleCrosstownDto
.
getMileage
()
<=
vehicle
.
getMileageLastUpdate
())
{
if
(
orderVehicleCrosstownDto
.
getMileage
()
==
null
||
orderVehicleCrosstownDto
.
getMileage
()
<=
vehicle
.
getMileageLastUpdate
())
{
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED
.
getCode
(),
ResCode
.
VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED
.
getDesc
());
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED
.
getCode
(),
ResCode
.
VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED
.
getDesc
());
}
}
}
}
}
}
AppUserDTO
appUserDTO
=
userFeign
.
userDetailById
(
baseOrder
.
getUserId
()).
getData
();
AppUserDTO
appUserDTO
=
userFeign
.
userDetailById
(
baseOrder
.
getUserId
()).
getData
();
...
@@ -204,13 +213,13 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
...
@@ -204,13 +213,13 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
vehicleDepartureVo
.
setDepartureBranchCompanyId
(
orderRentVehicleDetail
.
getStartCompanyId
());
vehicleDepartureVo
.
setDepartureBranchCompanyId
(
orderRentVehicleDetail
.
getStartCompanyId
());
vehicleDepartureVo
.
setExpectArrivalBranchCompanyId
(
orderRentVehicleDetail
.
getEndCompanyId
());
vehicleDepartureVo
.
setExpectArrivalBranchCompanyId
(
orderRentVehicleDetail
.
getEndCompanyId
());
vehicleDepartureVo
.
setMileage
(
orderVehicleCrosstownDto
.
getMileage
());
vehicleDepartureVo
.
setMileage
(
orderVehicleCrosstownDto
.
getMileage
());
if
(
appUserDTO
!=
null
)
{
if
(
appUserDTO
!=
null
)
{
vehicleDepartureVo
.
setUser
(
appUserDTO
.
getNickname
());
vehicleDepartureVo
.
setUser
(
appUserDTO
.
getNickname
());
vehicleDepartureVo
.
setUserTel
(
appUserDTO
.
getUsername
());
vehicleDepartureVo
.
setUserTel
(
appUserDTO
.
getUsername
());
}
else
{
}
else
{
vehicleDepartureVo
.
setUser
(
"APP用戶"
);
vehicleDepartureVo
.
setUser
(
"APP用戶"
);
vehicleDepartureVo
.
setUserTel
(
"13656235623"
);
vehicleDepartureVo
.
setUserTel
(
"13656235623"
);
}
}
vehicleDepartureVo
.
setUse
(
"用户租车"
);
vehicleDepartureVo
.
setUse
(
"用户租车"
);
vehicleDepartureVo
.
setBookRecordId
(
orderRentVehicleDetail
.
getBookRecordId
());
vehicleDepartureVo
.
setBookRecordId
(
orderRentVehicleDetail
.
getBookRecordId
());
vehicleDepartureVo
.
setCheckMan
(
orderVehicleCrosstownDto
.
getLicenseName
());
vehicleDepartureVo
.
setCheckMan
(
orderVehicleCrosstownDto
.
getLicenseName
());
...
@@ -229,7 +238,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
...
@@ -229,7 +238,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
vehicleArrivalVo
.
setMileage
(
orderVehicleCrosstownDto
.
getMileage
());
vehicleArrivalVo
.
setMileage
(
orderVehicleCrosstownDto
.
getMileage
());
vehicleArrivalVo
.
setRecycleMan
(
userDTO
.
getName
());
vehicleArrivalVo
.
setRecycleMan
(
userDTO
.
getName
());
vehicleArrivalVo
.
setBookRecordId
(
orderRentVehicleDetail
.
getBookRecordId
());
vehicleArrivalVo
.
setBookRecordId
(
orderRentVehicleDetail
.
getBookRecordId
());
if
(
appUserDTO
!=
null
)
{
if
(
appUserDTO
!=
null
)
{
vehicleArrivalVo
.
setRecycleManTel
(
appUserDTO
.
getUsername
());
vehicleArrivalVo
.
setRecycleManTel
(
appUserDTO
.
getUsername
());
}
else
{
}
else
{
vehicleArrivalVo
.
setRecycleManTel
(
"13565235623"
);
vehicleArrivalVo
.
setRecycleManTel
(
"13565235623"
);
...
@@ -246,17 +255,17 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
...
@@ -246,17 +255,17 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
JSONArray
jsonArray
=
JSONArray
.
parseArray
(
orderVehicleCrosstownDto
.
getDedDetail
());
JSONArray
jsonArray
=
JSONArray
.
parseArray
(
orderVehicleCrosstownDto
.
getDedDetail
());
for
(
int
i
=
0
;
i
<
jsonArray
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
jsonArray
.
size
();
i
++)
{
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
jsonArray
.
get
(
i
).
toString
());
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
jsonArray
.
get
(
i
).
toString
());
if
(
jsonObject
!=
null
)
{
if
(
jsonObject
!=
null
)
{
cost
+=
Double
.
parseDouble
(
jsonObject
.
getString
(
"cost"
));
cost
+=
Double
.
parseDouble
(
jsonObject
.
getString
(
"cost"
));
}
}
}
}
}
}
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
,
"押金不足,不能交车,请联系客服!"
);
}
}
//出车成功后修改订单状态
//出车成功后修改订单状态
List
<
OrderVehicleCrosstownDto
>
oldValue
=
orderVehicleCrosstownBiz
.
selectByOrderId
(
orderVehicleCrosstownDto
);
List
<
OrderVehicleCrosstownDto
>
oldValue
=
orderVehicleCrosstownBiz
.
selectByOrderId
(
orderVehicleCrosstownDto
);
...
@@ -286,46 +295,84 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
...
@@ -286,46 +295,84 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
private
void
handleOrderStatus
(
BaseOrder
baseOrder
,
OrderRentVehicleDetail
orderRentVehicleDetail
,
OrderVehicleCrosstown
orderVehicleCrosstown
)
{
private
void
handleOrderStatus
(
BaseOrder
baseOrder
,
OrderRentVehicleDetail
orderRentVehicleDetail
,
OrderVehicleCrosstown
orderVehicleCrosstown
)
{
//交车完成 设置订单状态为出行中
//交车完成 设置订单状态为出行中
BigDecimal
totalAmount
=
new
BigDecimal
(
0
);
BigDecimal
totalAmount
=
orderRentVehicleDetail
.
getDeposit
();
ObjectRestResponse
<
OrderPageVO
>
objectRestResponse
=
baseOrderBiz
.
getOrderDetail
(
baseOrder
.
getNo
());
if
(
objectRestResponse
.
getData
()
!=
null
&&
objectRestResponse
.
getData
().
getOrderRentVehicleDetail
()
!=
null
)
{
//总押金-保留金
totalAmount
=
objectRestResponse
.
getData
().
getOrderRentVehicleDetail
().
getDeposit
();
}
if
(
baseOrder
.
getStatus
()
==
OrderStatusEnum
.
ORDER_TOSTART
.
getCode
())
{
//交车
if
(
baseOrder
.
getStatus
()
==
OrderStatusEnum
.
ORDER_TOSTART
.
getCode
())
{
//交车
baseOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_WAIT
.
getCode
());
baseOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_WAIT
.
getCode
());
baseOrder
=
baseOrderBiz
.
updateSelectiveByIdReT
(
baseOrder
);
baseOrder
=
baseOrderBiz
.
updateSelectiveByIdReT
(
baseOrder
);
}
else
if
(
baseOrder
.
getStatus
()
==
OrderStatusEnum
.
ORDER_WAIT
.
getCode
())
{
//还车
}
else
if
(
baseOrder
.
getStatus
()
==
OrderStatusEnum
.
ORDER_WAIT
.
getCode
())
{
//还车
if
(
orderVehicleCrosstown
.
getType
()
==
CrosstownTypeEnum
.
ARRIVE
.
getCode
())
{
//不定损直接还车
//提前还车,结束时间大于当前时间
//添加非定损记录
DateTime
nowTime
=
DateTime
.
now
();
DepositRefundRecord
depositRefundRecord
=
new
DepositRefundRecord
();
DateTime
endTime
=
new
DateTime
(
orderRentVehicleDetail
.
getEndTime
());
depositRefundRecord
.
setAmount
(
orderVehicleCrosstown
.
getDeductionCost
());
DateTime
startTime
=
new
DateTime
(
orderRentVehicleDetail
.
getStartTime
());
depositRefundRecord
.
setRestAmount
(
totalAmount
.
subtract
(
getAmount
()).
subtract
(
orderVehicleCrosstown
.
getDeductionCost
()));
//实际预定的天数
depositRefundRecord
.
setTotalAmount
(
totalAmount
.
subtract
(
getAmount
()));
int
actualDay
=
getDaysBetweenDateTime
(
startTime
,
endTime
);
depositRefundRecord
.
setCrosstownId
(
orderVehicleCrosstown
.
getId
());
if
(
orderRentVehicleDetail
.
getEndTime
()
>
nowTime
.
getMillis
())
{
orderDepositRefundRecordBiz
.
saveNormalRecord
(
depositRefundRecord
);
//提前的天数
//修改订单状态为已完成
int
noUsedDay
=
getDaysBetweenDateTime
(
nowTime
,
endTime
);
baseOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_FINISH
.
getCode
());
//退还未使用的天数,或者金额,扣除违约金,实际未使用天数的金额,最多3000元
baseOrder
=
baseOrderBiz
.
updateSelectiveByIdReT
(
baseOrder
);
InProgressVO
inProgressVO
=
orderCalculateBiz
.
inProgressCalculate
(
baseOrder
,
actualDay
-
noUsedDay
);
//修改订单详情是否押金全部退还
if
(
inProgressVO
!=
null
)
{
orderRentVehicleDetail
.
setFixedLossStatus
(
0
);
baseOrder
.
setViolateAmount
(
inProgressVO
.
getViolateAmount
());
orderRentVehicleBiz
.
updateSelectiveByIdRe
(
orderRentVehicleDetail
);
baseOrder
.
setExtraAmount
(
inProgressVO
.
getExtraAmount
());
baseOrderBiz
.
sendOrderMq
(
orderRentVehicleDetail
,
null
,
null
,
baseOrder
,
OrderMQDTO
.
ORDER_FINISH
);
if
(
inProgressVO
.
getBackCoupons
()
!=
null
&&
inProgressVO
.
getBackCoupons
().
size
()
>
0
)
{
}
else
if
(
orderVehicleCrosstown
.
getType
()
==
CrosstownTypeEnum
.
FIXED_LOSS
.
getCode
())
{
//定损还车,添加定损记录
StringBuilder
backCoupons
=
new
StringBuilder
();
//添加定损记录
inProgressVO
.
getBackCoupons
().
forEach
((
a
)
->
backCoupons
.
append
(
a
+
","
));
DepositRefundRecord
depositRefundRecord
=
new
DepositRefundRecord
();
baseOrder
.
setBackCoupon
(
backCoupons
.
toString
());
depositRefundRecord
.
setAmount
(
orderVehicleCrosstown
.
getDeductionCost
());
}
depositRefundRecord
.
setRestAmount
(
totalAmount
.
subtract
(
getAmount
()).
subtract
(
orderVehicleCrosstown
.
getDeductionCost
()));
}
depositRefundRecord
.
setTotalAmount
(
totalAmount
.
subtract
(
getAmount
()));
BigDecimal
cost
=
new
BigDecimal
(
0
);
depositRefundRecord
.
setCrosstownId
(
orderVehicleCrosstown
.
getId
());
cost
.
add
(
inProgressVO
.
getExtraAmount
()).
add
(
inProgressVO
.
getViolateAmount
());
orderDepositRefundRecordBiz
.
saveFixLossRecord
(
depositRefundRecord
);
updateCrossRefund
(
orderVehicleCrosstown
,
cost
,
OrderViolateEnum
.
AFTER
.
getCode
());
//修改訂單狀態為定損
//延期还车,结束时间小于当前时间
baseOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_FIXED_LOSS
.
getCode
());
}
else
if
(
orderRentVehicleDetail
.
getEndTime
()
<
nowTime
.
getMillis
())
{
baseOrderBiz
.
updateSelectiveByIdReT
(
baseOrder
);
//延期的天数, 延期违约金是延期天数*200%
orderRentVehicleDetail
.
setFixedLossStatus
(
1
);
int
usedDay
=
getDaysBetweenDateTime
(
endTime
,
nowTime
);
orderRentVehicleBiz
.
updateSelectiveByIdRe
(
orderRentVehicleDetail
);
Integer
orderId
=
baseOrder
.
getId
();
List
<
OrderItem
>
items
=
orderItemBiz
.
selectList
(
new
OrderItem
()
{{
setOrderId
(
orderId
);
}});
BigDecimal
amount
=
new
BigDecimal
(
0
);
if
(
items
!=
null
&&
items
.
size
()
>
0
)
{
for
(
OrderItem
orderItem
:
items
)
{
if
(
orderItem
.
getType
()
==
ItemTypeEnum
.
VEHICLE_MODEL
.
getCode
())
{
amount
=
orderItem
.
getUnitPrice
();
break
;
}
}
}
BigDecimal
cost
=
amount
.
multiply
(
new
BigDecimal
(
usedDay
)).
multiply
(
new
BigDecimal
(
2
));
updateCrossRefund
(
orderVehicleCrosstown
,
cost
,
OrderViolateEnum
.
AFTER
.
getCode
());
}
}
}
if
(
orderVehicleCrosstown
.
getType
()
==
CrosstownTypeEnum
.
ARRIVE
.
getCode
())
{
//不定损直接还车
//添加非定损记录
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
.
saveNormalRecord
(
depositRefundRecord
);
//修改订单状态为已完成
baseOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_FINISH
.
getCode
());
baseOrder
=
baseOrderBiz
.
updateSelectiveByIdReT
(
baseOrder
);
//修改订单详情是否押金全部退还
orderRentVehicleDetail
.
setFixedLossStatus
(
0
);
orderRentVehicleBiz
.
updateSelectiveByIdRe
(
orderRentVehicleDetail
);
baseOrderBiz
.
sendOrderMq
(
orderRentVehicleDetail
,
null
,
null
,
baseOrder
,
OrderMQDTO
.
ORDER_FINISH
);
}
else
if
(
orderVehicleCrosstown
.
getType
()
==
CrosstownTypeEnum
.
FIXED_LOSS
.
getCode
())
{
//定损还车,添加定损记录
//添加定损记录
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
)
{
...
@@ -341,7 +388,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
...
@@ -341,7 +388,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
newValue
.
setId
(
null
);
newValue
.
setId
(
null
);
orderDepositRefundRecordBiz
.
save
(
newValue
);
orderDepositRefundRecordBiz
.
save
(
newValue
);
DepositRefundRecord
nextValue
=
orderDepositRefundRecordBiz
.
findByCrossIdAndStatus
(
orderVehicleCrosstown
.
getId
(),
DepositRefundStatus
.
FIXLOSSREFUNDARRIVAL
.
getCode
());
DepositRefundRecord
nextValue
=
orderDepositRefundRecordBiz
.
findByCrossIdAndStatus
(
orderVehicleCrosstown
.
getId
(),
DepositRefundStatus
.
FIXLOSSREFUNDARRIVAL
.
getCode
());
if
(
nextValue
!=
null
)
{
if
(
nextValue
!=
null
)
{
nextValue
.
setRestAmount
(
newValue
.
getRestAmount
());
nextValue
.
setRestAmount
(
newValue
.
getRestAmount
());
orderDepositRefundRecordBiz
.
update
(
nextValue
);
orderDepositRefundRecordBiz
.
update
(
nextValue
);
}
}
...
@@ -354,6 +401,30 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
...
@@ -354,6 +401,30 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
}
}
}
public
void
updateCrossRefund
(
OrderVehicleCrosstown
orderVehicleCrosstown
,
BigDecimal
cost
,
Integer
type
)
{
DedDetailDTO
dedDetailDTO
=
new
DedDetailDTO
();
String
detailName
=
null
;
if
(
type
==
OrderViolateEnum
.
BEFORE
.
getCode
())
{
dedDetailDTO
.
setType
(
OrderViolateEnum
.
BEFORE
.
getCode
());
detailName
=
"提前还车违约金"
;
}
else
if
(
type
==
OrderViolateEnum
.
AFTER
.
getCode
())
{
dedDetailDTO
.
setType
(
OrderViolateEnum
.
AFTER
.
getCode
());
detailName
=
"延期还车违约金"
;
}
dedDetailDTO
.
setDeductions
(
detailName
);
dedDetailDTO
.
setCost
(
cost
);
dedDetailDTO
.
setId
(
1
);
dedDetailDTO
.
setStatusIndex
(
1
);
dedDetailDTO
.
setStatusName
(
detailName
);
orderVehicleCrosstown
.
setViolateDetail
(
JSONObject
.
toJSONString
(
dedDetailDTO
));
BigDecimal
restDeposit
=
orderVehicleCrosstown
.
getRestDeposit
().
subtract
(
dedDetailDTO
.
getCost
());
orderVehicleCrosstown
.
setRestDeposit
(
restDeposit
);
orderVehicleCrosstown
.
setDeductionCost
(
orderVehicleCrosstown
.
getDeductionCost
().
add
(
dedDetailDTO
.
getCost
()));
orderVehicleCrosstownBiz
.
updateSelectiveByIdRe
(
orderVehicleCrosstown
);
}
//添加订单驾驶人信息
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
();
...
@@ -377,9 +448,18 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
...
@@ -377,9 +448,18 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
public
boolean
getTodayTime
(
Long
time
)
{
public
boolean
getTodayTime
(
Long
time
)
{
long
current
=
System
.
currentTimeMillis
();
long
current
=
System
.
currentTimeMillis
();
if
(
current
<=
(
time
/
(
1000
*
3600
*
24
)
*
(
1000
*
3600
*
24
)
-
TimeZone
.
getDefault
().
getRawOffset
()
)
+
24
*
60
*
60
*
1000
-
1
)
{
if
(
current
<=
(
time
/
(
1000
*
3600
*
24
)
*
(
1000
*
3600
*
24
)
-
TimeZone
.
getDefault
().
getRawOffset
()
)
+
24
*
60
*
60
*
1000
-
1
)
{
return
true
;
return
true
;
}
}
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-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/inner/OrderCalculateBiz.java
0 → 100644
View file @
deb643f4
package
com
.
xxfc
.
platform
.
order
.
biz
.
inner
;
import
cn.hutool.core.date.DateUtil
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.xxfc.platform.activity.entity.Coupon
;
import
com.xxfc.platform.activity.feign.ActivityFeign
;
import
com.xxfc.platform.app.entity.Cofig
;
import
com.xxfc.platform.app.feign.ConfigFeign
;
import
com.xxfc.platform.order.biz.OrderItemBiz
;
import
com.xxfc.platform.order.biz.OrderRefundBiz
;
import
com.xxfc.platform.order.contant.enumerate.ItemTypeEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderTypeEnum
;
import
com.xxfc.platform.order.contant.enumerate.RefundStatusEnum
;
import
com.xxfc.platform.order.contant.enumerate.RefundTypeEnum
;
import
com.xxfc.platform.order.entity.*
;
import
com.xxfc.platform.order.pojo.calculate.InProgressVO
;
import
com.xxfc.platform.universal.constant.DictionaryKey
;
import
com.xxfc.platform.universal.dto.SmsTemplateDTO
;
import
com.xxfc.platform.universal.entity.Dictionary
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
import
com.xxfc.platform.vehicle.entity.BranchCompany
;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
com.xxfc.platform.vehicle.pojo.CompanyDetail
;
import
lombok.extern.slf4j.Slf4j
;
import
org.assertj.core.util.Lists
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Map
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
HOUR_MINUTE_FORMATTE_HUTOOL
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_FALSE
;
import
static
com
.
xxfc
.
platform
.
universal
.
constant
.
DictionaryKey
.
APP_ORDER
;
/**
* 订单退款记录表
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-06-18 11:08:09
*/
@Slf4j
@Service
public
class
OrderCalculateBiz
{
@Autowired
UserFeign
userFeign
;
@Autowired
ThirdFeign
thirdFeign
;
@Autowired
VehicleFeign
vehicleFeign
;
@Autowired
ConfigFeign
configFeign
;
@Autowired
ActivityFeign
activityFeign
;
@Autowired
OrderRefundBiz
orderRefundBiz
;
@Autowired
OrderItemBiz
orderItemBiz
;
public
InProgressVO
inProgressCalculate
(
BaseOrder
baseOrder
,
OrderItem
orderItem
,
Integer
freeDays
,
Integer
useDays
)
{
//计算:剩余免费天数
Integer
backFreeDays
=
freeDays
-
useDays
;
//过了出发时间取消订单 ,优先使用免费天数
if
(
backFreeDays
<=
0
)
{
//大于总天数 只返回押金
if
(
useDays
>=
orderItem
.
getTotalNum
())
{
//退押金
//orderRefundBiz.rentRefundDepositProcess(hasUpdateOrder, orvd.getDeposit(), timeLag, APP_ORDER+ "_"+ RENT_REFUND, freeDayAmount);
}
else
{
//需要扣除订单费用
//判断是否达到优惠券条件 不符合则返还优惠券
Integer
consumeDays
=
0
-
backFreeDays
;
//计算使用天数的费用
BigDecimal
consumeAmount
=
orderItem
.
getUnitPrice
().
multiply
(
new
BigDecimal
(
consumeDays
+
""
));
List
<
String
>
backCouponNos
=
Lists
.
newArrayList
();
List
<
BigDecimal
>
couponAmounts
=
Lists
.
newArrayList
();
for
(
String
tickerNo
:
baseOrder
.
getCouponTickerNos
().
split
(
","
))
{
BigDecimal
couponAmount
=
activityFeign
.
use
(
baseOrder
.
getUserId
(),
Lists
.
newArrayList
(
tickerNo
),
baseOrder
.
getNo
(),
Coupon
.
CHANNEL_RENT
,
consumeAmount
,
ActivityFeign
.
TYPE_CHECK
);
if
(
couponAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
//能够使用优惠券,则不返还
couponAmounts
.
add
(
couponAmount
);
}
else
{
backCouponNos
.
add
(
tickerNo
);
}
}
}
}
else
{
//返回剩余免费天数,返回优惠券,订单款
}
return
new
InProgressVO
();
}
public
InProgressVO
inProgressCalculate
(
BaseOrder
baseOrder
,
Integer
useDays
)
{
OrderItem
orderItem
=
orderItemBiz
.
selectOne
(
new
OrderItem
(){{
setType
(
ItemTypeEnum
.
VEHICLE_MODEL
.
getCode
());
setOrderId
(
baseOrder
.
getId
());
}});
Integer
freeDays
=
(
null
==
orderItem
.
getCutNum
())?
0
:
orderItem
.
getCutNum
();
return
inProgressCalculate
(
baseOrder
,
orderItem
,
freeDays
,
useDays
);
}
}
\ No newline at end of file
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/inner/OrderCancelBiz.java
View file @
deb643f4
...
@@ -4,15 +4,19 @@ import com.github.wxiaoqi.security.admin.feign.UserFeign;
...
@@ -4,15 +4,19 @@ 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.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.xxfc.platform.activity.entity.Coupon
;
import
com.xxfc.platform.activity.feign.ActivityFeign
;
import
com.xxfc.platform.order.biz.*
;
import
com.xxfc.platform.order.biz.*
;
import
com.xxfc.platform.order.contant.enumerate.*
;
import
com.xxfc.platform.order.contant.enumerate.*
;
import
com.xxfc.platform.order.entity.*
;
import
com.xxfc.platform.order.entity.*
;
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.tour.feign.TourFeign
;
import
com.xxfc.platform.tour.feign.TourFeign
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
import
com.xxfc.platform.vehicle.common.RestResponse
;
import
com.xxfc.platform.vehicle.common.RestResponse
;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.assertj.core.util.Lists
;
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
;
...
@@ -55,6 +59,9 @@ public class OrderCancelBiz {
...
@@ -55,6 +59,9 @@ public class OrderCancelBiz {
@Autowired
@Autowired
OrderMsgBiz
orderMsgBiz
;
OrderMsgBiz
orderMsgBiz
;
@Autowired
OrderCalculateBiz
orderCalculateBiz
;
@Autowired
@Autowired
UserFeign
userFeign
;
UserFeign
userFeign
;
...
@@ -67,6 +74,9 @@ public class OrderCancelBiz {
...
@@ -67,6 +74,9 @@ public class OrderCancelBiz {
@Autowired
@Autowired
ThirdFeign
thirdFeign
;
ThirdFeign
thirdFeign
;
@Autowired
ActivityFeign
activityFeign
;
private
static
Map
<
Integer
,
List
<
Integer
>>
cancelAble
;
private
static
Map
<
Integer
,
List
<
Integer
>>
cancelAble
;
static
{
static
{
cancelAble
=
new
HashMap
<
Integer
,
List
<
Integer
>>();
cancelAble
=
new
HashMap
<
Integer
,
List
<
Integer
>>();
...
@@ -110,35 +120,49 @@ public class OrderCancelBiz {
...
@@ -110,35 +120,49 @@ public class OrderCancelBiz {
setOrderId
(
baseOrder
.
getId
());
setOrderId
(
baseOrder
.
getId
());
}});
}});
OrderItem
orderItem
=
orderItemBiz
.
selectOne
(
new
OrderItem
(){{
setType
(
ItemTypeEnum
.
VEHICLE_MODEL
.
getCode
());
setOrderId
(
baseOrder
.
getId
());
}});
//原退还押金
//原退还押金
Integer
freeDays
=
(
null
==
orderItem
.
getCutNum
())?
0
:
orderItem
.
getCutNum
();
BigDecimal
freeDayAmount
=
BigDecimal
.
ZERO
;
BigDecimal
freeDayAmount
=
BigDecimal
.
ZERO
;
//判断是否使用免费天数,并且进行扣款
if
(
null
!=
orvd
.
getFreeDays
()
&&
orvd
.
getFreeDays
()
>
0
)
{
OrderItem
orderItem
=
orderItemBiz
.
selectOne
(
new
OrderItem
(){{
setType
(
ItemTypeEnum
.
VEHICLE_MODEL
.
getCode
());
setOrderId
(
baseOrder
.
getId
());
}});
freeDayAmount
=
orderItem
.
getUnitPrice
().
multiply
(
new
BigDecimal
(
orvd
.
getFreeDays
()+
""
));
}
//如果超过出发时间,不能取消订单
//如果超过出发时间,不能取消订单
//根据时间处理goodsAmount
//根据时间处理goodsAmount
//获取出发时间 到现在 距离时间
//获取出发时间 到现在 距离时间
Long
timeLag
=
orvd
.
getStartTime
()
-
System
.
currentTimeMillis
();
Long
timeLag
=
orvd
.
getStartTime
()
-
System
.
currentTimeMillis
();
//后面允许开始时间过后可以取消订单
if
(
timeLag
<
0
)
{
// if(timeLag < 0) {
//计算:使用天数 当前时间 - 开始时间的0时0分0秒
// throw new BaseException(ResultCode.FAILED_CODE, new HashSet<String>(){{
Long
useTimeLag
=
System
.
currentTimeMillis
()
-
orvd
.
getStartTime
();
// add("已超过出发时间,不能取消订单");
Integer
useDays
=
new
BigDecimal
(
useTimeLag
+
""
).
divide
(
new
BigDecimal
((
24
*
60
*
60
*
1000
)+
""
)).
setScale
(
0
,
BigDecimal
.
ROUND_UP
).
intValue
();
// }});
orderCalculateBiz
.
inProgressCalculate
(
baseOrder
,
orderItem
,
freeDays
,
useDays
);
// }
}
else
{
//没到出车时间
//判断是否使用免费天数,并且进行扣款
if
(
freeDays
>
0
)
{
freeDayAmount
=
orderItem
.
getUnitPrice
().
multiply
(
new
BigDecimal
(
orvd
.
getFreeDays
()+
""
));
//违约金封顶 租车身份价 * 2天
BigDecimal
topAmount
=
orderItem
.
getUnitPrice
().
multiply
(
new
BigDecimal
(
"2"
));
if
(
freeDayAmount
.
compareTo
(
topAmount
)
>
0
)
{
freeDayAmount
=
freeDayAmount
;
}
}
}
//退款流程
//退款流程
//退押金
orderRefundBiz
.
rentRefundDepositProcess
(
hasUpdateOrder
,
orvd
.
getDeposit
(),
timeLag
,
APP_ORDER
+
"_"
+
RENT_REFUND
,
freeDayAmount
);
//退订单款
//退订单款
orderRefundBiz
.
rentRefundProcess
(
hasUpdateOrder
,
timeLag
,
APP_ORDER
+
"_"
+
RENT_REFUND
);
orderRefundBiz
.
rentRefundProcess
(
hasUpdateOrder
,
timeLag
,
APP_ORDER
+
"_"
+
RENT_REFUND
);
//退押金
orderRefundBiz
.
rentRefundDepositProcess
(
hasUpdateOrder
,
orvd
.
getDeposit
(),
timeLag
,
APP_ORDER
+
"_"
+
RENT_REFUND
,
freeDayAmount
);
//已付款的取消订单发送消息
//已付款的取消订单发送消息
try
{
try
{
AppUserDTO
appUserDTO
=
userFeign
.
userDetailById
(
baseOrder
.
getUserId
()).
getData
();
AppUserDTO
appUserDTO
=
userFeign
.
userDetailById
(
baseOrder
.
getUserId
()).
getData
();
...
...
xx-uccn/xx-uccn-server/src/main/java/com/xxfc/platform/uccn/biz/FriendLinkBiz.java
View file @
deb643f4
...
@@ -38,6 +38,9 @@ public class FriendLinkBiz extends BaseBiz<FriendLinkMapper, FriendLink> {
...
@@ -38,6 +38,9 @@ public class FriendLinkBiz extends BaseBiz<FriendLinkMapper, FriendLink> {
public
void
saveFriendLink
(
FriendLinkDTO
friendLinkDTO
)
{
public
void
saveFriendLink
(
FriendLinkDTO
friendLinkDTO
)
{
FriendLink
friendLink
=
new
FriendLink
();
FriendLink
friendLink
=
new
FriendLink
();
BeanUtils
.
copyProperties
(
friendLinkDTO
,
friendLink
);
BeanUtils
.
copyProperties
(
friendLinkDTO
,
friendLink
);
if
(
friendLink
.
getOnState
()){
friendLink
.
setPublishTime
(
Instant
.
now
().
toEpochMilli
());
}
if
(
Objects
.
isNull
(
friendLinkDTO
.
getId
()))
{
if
(
Objects
.
isNull
(
friendLinkDTO
.
getId
()))
{
friendLink
.
setCrtTime
(
Instant
.
now
().
toEpochMilli
());
friendLink
.
setCrtTime
(
Instant
.
now
().
toEpochMilli
());
friendLink
.
setIsDel
(
false
);
friendLink
.
setIsDel
(
false
);
...
...
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