记得上下班打卡 | 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
Expand all
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
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/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