记得上下班打卡 | 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
6c2accda
Commit
6c2accda
authored
Jul 05, 2021
by
jiangxiulong
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
1b6d0bdf
1eb145ca
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
116 additions
and
155 deletions
+116
-155
AdamEntersParam.java
.../java/com/liquidnet/service/adam/dto/AdamEntersParam.java
+5
-3
KylinOrderTicketEntitiesPreRefundVo.java
...n/dto/vo/returns/KylinOrderTicketEntitiesPreRefundVo.java
+1
-0
IKylinOrderTicketsService.java
...dnet/service/kylin/service/IKylinOrderTicketsService.java
+1
-1
refundConfig.html
...s/templates/zhengzai/kylin/performances/refundConfig.html
+11
-6
LnsRegex.java
...in/java/com/liquidnet/commons/lang/constant/LnsRegex.java
+4
-0
AdamEntersController.java
...quidnet/service/adam/controller/AdamEntersController.java
+14
-0
ConsumerProcessor.java
...service/consumer/service/processor/ConsumerProcessor.java
+0
-102
KylinOrderTicketsController.java
...service/kylin/controller/KylinOrderTicketsController.java
+13
-9
KylinOrderTicketsServiceImpl.java
...vice/kylin/service/impl/KylinOrderTicketsServiceImpl.java
+57
-33
DataUtils.java
...ain/java/com/liquidnet/service/kylin/utils/DataUtils.java
+3
-0
KylinOrderTicketsServiceImpl.java
...vice/order/service/impl/KylinOrderTicketsServiceImpl.java
+7
-1
No files found.
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/AdamEntersParam.java
View file @
6c2accda
...
...
@@ -14,7 +14,8 @@ public class AdamEntersParam implements java.io.Serializable {
@ApiModelProperty
(
position
=
10
,
required
=
false
,
value
=
"入场人ID,编辑时必传[50]"
)
private
String
entersId
;
@ApiModelProperty
(
position
=
11
,
required
=
true
,
value
=
"入场人姓名[50]"
,
example
=
"测试"
)
@Pattern
(
regexp
=
LnsRegex
.
Valid
.
CHINESE_HANZI
,
message
=
"姓名必须为2~20位汉字"
)
// @Pattern(regexp = LnsRegex.Valid.CHINESE_HANZI, message = "姓名必须为2~20位汉字")
@Size
(
min
=
1
,
max
=
30
)
private
String
name
;
@ApiModelProperty
(
position
=
12
,
required
=
true
,
value
=
"入场人手机号[11]"
,
example
=
"13100000000"
)
@Pattern
(
regexp
=
"\\d{11}"
,
message
=
"手机号格式有误"
)
...
...
@@ -22,7 +23,8 @@ public class AdamEntersParam implements java.io.Serializable {
@ApiModelProperty
(
position
=
13
,
required
=
true
,
value
=
"证件类型:1-大陆身份证,2-港澳通行证,3-台胞证,4-护照,5-军官证"
,
allowableValues
=
"1,2,3,4,5"
)
@NotNull
@Min
(
1
)
@Max
(
5
)
private
Integer
type
;
@ApiModelProperty
(
position
=
14
,
required
=
true
,
value
=
"入场人证件号[11]"
,
example
=
"110101110001010111"
)
// @Pattern(regexp = LnsRegex.Valid.CHINESE_ID_CARD, message = "身份证号格式有误")
@ApiModelProperty
(
position
=
14
,
required
=
true
,
value
=
"入场人证件号[30]"
,
example
=
"110101110001010111"
)
@Pattern
(
regexp
=
LnsRegex
.
Valid
.
LETTER_NUMBER
,
message
=
"证件号格式有误"
)
@Size
(
min
=
1
,
max
=
30
)
private
String
idCard
;
}
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/dto/vo/returns/KylinOrderTicketEntitiesPreRefundVo.java
View file @
6c2accda
...
...
@@ -21,4 +21,5 @@ public class KylinOrderTicketEntitiesPreRefundVo implements Serializable, Clonea
private
BigDecimal
priceActual
;
private
BigDecimal
priceCanRefund
;
private
String
ticketTitle
;
private
Integer
isPayment
;
}
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/service/IKylinOrderTicketsService.java
View file @
6c2accda
...
...
@@ -59,7 +59,7 @@ public interface IKylinOrderTicketsService {
* @param picList 证据截图
* @return 是否成功
*/
ResponseDto
<
String
>
sendOrderRefund
(
String
orderId
,
String
orderTicketEntitiesId
,
String
reason
,
String
picList
);
String
sendOrderRefund
(
String
orderId
,
String
orderTicketEntitiesId
,
String
reason
,
String
picList
);
//退款撤回
ResponseDto
<
Boolean
>
orderRefundWithdraw
(
String
orderRefundsId
);
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/templates/zhengzai/kylin/performances/refundConfig.html
View file @
6c2accda
...
...
@@ -8,7 +8,7 @@
<div
class=
"wrapper wrapper-content animated fadeInRight ibox-content"
>
<form
class=
"form-horizontal m"
id=
"form-refund-edit"
th:object=
"${performanceRefundConfigVo}"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-3 control-label is-required"
>
performances_
id:
</label>
<label
class=
"col-sm-3 control-label is-required"
>
演出
id:
</label>
<div
class=
"col-sm-8"
>
<input
name=
"performancesId"
th:field=
"*{performancesId}"
class=
"form-control"
type=
"text"
readonly
>
</div>
...
...
@@ -80,11 +80,16 @@
refundOpenTime
:
$
(
"input[name^='refundOpenTime']"
).
val
(),
refundCloseTime
:
$
(
"input[name^='refundCloseTime']"
).
val
()
}
$
.
operate
.
post
(
prefix
+
"/refundConfig/change"
,
param
,
function
(
res
)
{
location
.
reload
();
});
if
(
$
(
"input[name^='refundCloseTime']"
).
val
()
==
""
||
$
(
"input[name^='refundOpenTime']"
).
val
()
==
""
)
{
alert
(
"定时时间不能为空"
);
}
else
{
$
.
operate
.
post
(
prefix
+
"/refundConfig/change"
,
param
,
function
(
res
)
{
location
.
reload
();
});
}
}
</script>
</body>
...
...
liquidnet-bus-common/liquidnet-common-base/src/main/java/com/liquidnet/commons/lang/constant/LnsRegex.java
View file @
6c2accda
...
...
@@ -22,5 +22,9 @@ public class LnsRegex {
* 身份证号(15位||18位)
*/
public
static
final
String
CHINESE_ID_CARD
=
"(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)"
;
/**
* 字母、数字组合
*/
public
static
final
String
LETTER_NUMBER
=
"^[A-Z0-9]+$"
;
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamEntersController.java
View file @
6c2accda
...
...
@@ -2,6 +2,8 @@ package com.liquidnet.service.adam.controller;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.liquidnet.common.exception.constant.ErrorCode
;
import
com.liquidnet.commons.lang.constant.LnsRegex
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.commons.lang.util.SensitizeUtil
;
import
com.liquidnet.service.adam.dto.AdamEntersParam
;
...
...
@@ -23,6 +25,7 @@ import javax.validation.Valid;
import
javax.validation.constraints.NotBlank
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.regex.Pattern
;
/**
* <p>
...
...
@@ -48,6 +51,12 @@ public class AdamEntersController {
@ApiOperation
(
value
=
"添加入场人"
)
@PostMapping
(
"add"
)
public
ResponseDto
<
String
>
add
(
@RequestBody
@Valid
AdamEntersParam
parameter
)
{
if
(
1
==
parameter
.
getType
())
{
if
(!
Pattern
.
matches
(
LnsRegex
.
Valid
.
CHINESE_HANZI
,
parameter
.
getName
()))
{
return
ResponseDto
.
failure
(
ErrorCode
.
HTTP_PARAM_ERROR
.
getCode
(),
"姓名必须为2~20位汉字"
);
}
}
List
<
AdamEntersVo
>
vos
=
adamRdmService
.
getEntersVoByUid
(
CurrentUtil
.
getCurrentUid
());
Optional
<
AdamEntersVo
>
any
=
vos
.
stream
().
filter
(
r
->
(
r
.
getIdCard
().
equals
(
parameter
.
getIdCard
()))
&&
r
.
getType
().
equals
(
parameter
.
getType
())).
findAny
();
...
...
@@ -93,6 +102,11 @@ public class AdamEntersController {
@ApiOperation
(
value
=
"编辑入场人"
)
@PostMapping
(
"edit"
)
public
ResponseDto
<
Object
>
edit
(
@RequestBody
@Valid
AdamEntersParam
parameter
)
{
if
(
1
==
parameter
.
getType
())
{
if
(!
Pattern
.
matches
(
LnsRegex
.
Valid
.
CHINESE_HANZI
,
parameter
.
getName
()))
{
return
ResponseDto
.
failure
(
ErrorCode
.
HTTP_PARAM_ERROR
.
getCode
(),
"姓名必须为2~20位汉字"
);
}
}
if
(
StringUtils
.
isBlank
(
parameter
.
getEntersId
()))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10015"
));
}
...
...
liquidnet-bus-service/liquidnet-service-consumer/src/main/java/com/liquidnet/service/consumer/service/processor/ConsumerProcessor.java
View file @
6c2accda
This diff is collapsed.
Click to expand it.
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/controller/KylinOrderTicketsController.java
View file @
6c2accda
...
...
@@ -100,14 +100,18 @@ public class KylinOrderTicketsController {
@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
).
getData
();
HashMap
<
String
,
String
>
map
=
new
HashMap
<
String
,
String
>();
map
.
put
(
"orderRefundsId"
,
orderRefundId
);
return
ResponseDto
.
success
(
map
);
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
=
new
HashMap
<
String
,
String
>();
map
.
put
(
"orderRefundsId"
,
orderRefundId
);
return
ResponseDto
.
success
(
map
);
}
else
{
return
ResponseDto
.
failure
(
orderRefundId
);
}
}
@GetMapping
(
"orderRefundDetails"
)
...
...
@@ -115,7 +119,7 @@ public class KylinOrderTicketsController {
@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
ResponseDto
.
success
(
orderTicketsService
.
orderRefundDetails
(
orderId
,
orderRefundId
));
return
orderTicketsService
.
orderRefundDetails
(
orderId
,
orderRefundId
)
==
null
?
ResponseDto
.
failure
(
"获取失败"
)
:
ResponseDto
.
success
(
orderTicketsService
.
orderRefundDetails
(
orderId
,
orderRefundId
));
}
@PostMapping
(
"orderRefundWithdraw"
)
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/KylinOrderTicketsServiceImpl.java
View file @
6c2accda
...
...
@@ -36,6 +36,7 @@ import com.taobao.api.response.AlibabaDamaiMevOpenBatchpushticketResponse;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.time.DateUtils
;
import
org.bson.Document
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -849,7 +850,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
log
.
info
(
UserPathDto
.
setData
(
"订单支付成功回调"
,
syncOrderParam
,
""
));
return
"success"
;
}
catch
(
Exception
e
)
{
log
.
error
(
"SYNCE ORDER E = "
+
e
.
getMessage
());
log
.
error
(
"SYNCE ORDER E = "
+
e
.
getMessage
());
e
.
printStackTrace
();
return
"fail"
;
}
...
...
@@ -990,7 +991,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
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
(
""
)
)
{
if
(
LocalDateTime
.
now
().
isAfter
(
refundOpenDate
)
&&
LocalDateTime
.
now
().
isBefore
(
refundCloseDate
)
&&
orderTicketVo
.
getExpressAddress
().
trim
().
equals
(
""
)
&&
ticketVo
.
getCounts
()==
1
)
{
vo
.
setIsCanRefund
(
1
);
}
else
{
vo
.
setIsCanRefund
(
0
);
...
...
@@ -1121,31 +1122,61 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
@Override
public
OrderRefundVo
orderRefundDetails
(
String
orderId
,
String
orderRefundId
)
{
OrderRefundVo
vo
=
new
OrderRefundVo
();
String
uid
=
CurrentUtil
.
getCurrentUid
();
KylinOrderTicketVo
orderTicketVo
=
dataUtils
.
getOrderTicketVo
(
orderId
);
KylinPerformanceVo
performanceVo
=
dataUtils
.
getPerformanceVo
(
orderTicketVo
.
getPerformanceId
());
try
{
OrderRefundVo
vo
=
new
OrderRefundVo
();
String
uid
=
CurrentUtil
.
getCurrentUid
();
KylinOrderTicketVo
orderTicketVo
=
dataUtils
.
getOrderTicketVo
(
orderId
);
KylinPerformanceVo
performanceVo
=
dataUtils
.
getPerformanceVo
(
orderTicketVo
.
getPerformanceId
());
if
(!
orderTicketVo
.
getUserId
().
equals
(
uid
))
{
if
(!
orderTicketVo
.
getUserId
().
equals
(
uid
))
{
return
null
;
}
orderTicketVo
.
setFieldName
(
performanceVo
.
getFieldName
());
KylinOrderRefundsVo
kylinOrderRefundsVoBase
=
dataUtils
.
getOrderRefundVo
(
orderRefundId
);
vo
.
setKylinOrderRefundsVoBaseList
(
kylinOrderRefundsVoBase
);
vo
.
setOrderTicketVo
(
orderTicketVo
);
return
vo
;
}
catch
(
Exception
e
)
{
return
null
;
}
orderTicketVo
.
setFieldName
(
performanceVo
.
getFieldName
());
KylinOrderRefundsVo
kylinOrderRefundsVoBase
=
dataUtils
.
getOrderRefundVo
(
orderRefundId
);
vo
.
setKylinOrderRefundsVoBaseList
(
kylinOrderRefundsVoBase
);
vo
.
setOrderTicketVo
(
orderTicketVo
);
return
vo
;
}
@Override
public
ResponseDto
<
String
>
sendOrderRefund
(
String
orderId
,
String
orderTicketEntitiesId
,
String
reason
,
String
picList
)
{
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
());
String
ticketId
=
orderTicketVo
.
getTicketId
();
if
(!
orderTicketVo
.
getUserId
().
equals
(
uid
))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20003"
));
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
();
...
...
@@ -1155,24 +1186,24 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
}
}
if
(
null
==
orderTicketEntitiesVo
)
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20004"
))
;
return
"订单不存在"
;
}
BigDecimal
refundSinglePrice
=
dataUtils
.
getCanRefundOrderEntitiesPrice
(
orderTicketVo
,
kylinOrderRefundsVoBaseList
,
orderTicketEntitiesId
);
if
(
refundSinglePrice
.
doubleValue
()
<=
0
)
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20022"
))
;
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
ResponseDto
.
success
(
result
)
;
return
result
;
}
else
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20019"
))
;
return
"申请失败"
;
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20019"
))
;
return
"申请失败"
;
}
}
...
...
@@ -1295,17 +1326,13 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
kylinOrderRefunds
.
setStatus
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_CANCEL
);
kylinOrderRefunds
.
setUpdatedAt
(
LocalDateTime
.
now
());
KylinOrderRefundsVo
orderRefundsVoBase
=
new
KylinOrderRefundsVo
();
orderRefundsVoBase
.
setStatus
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_CANCEL
);
orderRefundsVoBase
.
setUpdatedAt
(
time
);
BasicDBObject
refundObject
=
new
BasicDBObject
(
"$set"
,
JSON
.
parse
(
JsonUtils
.
toJson
(
orderRefundsVoBase
)));
mongoTemplate
.
getCollection
(
KylinOrderRefundsVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"orderRefundsId"
).
is
(
orderRefundsId
)).
getQueryObject
(),
refundObject
new
Document
(
"$set"
,
new
Document
(
"status"
,
KylinTableStatusConst
.
ORDER_REFUND_STATUS_CANCEL
).
append
(
"updatedAt"
,
time
))
);
sqlsDataC
.
add
(
new
Object
[]{
orderRefundsVoBase
.
getStatus
(),
orderRefundsVoBase
.
getUpdatedAt
()
,
orderRefundsId
KylinTableStatusConst
.
ORDER_REFUND_STATUS_CANCEL
,
time
,
orderRefundsId
});
dataUtils
.
delOrderRefundVo
(
orderRefundsId
);
...
...
@@ -1367,14 +1394,11 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
);
dataUtils
.
delOrderTicketEntitiesRedis
(
orderRefundVo
.
getOrderRefundEntitiesVoList
().
get
(
0
).
getOrderTicketEntitiesId
());
// 订单退款表 MONGO
KylinOrderRefundsVo
orderRefundsVo
=
new
KylinOrderRefundsVo
();
orderRefundsVo
.
setStatus
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_APPLY
);
orderRefundsVo
.
setUpdatedAt
(
time
);
orderRefundsVo
.
setApplicantAt
(
time
);
BasicDBObject
refundObject
=
new
BasicDBObject
(
"$set"
,
JSON
.
parse
(
JsonUtils
.
toJson
(
orderRefundsVo
)));
mongoTemplate
.
getCollection
(
KylinOrderRefundsVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"orderRefundsId"
).
is
(
orderRefundVo
.
getOrderRefundsId
())).
getQueryObject
(),
refundObject
new
Document
(
"$set"
,
new
Document
(
"status"
,
KylinTableStatusConst
.
ORDER_REFUND_STATUS_APPLY
)
.
append
(
"updatedAt"
,
time
)
.
append
(
"applicantAt"
,
time
))
);
return
null
;
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/utils/DataUtils.java
View file @
6c2accda
...
...
@@ -624,6 +624,7 @@ public class DataUtils {
canRefundSinglePrice
=
singlePrice
.
subtract
(
item
.
getRefundPrice
()==
null
?
BigDecimal
.
valueOf
(
0.00
):
item
.
getRefundPrice
());
}
}
System
.
out
.
println
(
"单票剩余未退款金额 : "
+
canRefundSinglePrice
);
//订单锁定金额
BigDecimal
orderLockPrice
=
new
BigDecimal
(
"0.00"
);
for
(
KylinOrderRefundsVo
refundVo
:
kylinOrderRefundsVoBaseList
)
{
...
...
@@ -637,8 +638,10 @@ public class DataUtils {
}
}
}
System
.
out
.
println
(
"订单锁定金额 : "
+
orderLockPrice
);
//订单可退金额
BigDecimal
refundSinglePrice
=
canRefundSinglePrice
.
subtract
(
orderLockPrice
);
System
.
out
.
println
(
"订单可退金额 : "
+
refundSinglePrice
);
//是否包含快递费
if
(
orderTicketVo
.
getPriceActual
().
subtract
(
orderTicketVo
.
getPriceExpress
()).
subtract
(
orderTicketVo
.
getPriceRefund
()).
compareTo
(
canRefundSinglePrice
)
==
0
)
{
refundSinglePrice
=
refundSinglePrice
.
add
(
orderTicketVo
.
getPriceExpress
());
...
...
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/service/impl/KylinOrderTicketsServiceImpl.java
View file @
6c2accda
...
...
@@ -247,12 +247,14 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
int
surplusGeneral
=
dataUtils
.
changeSurplusGeneral
(
payOrderParam
.
getTicketId
(),
-
payOrderParam
.
getNumber
());
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
log
.
debug
(
"redis 获取库存 -> time:"
+
(
currentTime
)
+
"毫秒"
);
log
.
debug
(
"TAG_REDIS 正常 剩余库存 -> count:"
+
surplusGeneral
);
if
(
surplusGeneral
<
0
)
{
//库存回滚
currentTime
=
System
.
currentTimeMillis
();
dataUtils
.
changeSurplusGeneral
(
payOrderParam
.
getTicketId
(),
payOrderParam
.
getNumber
());
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
log
.
debug
(
"redis 修改库存 售罄 -> time:"
+
(
currentTime
)
+
"毫秒"
);
log
.
debug
(
"TAG_REDIS 售罄 回滚库存1 -> count:"
+
payOrderParam
.
getNumber
());
// redisLockUtil.unlock(lock);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20016"
));
//没抢到
}
else
{
...
...
@@ -270,6 +272,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
if
(
age
>
25
)
{
// redisLockUtil.unlock(lock);
dataUtils
.
changeSurplusGeneral
(
payOrderParam
.
getTicketId
(),
payOrderParam
.
getNumber
());
log
.
debug
(
"TAG_REDIS 学生票 回滚库存2 -> count:"
+
payOrderParam
.
getNumber
());
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20017"
));
//年龄超了
}
}
...
...
@@ -287,6 +290,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
if
(!
res1
.
equals
(
""
))
{
// redisLockUtil.unlock(lock);
dataUtils
.
changeSurplusGeneral
(
payOrderParam
.
getTicketId
(),
payOrderParam
.
getNumber
());
log
.
debug
(
"TAG_REDIS 限购 回滚库存3 -> count:"
+
payOrderParam
.
getNumber
());
return
ResponseDto
.
failure
(
res1
);
//乱七八糟异常
}
}
...
...
@@ -300,6 +304,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
if
(!
res1
.
equals
(
""
))
{
// redisLockUtil.unlock(lock);
dataUtils
.
changeSurplusGeneral
(
payOrderParam
.
getTicketId
(),
payOrderParam
.
getNumber
());
log
.
debug
(
"TAG_REDIS 限购 回滚库存3 -> count:"
+
payOrderParam
.
getNumber
());
return
ResponseDto
.
failure
(
res1
);
//乱七八糟异常
}
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
...
...
@@ -316,6 +321,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
if
(
isDownGeneral
)
{
currentTime
=
System
.
currentTimeMillis
();
dataUtils
.
changeSurplusGeneral
(
payOrderParam
.
getTicketId
(),
payOrderParam
.
getNumber
());
log
.
debug
(
"TAG_REDIS 异常 回滚库存4 -> count:"
+
payOrderParam
.
getNumber
());
currentTime
=
System
.
currentTimeMillis
()
-
currentTime
;
log
.
debug
(
"redis 修改库存 异常 -> time:"
+
(
currentTime
)
+
"毫秒"
);
for
(
AdamEntersVo
enters
:
entersVoList
)
{
...
...
@@ -973,7 +979,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
}
@Override
public
ResponseDto
<
String
>
sendOrderRefund
(
String
orderId
,
String
orderTicketEntitiesId
,
String
reason
,
String
picList
)
{
public
String
sendOrderRefund
(
String
orderId
,
String
orderTicketEntitiesId
,
String
reason
,
String
picList
)
{
return
null
;
}
...
...
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