记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
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
董敬伟
liquidnet-bus-v1
Commits
27707708
Commit
27707708
authored
Sep 27, 2021
by
张国柄
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/pre' into pre
parents
3bcbf028
ba8037be
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
532 additions
and
0 deletions
+532
-0
IKylinOrderTicketsService.java
...dnet/service/kylin/service/IKylinOrderTicketsService.java
+19
-0
KylinOrderTicketsController.java
...service/kylin/controller/KylinOrderTicketsController.java
+39
-0
KylinOrderTicketsServiceImpl.java
...vice/kylin/service/impl/KylinOrderTicketsServiceImpl.java
+319
-0
KylinRefundsStatusServiceImpl.java
...ice/kylin/service/impl/KylinRefundsStatusServiceImpl.java
+155
-0
No files found.
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/service/IKylinOrderTicketsService.java
View file @
27707708
...
@@ -48,4 +48,23 @@ public interface IKylinOrderTicketsService {
...
@@ -48,4 +48,23 @@ public interface IKylinOrderTicketsService {
//拒绝转赠订单
//拒绝转赠订单
ResponseDto
<
String
>
orderTransferBack
(
String
orderId
);
ResponseDto
<
String
>
orderTransferBack
(
String
orderId
);
//想要退款详情
ResponseDto
<
KylinOrderTicketPreVo
>
toOrderRefundDetails
(
String
orderId
);
//退款详情
ResponseDto
<
OrderRefundVo
>
orderRefundDetails
(
String
orderId
,
String
orderRefundId
);
/**
* 发起退款
* @param orderId 订单id
* @param orderTicketEntitiesId 票单id
* @param reason 退款原因
* @param picList 证据截图
* @return 是否成功
*/
String
sendOrderRefund
(
String
orderId
,
String
orderTicketEntitiesId
,
String
reason
,
String
picList
);
//退款撤回
ResponseDto
<
Boolean
>
orderRefundWithdraw
(
String
orderRefundsId
);
}
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/controller/KylinOrderTicketsController.java
View file @
27707708
...
@@ -153,4 +153,43 @@ public class KylinOrderTicketsController {
...
@@ -153,4 +153,43 @@ public class KylinOrderTicketsController {
public
ResponseDto
<
String
>
orderTransferBack
(
@RequestParam
(
value
=
"orderId"
)
String
orderId
)
{
public
ResponseDto
<
String
>
orderTransferBack
(
@RequestParam
(
value
=
"orderId"
)
String
orderId
)
{
return
orderTicketsService
.
orderTransferBack
(
orderId
);
return
orderTicketsService
.
orderTransferBack
(
orderId
);
}
}
@GetMapping
(
"toOrderRefundDetails"
)
@ApiOperation
(
"想要退款订单详情"
)
@ApiResponse
(
code
=
200
,
message
=
"接口返回对象参数"
)
public
ResponseDto
<
KylinOrderTicketPreVo
>
toOrderRefundDetails
(
@RequestParam
(
value
=
"orderId"
,
required
=
false
)
@NotNull
(
message
=
"订单ID不能为空"
)
String
orderId
)
{
return
orderTicketsService
.
toOrderRefundDetails
(
orderId
);
}
@PostMapping
(
"sendOrderRefunds"
)
@ApiOperation
(
"发起退款申请"
)
@ApiResponse
(
code
=
200
,
message
=
"接口返回对象参数"
)
public
ResponseDto
<
HashMap
<
String
,
String
>>
sendOrderRefund
(
@RequestParam
(
value
=
"orderId"
,
required
=
true
)
@NotNull
(
message
=
"订单ID不能为空"
)
String
orderId
,
@RequestParam
(
value
=
"orderTicketEntitiesId"
,
required
=
true
)
@NotNull
(
message
=
"票单ID不能为空"
)
String
orderTicketEntitiesId
,
@RequestParam
(
value
=
"reason"
,
required
=
true
)
@NotNull
(
message
=
"退款原因不能为空"
)
String
reason
,
@RequestParam
(
value
=
"picList"
,
required
=
false
)
String
picList
)
{
String
orderRefundId
=
orderTicketsService
.
sendOrderRefund
(
orderId
,
orderTicketEntitiesId
,
reason
,
picList
);
if
(
orderRefundId
.
length
()
>
10
)
{
HashMap
<
String
,
String
>
map
=
CollectionUtil
.
mapStringString
();
map
.
put
(
"orderRefundsId"
,
orderRefundId
);
return
ResponseDto
.
success
(
map
);
}
else
{
return
ResponseDto
.
failure
(
orderRefundId
);
}
}
@GetMapping
(
"orderRefundDetails"
)
@ApiOperation
(
"退款申请详情"
)
@ApiResponse
(
code
=
200
,
message
=
"接口返回对象参数"
)
public
ResponseDto
<
OrderRefundVo
>
orderRefundDetails
(
@RequestParam
(
value
=
"orderId"
,
required
=
true
)
@NotNull
(
message
=
"订单ID不能为空"
)
String
orderId
,
@RequestParam
(
value
=
"orderRefundId"
,
required
=
true
)
@NotNull
(
message
=
"退款订单ID不能为空"
)
String
orderRefundId
)
{
return
orderTicketsService
.
orderRefundDetails
(
orderId
,
orderRefundId
);
}
@PostMapping
(
"orderRefundWithdraw"
)
@ApiOperation
(
"发起退款撤回"
)
@ApiResponse
(
code
=
200
,
message
=
"接口返回对象参数"
)
public
ResponseDto
<
Boolean
>
orderRefundWithdraw
(
@RequestParam
(
value
=
"orderRefundId"
,
required
=
true
)
@NotNull
(
message
=
"退款订单ID不能为空"
)
String
orderRefundId
)
{
return
orderTicketsService
.
orderRefundWithdraw
(
orderRefundId
);
}
}
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/KylinOrderTicketsServiceImpl.java
View file @
27707708
...
@@ -918,4 +918,323 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
...
@@ -918,4 +918,323 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
return
ResponseDto
.
success
(
"回退成功"
);
return
ResponseDto
.
success
(
"回退成功"
);
}
}
@Override
public
ResponseDto
<
KylinOrderTicketPreVo
>
toOrderRefundDetails
(
String
orderId
)
{
try
{
KylinOrderTicketPreVo
vo
=
KylinOrderTicketPreVo
.
getNew
();
String
uid
=
CurrentUtil
.
getCurrentUid
();
KylinOrderTicketVo
orderTicketVo
=
dataUtils
.
getOrderTicketVo
(
orderId
);
KylinPerformanceVo
performanceVo
=
dataUtils
.
getPerformanceVo
(
orderTicketVo
.
getPerformanceId
());
List
<
KylinOrderRefundsVo
>
kylinOrderRefundsVoBaseList
=
dataUtils
.
getOrderRefundVoByOrderId
(
orderTicketVo
.
getOrderTicketsId
());
if
(
uid
.
equals
(
"809406"
)
||
uid
.
equals
(
"773650"
))
{
}
else
{
if
(!
orderTicketVo
.
getUserId
().
equals
(
uid
))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20003"
));
}
}
List
<
KylinOrderTicketEntitiesVo
>
kylinOrderTicketEntitiesVoList
=
orderTicketVo
.
getEntitiesVoList
();
List
<
KylinOrderTicketEntitiesPreRefundVo
>
kylinOrderTicketEntitiesPreRefundVos
=
ObjectUtil
.
getKylinOrderTicketEntitiesPreRefundVoArrayList
();
// 数据脱敏
for
(
KylinOrderTicketEntitiesVo
item
:
kylinOrderTicketEntitiesVoList
)
{
KylinOrderTicketEntitiesPreRefundVo
refundVo
=
KylinOrderTicketEntitiesPreRefundVo
.
getNew
();
if
(
item
.
getEnterIdCode
().
length
()
==
18
)
{
item
.
setEnterIdCode
(
item
.
getEnterIdCode
().
substring
(
0
,
3
)
+
"*************"
+
item
.
getEnterIdCode
().
substring
(
16
));
}
if
(
item
.
getEnterMobile
().
length
()
==
11
)
{
item
.
setEnterMobile
(
item
.
getEnterMobile
().
substring
(
0
,
3
)
+
"****"
+
item
.
getEnterMobile
().
substring
(
7
));
}
item
.
setPriceActual
(
orderTicketVo
.
getPriceActual
().
subtract
(
orderTicketVo
.
getPriceExpress
()).
divide
(
BigDecimal
.
valueOf
(
orderTicketVo
.
getNumber
())));
item
.
setPriceCanRefund
(
dataUtils
.
getCanRefundOrderEntitiesPrice
(
orderTicketVo
,
kylinOrderRefundsVoBaseList
,
item
.
getOrderTicketEntitiesId
()));
BeanUtils
.
copyProperties
(
item
,
refundVo
);
kylinOrderTicketEntitiesPreRefundVos
.
add
(
refundVo
);
}
orderTicketVo
.
setFieldName
(
performanceVo
.
getFieldName
());
if
(
orderTicketVo
.
getOrderCode
().
length
()
>
20
)
{
orderTicketVo
.
setOrderCode
(
orderTicketVo
.
getOrderCode
().
substring
(
orderTicketVo
.
getOrderCode
().
length
()
-
10
));
}
BeanUtils
.
copyProperties
(
orderTicketVo
,
vo
);
vo
.
setIsTrueName
(
performanceVo
.
getIsTrueName
());
vo
.
setEntitiesPreRefundVos
(
kylinOrderTicketEntitiesPreRefundVos
);
return
ResponseDto
.
success
(
vo
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20030"
));
}
}
@Override
public
ResponseDto
<
OrderRefundVo
>
orderRefundDetails
(
String
orderId
,
String
orderRefundId
)
{
try
{
OrderRefundVo
vo
=
OrderRefundVo
.
getNew
();
String
uid
=
CurrentUtil
.
getCurrentUid
();
KylinOrderTicketVo
orderTicketVo
=
dataUtils
.
getOrderTicketVo
(
orderId
);
KylinPerformanceVo
performanceVo
=
dataUtils
.
getPerformanceVo
(
orderTicketVo
.
getPerformanceId
());
if
(
uid
.
equals
(
"809406"
)
||
uid
.
equals
(
"773650"
))
{
}
else
{
if
(!
orderTicketVo
.
getUserId
().
equals
(
uid
))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20003"
));
}
}
orderTicketVo
.
setFieldName
(
performanceVo
.
getFieldName
());
if
(
orderTicketVo
.
getOrderCode
().
length
()
>
20
)
{
orderTicketVo
.
setOrderCode
(
orderTicketVo
.
getOrderCode
().
substring
(
orderTicketVo
.
getOrderCode
().
length
()
-
10
));
}
KylinOrderRefundsVo
kylinOrderRefundsVoBase
=
dataUtils
.
getOrderRefundVo
(
orderRefundId
);
if
(
kylinOrderRefundsVoBase
.
getOrderRefundCode
().
length
()
>
20
)
{
kylinOrderRefundsVoBase
.
setOrderRefundCode
(
kylinOrderRefundsVoBase
.
getOrderRefundCode
().
substring
(
kylinOrderRefundsVoBase
.
getOrderRefundCode
().
length
()
-
10
));
}
vo
.
setKylinOrderRefundsVoBaseList
(
kylinOrderRefundsVoBase
);
vo
.
setOrderTicketVo
(
orderTicketVo
);
return
ResponseDto
.
success
(
vo
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20030"
));
}
}
@Override
public
String
sendOrderRefund
(
String
orderId
,
String
orderTicketEntitiesId
,
String
reason
,
String
picList
)
{
KylinOrderTicketEntitiesVo
orderTicketEntitiesVo
=
null
;
try
{
String
uid
=
CurrentUtil
.
getCurrentUid
();
KylinOrderTicketVo
orderTicketVo
=
dataUtils
.
getOrderTicketVo
(
orderId
);
List
<
KylinOrderRefundsVo
>
kylinOrderRefundsVoBaseList
=
dataUtils
.
getOrderRefundVoByOrderId
(
orderTicketVo
.
getOrderTicketsId
());
if
(
uid
.
equals
(
"809406"
)
||
uid
.
equals
(
"773650"
))
{
}
else
{
if
(!
orderTicketVo
.
getUserId
().
equals
(
uid
))
{
return
"无权查看"
;
}
}
if
(!
orderTicketVo
.
getPayStatus
().
equals
(
1
))
{
return
"暂不支持退款"
;
}
KylinPerformanceVo
performanceVo
=
dataUtils
.
getPerformanceVo
(
orderTicketVo
.
getPerformanceId
());
KylinTicketVo
ticketVo
=
null
;
//获取购票数据
for
(
int
x
=
0
;
x
<
performanceVo
.
getTicketTimeList
().
size
();
x
++)
{
KylinTicketTimesVo
timeItem
=
performanceVo
.
getTicketTimeList
().
get
(
x
);
for
(
int
y
=
0
;
y
<
timeItem
.
getTicketList
().
size
();
y
++)
{
KylinTicketVo
ticketItem
=
timeItem
.
getTicketList
().
get
(
y
);
if
(
ticketItem
.
getTicketsId
().
equals
(
orderTicketVo
.
getTicketId
()))
{
ticketVo
=
ticketItem
;
break
;
}
}
}
if
(
null
!=
performanceVo
.
getIsCanRefund
()
&&
performanceVo
.
getIsCanRefund
()
==
1
)
{
LocalDateTime
refundOpenDate
=
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
parse
(
performanceVo
.
getRefundOpenTime
());
LocalDateTime
refundCloseDate
=
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
parse
(
performanceVo
.
getRefundCloseTime
());
if
(
LocalDateTime
.
now
().
isAfter
(
refundOpenDate
)
&&
LocalDateTime
.
now
().
isBefore
(
refundCloseDate
)
&&
orderTicketVo
.
getExpressAddress
().
trim
().
equals
(
""
)
&&
ticketVo
.
getCounts
()
==
1
)
{
}
else
{
return
"暂不支持退款"
;
}
}
else
{
return
"暂不支持退款"
;
}
List
<
KylinOrderTicketEntitiesVo
>
entitiesVos
=
orderTicketVo
.
getEntitiesVoList
();
for
(
KylinOrderTicketEntitiesVo
item
:
entitiesVos
)
{
if
(
item
.
getOrderTicketEntitiesId
().
equals
(
orderTicketEntitiesId
))
{
orderTicketEntitiesVo
=
item
;
}
}
if
(
null
==
orderTicketEntitiesVo
)
{
return
"订单不存在"
;
}
BigDecimal
refundSinglePrice
=
dataUtils
.
getCanRefundOrderEntitiesPrice
(
orderTicketVo
,
kylinOrderRefundsVoBaseList
,
orderTicketEntitiesId
);
if
(
refundSinglePrice
.
compareTo
(
BigDecimal
.
ZERO
)
<=
0
)
{
return
"申请金额不得小于0"
;
}
Map
token
=
CurrentUtil
.
getTokenClaims
();
String
username
=
StringUtils
.
defaultString
(((
String
)
token
.
get
(
"nickname"
)),
""
);
String
result
=
refundsStatusService
.
userOrderTicketRefunding
(
orderTicketVo
,
refundSinglePrice
.
doubleValue
(),
orderTicketEntitiesId
,
reason
,
picList
,
uid
,
username
,
kylinOrderRefundsVoBaseList
.
size
());
if
(
result
!=
""
)
{
return
result
;
}
else
{
return
"申请失败"
;
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
"申请失败"
;
}
}
@Override
public
ResponseDto
<
Boolean
>
orderRefundWithdraw
(
String
orderRefundsId
)
{
LinkedList
<
String
>
sqls
=
CollectionUtil
.
linkedListString
();
LinkedList
<
Object
[]>
sqlsDataA
=
CollectionUtil
.
linkedListObjectArr
();
LinkedList
<
Object
[]>
sqlsDataB
=
CollectionUtil
.
linkedListObjectArr
();
LinkedList
<
Object
[]>
sqlsDataC
=
CollectionUtil
.
linkedListObjectArr
();
LocalDateTime
time
=
LocalDateTime
.
now
();
String
strTime
=
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
format
(
time
);
try
{
KylinOrderRefundsVo
orderRefundsVo
=
dataUtils
.
getOrderRefundVo
(
orderRefundsId
);
if
(!
orderRefundsVo
.
getStatus
().
equals
(
0
))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20020"
));
}
List
<
KylinOrderRefundEntitiesVo
>
refundEntities
=
orderRefundsVo
.
getOrderRefundEntitiesVoList
();
String
orderTicketsId
=
orderRefundsVo
.
getOrderTicketsId
();
KylinOrderTicketVo
orderTicketVo
=
dataUtils
.
getOrderTicketVo
(
orderTicketsId
);
// 更新数据
// 订单状态表 判断是退到正在退款 已付款 部分退款?(取消,完成,失败)
int
newStatus
;
int
refundingCount
=
0
;
List
<
KylinOrderRefundsVo
>
orderRefundsVoList
=
dataUtils
.
getOrderRefundVoByOrderId
(
orderTicketsId
);
for
(
KylinOrderRefundsVo
item
:
orderRefundsVoList
)
{
int
status
=
item
.
getStatus
();
log
.
info
(
"status = "
+
status
);
if
(
status
!=
2
&&
status
!=
4
&&
status
!=
5
&&
!
item
.
getOrderRefundsId
().
equals
(
orderRefundsId
))
{
refundingCount
+=
1
;
}
}
if
(
refundingCount
>
0
)
{
// 存在其他正在退款的订单
newStatus
=
KylinTableStatusConst
.
ORDER_STATUS3
;
}
else
{
if
(
orderTicketVo
.
getPriceRefund
().
doubleValue
()
>
0
)
{
// 已经有退完的 那就是部分退款了
newStatus
=
KylinTableStatusConst
.
ORDER_STATUS6
;
}
else
if
(
orderTicketVo
.
getStatus
()
!=
2
)
{
newStatus
=
KylinTableStatusConst
.
ORDER_STATUS1
;
}
else
{
newStatus
=
KylinTableStatusConst
.
ORDER_STATUS2
;
}
}
KylinOrderTicketStatus
orderStatusTable
=
KylinOrderTicketStatus
.
getNew
();
log
.
info
(
"newStatus = "
+
newStatus
);
orderStatusTable
.
setStatus
(
newStatus
);
orderStatusTable
.
setUpdatedAt
(
time
);
LocalDateTime
now
=
LocalDateTime
.
now
();
sqlsDataA
.
add
(
new
Object
[]{
orderStatusTable
.
getStatus
(),
orderStatusTable
.
getUpdatedAt
(),
orderTicketsId
,
now
,
now
});
KylinOrderTicketVo
kylinOrderTicketVo
=
KylinOrderTicketVo
.
getNew
();
kylinOrderTicketVo
.
setStatus
(
newStatus
);
kylinOrderTicketVo
.
setUpdatedAt
(
strTime
);
kylinOrderTicketVo
.
setChangeDate
(
time
);
BasicDBObject
orderObject
=
new
BasicDBObject
(
"$set"
,
JSON
.
parse
(
JsonUtils
.
toJson
(
kylinOrderTicketVo
)));
mongoTemplate
.
getCollection
(
KylinOrderTicketVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"orderTicketsId"
).
is
(
orderTicketsId
)).
getQueryObject
(),
orderObject
);
orderUtils
.
resetOrderListVo
(
orderTicketVo
.
getUserId
(),
2
,
orderTicketsId
,
null
);
// 入场人
for
(
KylinOrderRefundEntitiesVo
item
:
refundEntities
)
{
// 订单状态表 判断是退到正在退款 已付款 部分退款?(取消,完成,失败)
int
newIsPayment
=
0
;
int
refundingEntitiesCount
=
0
;
for
(
KylinOrderRefundsVo
item2
:
orderRefundsVoList
)
{
int
status
=
item2
.
getStatus
();
if
(!
item2
.
getOrderRefundsId
().
equals
(
orderRefundsId
)
&&
(
status
!=
2
&&
status
!=
4
&&
status
!=
5
))
{
for
(
KylinOrderRefundEntitiesVo
item3
:
item2
.
getOrderRefundEntitiesVoList
())
{
if
(
item3
.
getOrderTicketEntitiesId
().
equals
(
item
.
getOrderTicketEntitiesId
()))
{
refundingEntitiesCount
+=
1
;
}
}
}
/*for (KylinOrderRefundEntitiesVo item3 : item2.getOrderRefundEntitiesVoList()) {
if (item3.getOrderTicketEntitiesId().equals(item.getOrderTicketEntitiesId())) {
entitiesAllPrice.add(item3.getRefundPrice());
}
}*/
}
KylinOrderTicketEntitiesVo
entitiesVo
=
null
;
for
(
KylinOrderTicketEntitiesVo
entitiesVo1
:
orderTicketVo
.
getEntitiesVoList
())
{
if
(
entitiesVo1
.
getOrderTicketEntitiesId
().
equals
(
item
.
getOrderTicketEntitiesId
()))
{
entitiesVo
=
entitiesVo1
;
break
;
}
}
log
.
info
(
"getRefundPrice ="
+
item
.
getRefundPrice
());
if
(
refundingEntitiesCount
>
0
)
{
// 存在其他正在退款的该入场人订单
newIsPayment
=
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT2
;
}
else
{
if
(
orderTicketVo
.
getPriceRefund
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
// 已经有退完的 那就是部分退款了
newIsPayment
=
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT4
;
}
else
{
newIsPayment
=
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT1
;
}
}
KylinOrderTicketEntities
entitiesTable
=
KylinOrderTicketEntities
.
getNew
();
entitiesTable
.
setIsPayment
(
newIsPayment
);
entitiesTable
.
setUpdatedAt
(
time
);
log
.
info
(
"sqlsDataB data = "
+
entitiesTable
.
getIsPayment
());
sqlsDataB
.
add
(
new
Object
[]{
entitiesTable
.
getIsPayment
(),
entitiesTable
.
getUpdatedAt
(),
item
.
getOrderTicketEntitiesId
(),
now
,
now
});
KylinOrderTicketEntitiesVo
kylinOrderTicketEntitiesVo
=
KylinOrderTicketEntitiesVo
.
getNew
();
kylinOrderTicketEntitiesVo
.
setIsPayment
(
newIsPayment
);
kylinOrderTicketEntitiesVo
.
setUpdatedAt
(
strTime
);
kylinOrderTicketEntitiesVo
.
setChangeDate
(
time
);
// for (KylinOrderRefundEntitiesVo item2:orderRefundsVo.getOrderRefundEntitiesVoList()){
// if(item2.getOrderTicketEntitiesId().equalsIgnoreCase(item.getOrderTicketEntitiesId())){
// log.info("entitiesVo.getRefundPrice() = "+entitiesVo.getRefundPrice());
// log.info("item2.getRefundPrice() = "+item2.getRefundPrice());
kylinOrderTicketEntitiesVo
.
setRefundPrice
(
entitiesVo
.
getRefundPrice
());
// }
// }
log
.
info
(
"entitiesVo.getRefundPrice() = "
+
entitiesVo
.
getRefundPrice
());
BasicDBObject
entitiesObject
=
new
BasicDBObject
(
"$set"
,
JSON
.
parse
(
JsonUtils
.
toJson
(
kylinOrderTicketEntitiesVo
)));
mongoTemplate
.
getCollection
(
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"orderTicketEntitiesId"
).
is
(
item
.
getOrderTicketEntitiesId
())).
getQueryObject
(),
entitiesObject
);
dataUtils
.
delOrderTicketEntitiesRedis
(
item
.
getOrderTicketEntitiesId
());
}
// 退款细节取消
KylinOrderRefunds
kylinOrderRefunds
=
KylinOrderRefunds
.
getNew
();
kylinOrderRefunds
.
setStatus
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_CANCEL
);
kylinOrderRefunds
.
setUpdatedAt
(
LocalDateTime
.
now
());
mongoTemplate
.
getCollection
(
KylinOrderRefundsVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"orderRefundsId"
).
is
(
orderRefundsId
)).
getQueryObject
(),
new
Document
(
"$set"
,
new
Document
(
"status"
,
KylinTableStatusConst
.
ORDER_REFUND_STATUS_CANCEL
).
append
(
"updatedAt"
,
time
))
);
sqlsDataC
.
add
(
new
Object
[]{
KylinTableStatusConst
.
ORDER_REFUND_STATUS_CANCEL
,
time
,
orderRefundsId
});
dataUtils
.
delOrderRefundVo
(
orderRefundsId
);
dataUtils
.
delOrderRefundVoByOrderId
(
orderTicketsId
);
dataUtils
.
delOrderTicketRedis
(
orderTicketsId
);
orderUtils
.
resetOrderListVo
(
CurrentUtil
.
getCurrentUid
(),
2
,
orderTicketsId
,
null
);
sqls
.
add
(
SqlMapping
.
get
(
"kylin_order_ticket_status.withDraw"
));
sqls
.
add
(
SqlMapping
.
get
(
"kylin_order_ticket_entities.withDraw"
));
sqls
.
add
(
SqlMapping
.
get
(
"kylin_order_refund.withDraw"
));
queueUtils
.
sendMsgByRedis
(
MQConst
.
KylinQueue
.
SQL_ORDER_WITHDRAW
.
getKey
(),
SqlMapping
.
gets
(
sqls
,
sqlsDataA
,
sqlsDataB
,
sqlsDataC
));
return
ResponseDto
.
success
(
true
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20020"
));
}
}
}
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/KylinRefundsStatusServiceImpl.java
View file @
27707708
...
@@ -196,4 +196,159 @@ public class KylinRefundsStatusServiceImpl {
...
@@ -196,4 +196,159 @@ public class KylinRefundsStatusServiceImpl {
return
""
;
return
""
;
}
}
}
}
public
String
userOrderTicketRefunding
(
KylinOrderTicketVo
orderInfo
,
double
refundPrice
,
String
orderEntitiesId
,
String
reason
,
String
picList
,
String
uid
,
String
username
,
int
refundCount
)
{
try
{
LocalDateTime
time
=
LocalDateTime
.
now
();
String
strTime
=
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
format
(
time
);
// 订单状态表 和 缓存
KylinOrderTicketStatus
orderStatusTable
=
new
KylinOrderTicketStatus
();
orderStatusTable
.
setStatus
(
KylinTableStatusConst
.
ORDER_STATUS3
);
orderStatusTable
.
setUpdatedAt
(
time
);
KylinOrderTicketVo
kylinOrderTicketVo
=
KylinOrderTicketVo
.
getNew
();
kylinOrderTicketVo
.
setStatus
(
KylinTableStatusConst
.
ORDER_STATUS3
);
kylinOrderTicketVo
.
setUpdatedAt
(
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
format
(
time
));
BasicDBObject
orderObject
=
new
BasicDBObject
(
"$set"
,
JSON
.
parse
(
JsonUtils
.
toJson
(
kylinOrderTicketVo
)));
mongoTemplate
.
getCollection
(
KylinOrderTicketVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"orderTicketsId"
).
is
(
orderInfo
.
getOrderTicketsId
())).
getQueryObject
(),
orderObject
);
dataUtils
.
delOrderTicketRedis
(
orderInfo
.
getOrderTicketsId
());
log
.
info
(
"orderInfo.getUserId() = "
+
orderInfo
.
getUserId
());
orderUtils
.
resetOrderListVo
(
orderInfo
.
getUserId
(),
2
,
orderInfo
.
getOrderTicketsId
(),
null
);
// 订单入场人表 和 缓存
KylinOrderTicketEntities
entitiesTable
=
new
KylinOrderTicketEntities
();
entitiesTable
.
setIsPayment
(
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT2
);
entitiesTable
.
setUpdatedAt
(
time
);
// BigDecimal oldRefundPrice = BigDecimal.valueOf(0);
// for (KylinOrderTicketEntitiesVo item :orderInfo.getEntitiesVoList()) {
// if(item.getOrderTicketEntitiesId().equalsIgnoreCase(orderEntitiesId)){
// oldRefundPrice = item.getRefundPrice();
// break;
// }
// }
KylinOrderTicketEntitiesVo
kylinOrderTicketEntitiesVo
=
KylinOrderTicketEntitiesVo
.
getNew
();
kylinOrderTicketEntitiesVo
.
setIsPayment
(
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT2
);
// kylinOrderTicketEntitiesVo.setRefundPrice(oldRefundPrice.add(BigDecimal.valueOf(refundPrice)));
kylinOrderTicketEntitiesVo
.
setUpdatedAt
(
strTime
);
BasicDBObject
entitiesObject
=
new
BasicDBObject
(
"$set"
,
JSON
.
parse
(
JsonUtils
.
toJson
(
kylinOrderTicketEntitiesVo
)));
mongoTemplate
.
getCollection
(
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"orderTicketEntitiesId"
).
is
(
orderEntitiesId
)).
getQueryObject
(),
entitiesObject
);
dataUtils
.
delOrderTicketEntitiesRedis
(
orderEntitiesId
);
// 退款明细
KylinOrderRefunds
kylinOrderRefunds
=
new
KylinOrderRefunds
();
String
orderRefundsId
=
IDGenerator
.
nextSnowId
();
kylinOrderRefunds
.
setOrderRefundsId
(
orderRefundsId
);
kylinOrderRefunds
.
setOrderTicketsId
(
orderInfo
.
getOrderTicketsId
());
String
orderRefundCode
=
orderInfo
.
getOrderCode
();
String
codeNum
=
StringUtils
.
leftPad
(
String
.
valueOf
(
refundCount
),
3
,
"0"
);
kylinOrderRefunds
.
setOrderRefundCode
(
orderRefundCode
.
concat
(
codeNum
));
kylinOrderRefunds
.
setPrice
(
BigDecimal
.
valueOf
(
refundPrice
));
kylinOrderRefunds
.
setPriceExpress
(
orderInfo
.
getPriceExpress
());
kylinOrderRefunds
.
setStatus
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_APPLY
);
kylinOrderRefunds
.
setType
(
KylinTableStatusConst
.
ORDER_REFUND_TYPE_APPLY
);
kylinOrderRefunds
.
setApplicantId
(
uid
);
kylinOrderRefunds
.
setApplicantName
(
username
);
kylinOrderRefunds
.
setApplicantAt
(
time
);
kylinOrderRefunds
.
setReason
(
reason
);
kylinOrderRefunds
.
setCreatedAt
(
time
);
KylinOrderRefundsVo
orderRefundsVo
=
KylinOrderRefundsVo
.
getNew
();
BeanUtils
.
copyProperties
(
kylinOrderRefunds
,
orderRefundsVo
);
orderRefundsVo
.
setCreatedAt
(
time
);
orderRefundsVo
.
setApplicantAt
(
time
);
mongoTemplate
.
insert
(
orderRefundsVo
,
KylinOrderRefundsVo
.
class
.
getSimpleName
());
// 退款入场人表
KylinOrderRefundEntities
kylinOrderRefundEntities
=
new
KylinOrderRefundEntities
();
String
orderRefundsEntitiesId
=
IDGenerator
.
nextSnowId
();
kylinOrderRefundEntities
.
setOrderRefundsEntitiesId
(
orderRefundsEntitiesId
);
kylinOrderRefundEntities
.
setOrderRefundsId
(
orderRefundsId
);
kylinOrderRefundEntities
.
setRefundPrice
(
BigDecimal
.
valueOf
(
refundPrice
));
kylinOrderRefundEntities
.
setOrderTicketEntitiesId
(
orderEntitiesId
);
kylinOrderRefundEntities
.
setCreatedAt
(
time
);
KylinOrderRefundEntitiesVo
orderRefundEntitiesVo
=
KylinOrderRefundEntitiesVo
.
getNew
();
BeanUtils
.
copyProperties
(
kylinOrderRefundEntities
,
orderRefundEntitiesVo
);
orderRefundEntitiesVo
.
setCreatedAt
(
strTime
);
mongoTemplate
.
insert
(
orderRefundEntitiesVo
,
KylinOrderRefundEntitiesVo
.
class
.
getSimpleName
());
//退款图片
KylinOrderRefundPic
orderRefundPic
=
new
KylinOrderRefundPic
();
orderRefundPic
.
setRefundPicId
(
IDGenerator
.
nextSnowId
());
orderRefundPic
.
setOrderRefundsId
(
kylinOrderRefunds
.
getOrderRefundsId
());
orderRefundPic
.
setPicUrl
(
picList
);
orderRefundPic
.
setCreatedAt
(
time
);
KylinOrderRefundPicVo
orderRefundPicVo
=
new
KylinOrderRefundPicVo
();
BeanUtils
.
copyProperties
(
orderRefundPic
,
orderRefundPicVo
);
orderRefundPicVo
.
setCreatedAt
(
strTime
);
mongoTemplate
.
insert
(
orderRefundPicVo
,
KylinOrderRefundPicVo
.
class
.
getSimpleName
());
dataUtils
.
delOrderRefundVoByOrderId
(
orderInfo
.
getOrderTicketsId
());
//MQ
LinkedList
<
String
>
sqls
=
CollectionUtil
.
linkedListString
();
LinkedList
<
Object
[]>
sqlsDataA
=
CollectionUtil
.
linkedListObjectArr
();
LinkedList
<
Object
[]>
sqlsDataB
=
CollectionUtil
.
linkedListObjectArr
();
LinkedList
<
Object
[]>
sqlsDataC
=
CollectionUtil
.
linkedListObjectArr
();
LinkedList
<
Object
[]>
sqlsDataD
=
CollectionUtil
.
linkedListObjectArr
();
LinkedList
<
Object
[]>
sqlsDataE
=
CollectionUtil
.
linkedListObjectArr
();
sqls
.
add
(
SqlMapping
.
get
(
"kylin_order_ticket_status.refund"
));
sqls
.
add
(
SqlMapping
.
get
(
"kylin_order_ticket_entities.refund"
));
sqls
.
add
(
SqlMapping
.
get
(
"kylin_order_refund.refund"
));
sqls
.
add
(
SqlMapping
.
get
(
"kylin_order_refund_entities.refund"
));
sqls
.
add
(
SqlMapping
.
get
(
"kylin_order_refund_pic.refund"
));
LocalDateTime
now1
=
LocalDateTime
.
now
();
sqlsDataA
.
add
(
new
Object
[]{
orderStatusTable
.
getStatus
(),
orderStatusTable
.
getUpdatedAt
(),
orderInfo
.
getOrderTicketsId
(),
now1
,
now1
});
sqlsDataB
.
add
(
new
Object
[]{
entitiesTable
.
getIsPayment
(),
entitiesTable
.
getUpdatedAt
(),
orderEntitiesId
,
now1
,
now1
});
sqlsDataC
.
add
(
new
Object
[]{
kylinOrderRefunds
.
getOrderRefundsId
(),
kylinOrderRefunds
.
getOrderTicketsId
(),
kylinOrderRefunds
.
getOrderRefundCode
(),
kylinOrderRefunds
.
getPrice
(),
kylinOrderRefunds
.
getPriceExpress
(),
kylinOrderRefunds
.
getPriceCharges
(),
kylinOrderRefunds
.
getStatus
(),
kylinOrderRefunds
.
getType
(),
kylinOrderRefunds
.
getApplicantId
(),
kylinOrderRefunds
.
getApplicantName
(),
kylinOrderRefunds
.
getApplicantAt
(),
kylinOrderRefunds
.
getReason
(),
kylinOrderRefunds
.
getCreatedAt
()
});
sqlsDataD
.
add
(
new
Object
[]{
kylinOrderRefundEntities
.
getOrderRefundsEntitiesId
(),
kylinOrderRefundEntities
.
getOrderRefundsId
(),
kylinOrderRefundEntities
.
getRefundPrice
(),
kylinOrderRefundEntities
.
getOrderTicketEntitiesId
(),
kylinOrderRefundEntities
.
getCreatedAt
()
});
sqlsDataE
.
add
(
new
Object
[]{
orderRefundPic
.
getOrderRefundsId
(),
orderRefundPic
.
getOrderRefundsId
(),
orderRefundPic
.
getPicUrl
(),
orderRefundPic
.
getCreatedAt
()
});
queueUtils
.
sendMsgByRedis
(
MQConst
.
KylinQueue
.
SQL_ORDER_REFUND
.
getKey
(),
SqlMapping
.
gets
(
sqls
,
sqlsDataA
,
sqlsDataB
,
sqlsDataC
,
sqlsDataD
,
sqlsDataE
));
return
kylinOrderRefunds
.
getOrderRefundsId
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
""
;
}
}
}
}
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