记得上下班打卡 | 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
79641e55
Commit
79641e55
authored
May 29, 2021
by
jiangxiulong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refund
parent
8d2e2a2a
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
472 additions
and
23 deletions
+472
-23
KylinTableStatusConst.java
...quidnet/service/kylin/constant/KylinTableStatusConst.java
+11
-12
KylinOrderRefundAdminController.java
...lin/controller/admin/KylinOrderRefundAdminController.java
+122
-0
KylinOrderRefundsServiceImpl.java
...ylin/service/impl/admin/KylinOrderRefundsServiceImpl.java
+131
-2
KylinRefundsStatusServiceImpl.java
...lin/service/impl/admin/KylinRefundsStatusServiceImpl.java
+208
-9
No files found.
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/constant/KylinTableStatusConst.java
View file @
79641e55
...
@@ -20,19 +20,18 @@ public class KylinTableStatusConst {
...
@@ -20,19 +20,18 @@ public class KylinTableStatusConst {
public
static
final
Integer
STATUS_TARGET_TYPE
=
1
;
// 演出
public
static
final
Integer
STATUS_TARGET_TYPE
=
1
;
// 演出
// 退款
// 退款
public
static
final
Integer
ORDER_REFUND_STATUS_APPLY
=
0
;
// 客服(待审核),用户(正在退款)
public
static
final
Integer
ORDER_REFUND_STATUS_APPLY
=
0
;
// 请求退款
public
static
final
Integer
ORDER_REFUND_STATUS_APPROVED
=
1
;
// 客服(已通过),用户(正在退款)
public
static
final
Integer
ORDER_REFUND_STATUS_APPROVED
=
1
;
// 一审同意 审核通过
public
static
final
Integer
ORDER_REFUND_STATUS_CANCEL
=
2
;
// 客服(已取消),用户(取消退款,恢复正常订单)
public
static
final
Integer
ORDER_REFUND_STATUS_CANCEL
=
2
;
// 取消退款
public
static
final
Integer
ORDER_REFUND_STATUS_REFUNDING
=
3
;
// 客服(正在退款),用户(正在退款)
public
static
final
Integer
ORDER_REFUND_STATUS_REFUNDING
=
3
;
// 正在退款
public
static
final
Integer
ORDER_REFUND_STATUS_REFUNDED
=
4
;
// 客服(退款成功),用户(完成退款,部分退款为正常订单,全额退款为退款订单)
public
static
final
Integer
ORDER_REFUND_STATUS_REFUNDED
=
4
;
// 完成退款
public
static
final
Integer
ORDER_REFUND_STATUS_REJECT
=
5
;
// 客服(被审核员驳回),用户(正在退款)
public
static
final
Integer
ORDER_REFUND_STATUS_REJECT
=
5
;
// 一审驳回退款
public
static
final
Integer
ORDER_REFUND_STATUS_ERROR
=
6
;
// 客服(退款失败),用户(正在退款)
public
static
final
Integer
ORDER_REFUND_STATUS_ERROR
=
6
;
// 退款失败
public
static
final
Integer
ORDER_REFUND_STATUS_UNFILLED
=
7
;
// 客服(等待退款),用户(正在退款)
public
static
final
Integer
ORDER_REFUND_STATUS_UNFILLED
=
7
;
// 二审同意 等待退款
public
static
final
Integer
ORDER_REFUND_STATUS_REFUSE
=
8
;
// 客服(被执行员拒绝),用户(正在退款)
public
static
final
Integer
ORDER_REFUND_STATUS_REFUSE
=
8
;
// 二审拒绝
public
static
final
Integer
ORDER_REFUND_TYPE_APPLY
=
0
;
// 人工申请类型的退款,可以取消退款,退款完成需返还库存
public
static
final
Integer
ORDER_REFUND_TYPE_AUTO
=
1
;
// 自动申请类型的退款,无法取消退款,退款完成不返还库存
public
static
final
Integer
ORDER_REFUND_TYPE_APPLY
=
0
;
// 人工申请类型的退款,可以取消退款,退款完成需返还库存
public
static
final
Integer
ORDER_REFUND_TYPE_AUTO
=
1
;
// 自动申请类型的退款,无法取消退款,退款完成不返还库存
/**
/**
* 订单状态表状态
* 订单状态表状态
*/
*/
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/controller/admin/KylinOrderRefundAdminController.java
View file @
79641e55
package
com
.
liquidnet
.
service
.
kylin
.
controller
.
admin
;
package
com
.
liquidnet
.
service
.
kylin
.
controller
.
admin
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.kylin.constant.KylinTableStatusConst
;
import
com.liquidnet.service.kylin.service.impl.admin.KylinOrderRefundsServiceImpl
;
import
com.liquidnet.service.kylin.service.impl.admin.KylinOrderRefundsServiceImpl
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParam
;
...
@@ -12,6 +13,8 @@ import org.springframework.web.bind.annotation.RequestBody;
...
@@ -12,6 +13,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
/**
/**
* <p>
* <p>
* 后台单订单退款 服务实现类
* 后台单订单退款 服务实现类
...
@@ -54,7 +57,126 @@ public class KylinOrderRefundAdminController {
...
@@ -54,7 +57,126 @@ public class KylinOrderRefundAdminController {
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
return
ResponseDto
.
failure
(
e
.
getMessage
());
return
ResponseDto
.
failure
(
e
.
getMessage
());
}
}
}
@PostMapping
(
"cancel"
)
@ApiOperation
(
"取消退款"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"body"
,
dataType
=
"Lsit"
,
name
=
"orderRefundsIdList"
,
value
=
"退款id 支持批量"
,
required
=
true
)
})
public
ResponseDto
<
Object
>
refundApply
(
@RequestBody
List
orderRefundsIdList
)
{
try
{
Boolean
res
=
kylinOrderRefundsServiceImpl
.
refundCancel
(
orderRefundsIdList
);
if
(
res
)
{
return
ResponseDto
.
success
();
}
else
{
return
ResponseDto
.
failure
(
"取消退款失败"
);
}
}
catch
(
Exception
e
)
{
return
ResponseDto
.
failure
(
e
.
getMessage
());
}
}
@PostMapping
(
"reapply"
)
@ApiOperation
(
"再次提交审核"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"body"
,
dataType
=
"Lsit"
,
name
=
"orderRefundsIdList"
,
value
=
"退款id 支持批量"
,
required
=
true
)
})
public
ResponseDto
<
Object
>
refundReapply
(
@RequestBody
List
orderRefundsIdList
)
{
try
{
Boolean
res
=
kylinOrderRefundsServiceImpl
.
refundReapply
(
orderRefundsIdList
);
if
(
res
)
{
return
ResponseDto
.
success
();
}
else
{
return
ResponseDto
.
failure
(
"再次申请退款失败"
);
}
}
catch
(
Exception
e
)
{
return
ResponseDto
.
failure
(
e
.
getMessage
());
}
}
@PostMapping
(
"review"
)
@ApiOperation
(
"一审运营 审核/驳回"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"body"
,
dataType
=
"Lsit"
,
name
=
"orderRefundsIdList"
,
value
=
"退款id 支持批量"
,
required
=
true
),
@ApiImplicitParam
(
type
=
"body"
,
dataType
=
"Integer"
,
name
=
"status"
,
value
=
"批量id"
,
required
=
true
),
@ApiImplicitParam
(
type
=
"body"
,
dataType
=
"String"
,
name
=
"reject"
,
value
=
"备注"
,
required
=
true
)
})
public
ResponseDto
<
Object
>
refundReview
(
@RequestBody
List
orderRefundsIdList
,
@RequestBody
Integer
status
,
@RequestBody
String
reject
)
{
try
{
Boolean
res
=
false
;
if
(
status
==
KylinTableStatusConst
.
ORDER_REFUND_STATUS_APPROVED
)
{
// 通过
res
=
kylinOrderRefundsServiceImpl
.
refundApproved
(
orderRefundsIdList
,
reject
);
}
if
(
status
==
KylinTableStatusConst
.
ORDER_REFUND_STATUS_REJECT
)
{
// 驳回
res
=
kylinOrderRefundsServiceImpl
.
refundReject
(
orderRefundsIdList
,
reject
);
}
if
(
res
)
{
return
ResponseDto
.
success
();
}
else
{
return
ResponseDto
.
failure
(
"审核退款失败"
);
}
}
catch
(
Exception
e
)
{
return
ResponseDto
.
failure
(
e
.
getMessage
());
}
}
@PostMapping
(
"execute"
)
@ApiOperation
(
"二审财务 审核(执行退款)/驳回"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"body"
,
dataType
=
"Lsit"
,
name
=
"orderRefundsIdList"
,
value
=
"退款id 支持批量"
,
required
=
true
),
@ApiImplicitParam
(
type
=
"body"
,
dataType
=
"Integer"
,
name
=
"status"
,
value
=
"批量id"
,
required
=
true
),
@ApiImplicitParam
(
type
=
"body"
,
dataType
=
"String"
,
name
=
"refuse"
,
value
=
"备注"
,
required
=
true
)
})
public
ResponseDto
<
Object
>
refundExecute
(
@RequestBody
List
orderRefundsIdList
,
@RequestBody
Integer
status
,
@RequestBody
String
refuse
)
{
try
{
Boolean
res
=
false
;
if
(
status
==
KylinTableStatusConst
.
ORDER_REFUND_STATUS_UNFILLED
)
{
// 通过
res
=
kylinOrderRefundsServiceImpl
.
refundUnfilled
(
orderRefundsIdList
,
refuse
);
}
if
(
status
==
KylinTableStatusConst
.
ORDER_REFUND_STATUS_REFUSE
)
{
// 驳回
res
=
kylinOrderRefundsServiceImpl
.
refundRefuse
(
orderRefundsIdList
,
refuse
);
}
if
(
res
)
{
return
ResponseDto
.
success
();
}
else
{
return
ResponseDto
.
failure
(
"审核退款失败"
);
}
}
catch
(
Exception
e
)
{
return
ResponseDto
.
failure
(
e
.
getMessage
());
}
}
@PostMapping
(
"refundCompleted"
)
@ApiOperation
(
"主动关闭订单,完成退款"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"body"
,
dataType
=
"Integer"
,
name
=
"orderRefundsId"
,
value
=
"退款id"
,
required
=
true
)
})
public
ResponseDto
<
Object
>
refundCompleted
(
@RequestBody
Integer
orderRefundsId
)
{
try
{
Boolean
res
=
kylinOrderRefundsServiceImpl
.
refundCompleted
(
orderRefundsId
);
if
(
res
)
{
return
ResponseDto
.
success
();
}
else
{
return
ResponseDto
.
failure
(
"关闭订单失败"
);
}
}
catch
(
Exception
e
)
{
return
ResponseDto
.
failure
(
e
.
getMessage
());
}
}
}
}
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/admin/KylinOrderRefundsServiceImpl.java
View file @
79641e55
package
com
.
liquidnet
.
service
.
kylin
.
service
.
impl
.
admin
;
package
com
.
liquidnet
.
service
.
kylin
.
service
.
impl
.
admin
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.kylin.constant.KylinTableStatusConst
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.kylin.entity.KylinOrderRefunds
;
import
com.liquidnet.service.kylin.entity.KylinOrderRefunds
;
import
com.liquidnet.service.kylin.entity.KylinOrderTickets
;
import
com.liquidnet.service.kylin.entity.KylinOrderTickets
;
import
com.liquidnet.service.kylin.mapper.KylinOrderRefundsMapper
;
import
com.liquidnet.service.kylin.mapper.KylinOrderRefundsMapper
;
...
@@ -13,6 +13,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...
@@ -13,6 +13,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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
java.util.List
;
/**
/**
* <p>
* <p>
* 订单退款表 服务实现类
* 订单退款表 服务实现类
...
@@ -29,6 +31,9 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
...
@@ -29,6 +31,9 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
@Autowired
@Autowired
private
KylinRefundsStatusServiceImpl
kylinRefundsStatusServiceImpl
;
private
KylinRefundsStatusServiceImpl
kylinRefundsStatusServiceImpl
;
@Autowired
private
KylinOrderRefundsMapper
kylinOrderRefundsMapper
;
public
Boolean
refundApply
(
String
orderTicketsId
,
String
reason
,
String
orderRefundBatchesId
,
String
refundData
)
throws
Exception
{
public
Boolean
refundApply
(
String
orderTicketsId
,
String
reason
,
String
orderRefundBatchesId
,
String
refundData
)
throws
Exception
{
int
count
=
0
;
int
count
=
0
;
count
=
kylinOrderTicketsMapper
.
selectCount
(
count
=
kylinOrderTicketsMapper
.
selectCount
(
...
@@ -45,4 +50,128 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
...
@@ -45,4 +50,128 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
return
false
;
return
false
;
}
}
}
}
public
Boolean
refundCancel
(
List
orderRefundsIdList
)
throws
Exception
{
Integer
[]
orderRefundStatus
=
{
KylinTableStatusConst
.
ORDER_REFUND_STATUS_APPLY
,
KylinTableStatusConst
.
ORDER_REFUND_STATUS_REJECT
,
KylinTableStatusConst
.
ORDER_REFUND_STATUS_REFUSE
};
List
<
KylinOrderRefunds
>
refundList
=
kylinOrderRefundsMapper
.
selectList
(
new
QueryWrapper
<
KylinOrderRefunds
>()
.
eq
(
"type"
,
KylinTableStatusConst
.
ORDER_REFUND_TYPE_APPLY
)
.
in
(
"order_refunds_id"
,
orderRefundsIdList
)
.
in
(
"status"
,
orderRefundStatus
)
);
if
(
orderRefundsIdList
.
size
()
!=
refundList
.
size
())
{
throw
new
Exception
(
"订单需未审核、已驳回、已回绝,非自动退款订单"
);
}
boolean
res
=
kylinRefundsStatusServiceImpl
.
orderTicketRefundCancel
(
refundList
);
if
(
res
)
{
return
true
;
}
else
{
return
false
;
}
}
public
Boolean
refundReapply
(
List
orderRefundsIdList
)
throws
Exception
{
Integer
[]
orderRefundStatus
=
{
KylinTableStatusConst
.
ORDER_REFUND_STATUS_REJECT
,
KylinTableStatusConst
.
ORDER_REFUND_STATUS_REFUSE
};
List
<
KylinOrderRefunds
>
refundList
=
kylinOrderRefundsMapper
.
selectList
(
new
QueryWrapper
<
KylinOrderRefunds
>()
.
eq
(
"type"
,
KylinTableStatusConst
.
ORDER_REFUND_TYPE_APPLY
)
.
in
(
"order_refunds_id"
,
orderRefundsIdList
)
.
in
(
"status"
,
orderRefundStatus
)
);
if
(
orderRefundsIdList
.
size
()
!=
refundList
.
size
())
{
throw
new
Exception
(
"订单需已驳回、已回绝"
);
}
boolean
res
=
kylinRefundsStatusServiceImpl
.
orderTicketRefundReapply
(
refundList
);
if
(
res
)
{
return
true
;
}
else
{
return
false
;
}
}
public
Boolean
refundApproved
(
List
orderRefundsIdList
,
String
reject
)
throws
Exception
{
Integer
[]
orderRefundStatus
=
{
KylinTableStatusConst
.
ORDER_REFUND_STATUS_APPLY
,
KylinTableStatusConst
.
ORDER_REFUND_STATUS_REJECT
,
KylinTableStatusConst
.
ORDER_REFUND_STATUS_REFUSE
};
List
<
KylinOrderRefunds
>
refundList
=
kylinOrderRefundsMapper
.
selectList
(
new
QueryWrapper
<
KylinOrderRefunds
>()
.
eq
(
"type"
,
KylinTableStatusConst
.
ORDER_REFUND_TYPE_APPLY
)
.
in
(
"order_refunds_id"
,
orderRefundsIdList
)
.
in
(
"status"
,
orderRefundStatus
)
);
if
(
orderRefundsIdList
.
size
()
!=
refundList
.
size
())
{
throw
new
Exception
(
"订单需未审核、已驳回、已回绝,请检查订单状态"
);
}
boolean
res
=
kylinRefundsStatusServiceImpl
.
orderTicketRefundApproved
(
refundList
,
reject
);
if
(
res
)
{
return
true
;
}
else
{
return
false
;
}
}
public
Boolean
refundReject
(
List
orderRefundsIdList
,
String
reject
)
throws
Exception
{
Integer
[]
orderRefundStatus
=
{
KylinTableStatusConst
.
ORDER_REFUND_STATUS_APPLY
,
KylinTableStatusConst
.
ORDER_REFUND_STATUS_APPROVED
,
KylinTableStatusConst
.
ORDER_REFUND_STATUS_REFUSE
};
List
<
KylinOrderRefunds
>
refundList
=
kylinOrderRefundsMapper
.
selectList
(
new
QueryWrapper
<
KylinOrderRefunds
>()
.
eq
(
"type"
,
KylinTableStatusConst
.
ORDER_REFUND_TYPE_APPLY
)
.
in
(
"order_refunds_id"
,
orderRefundsIdList
)
.
in
(
"status"
,
orderRefundStatus
)
);
if
(
orderRefundsIdList
.
size
()
!=
refundList
.
size
())
{
throw
new
Exception
(
"订单需未审核、已审核、已回绝,请检查订单状态"
);
}
boolean
res
=
kylinRefundsStatusServiceImpl
.
orderTicketRefundReject
(
refundList
,
reject
);
if
(
res
)
{
return
true
;
}
else
{
return
false
;
}
}
public
Boolean
refundUnfilled
(
List
orderRefundsIdList
,
String
refuse
)
throws
Exception
{
Integer
[]
orderRefundStatus
=
{
KylinTableStatusConst
.
ORDER_REFUND_STATUS_APPROVED
,
KylinTableStatusConst
.
ORDER_REFUND_STATUS_ERROR
};
List
<
KylinOrderRefunds
>
refundList
=
kylinOrderRefundsMapper
.
selectList
(
new
QueryWrapper
<
KylinOrderRefunds
>()
.
eq
(
"type"
,
KylinTableStatusConst
.
ORDER_REFUND_TYPE_APPLY
)
.
in
(
"order_refunds_id"
,
orderRefundsIdList
)
.
in
(
"status"
,
orderRefundStatus
)
);
if
(
orderRefundsIdList
.
size
()
!=
refundList
.
size
())
{
throw
new
Exception
(
"订单需已审核、退款失败,请检查订单状态"
);
}
boolean
res
=
kylinRefundsStatusServiceImpl
.
orderTicketRefundUnfilled
(
refundList
,
refuse
);
if
(
res
)
{
return
true
;
}
else
{
return
false
;
}
}
public
Boolean
refundRefuse
(
List
orderRefundsIdList
,
String
refuse
)
throws
Exception
{
Integer
[]
orderRefundStatus
=
{
KylinTableStatusConst
.
ORDER_REFUND_STATUS_APPROVED
,
KylinTableStatusConst
.
ORDER_REFUND_STATUS_ERROR
};
List
<
KylinOrderRefunds
>
refundList
=
kylinOrderRefundsMapper
.
selectList
(
new
QueryWrapper
<
KylinOrderRefunds
>()
.
eq
(
"type"
,
KylinTableStatusConst
.
ORDER_REFUND_TYPE_APPLY
)
.
in
(
"order_refunds_id"
,
orderRefundsIdList
)
.
in
(
"status"
,
orderRefundStatus
)
);
if
(
orderRefundsIdList
.
size
()
!=
refundList
.
size
())
{
throw
new
Exception
(
"订单需已审核、退款失败,请检查订单状态"
);
}
boolean
res
=
kylinRefundsStatusServiceImpl
.
orderTicketRefundRefuse
(
refundList
,
refuse
);
if
(
res
)
{
return
true
;
}
else
{
return
false
;
}
}
public
Boolean
refundCompleted
(
Integer
orderRefundsId
)
{
return
false
;
}
}
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/admin/KylinRefundsStatusServiceImpl.java
View file @
79641e55
...
@@ -3,14 +3,11 @@ package com.liquidnet.service.kylin.service.impl.admin;
...
@@ -3,14 +3,11 @@ package com.liquidnet.service.kylin.service.impl.admin;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.liquidnet.commons.lang.util.
Date
Util
;
import
com.liquidnet.commons.lang.util.
Http
Util
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.kylin.constant.KylinTableStatusConst
;
import
com.liquidnet.service.kylin.constant.KylinTableStatusConst
;
import
com.liquidnet.service.kylin.dto.vo.KylinBannersVo
;
import
com.liquidnet.service.kylin.dto.vo.KylinOrderTicketEntitiesVo
;
import
com.liquidnet.service.kylin.dto.vo.KylinOrderTicketEntitiesVo
;
import
com.liquidnet.service.kylin.dto.vo.KylinOrderTicketVo
;
import
com.liquidnet.service.kylin.dto.vo.KylinOrderTicketVo
;
import
com.liquidnet.service.kylin.entity.*
;
import
com.liquidnet.service.kylin.entity.*
;
...
@@ -25,16 +22,20 @@ import com.mongodb.client.model.ReturnDocument;
...
@@ -25,16 +22,20 @@ import com.mongodb.client.model.ReturnDocument;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.http.HttpException
;
import
org.apache.http.HttpException
;
import
org.bson.Document
;
import
org.bson.Document
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.LinkedMultiValueMap
;
import
org.springframework.util.MultiValueMap
;
import
java.awt.print.Book
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
/**
* <p>
* <p>
...
@@ -62,6 +63,9 @@ public class KylinRefundsStatusServiceImpl {
...
@@ -62,6 +63,9 @@ public class KylinRefundsStatusServiceImpl {
@Autowired
@Autowired
MongoTemplate
mongoTemplate
;
MongoTemplate
mongoTemplate
;
@Autowired
private
DataUtils
dataUtils
;
public
Boolean
orderTicketRefunding
(
String
orderTicketsId
,
String
refundData
,
String
reason
,
String
orderRefundBatchesId
)
throws
HttpException
{
public
Boolean
orderTicketRefunding
(
String
orderTicketsId
,
String
refundData
,
String
reason
,
String
orderRefundBatchesId
)
throws
HttpException
{
// 处理数据
// 处理数据
String
authId
=
"434"
;
String
authId
=
"434"
;
...
@@ -154,7 +158,7 @@ public class KylinRefundsStatusServiceImpl {
...
@@ -154,7 +158,7 @@ public class KylinRefundsStatusServiceImpl {
orderObject
,
orderObject
,
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
AFTER
)
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
AFTER
)
);
);
new
DataUtils
()
.
delOrderTicketRedis
(
orderTicketsId
);
dataUtils
.
delOrderTicketRedis
(
orderTicketsId
);
// 入场人
// 入场人
...
@@ -166,7 +170,7 @@ public class KylinRefundsStatusServiceImpl {
...
@@ -166,7 +170,7 @@ public class KylinRefundsStatusServiceImpl {
.
eq
(
"order_ticket_entities_id"
,
v
));
.
eq
(
"order_ticket_entities_id"
,
v
));
KylinOrderTicketEntitiesVo
kylinOrderTicketEntitiesVo
=
new
KylinOrderTicketEntitiesVo
();
KylinOrderTicketEntitiesVo
kylinOrderTicketEntitiesVo
=
new
KylinOrderTicketEntitiesVo
();
kylinOrderTicketEntitiesVo
.
setIsPayment
(
KylinTableStatusConst
.
ORDER_STATUS3
);
kylinOrderTicketEntitiesVo
.
setIsPayment
(
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT2
);
BasicDBObject
entitiesObject
=
new
BasicDBObject
(
"$set"
,
JSON
.
parse
(
JsonUtils
.
toJson
(
kylinOrderTicketEntitiesVo
)));
BasicDBObject
entitiesObject
=
new
BasicDBObject
(
"$set"
,
JSON
.
parse
(
JsonUtils
.
toJson
(
kylinOrderTicketEntitiesVo
)));
Document
entitiesDoc
=
mongoTemplate
.
getCollection
(
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
()).
findOneAndUpdate
(
Document
entitiesDoc
=
mongoTemplate
.
getCollection
(
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
()).
findOneAndUpdate
(
Query
.
query
(
Criteria
.
where
(
"orderTicketEntitiesId"
).
is
(
v
)).
getQueryObject
(),
Query
.
query
(
Criteria
.
where
(
"orderTicketEntitiesId"
).
is
(
v
)).
getQueryObject
(),
...
@@ -174,7 +178,7 @@ public class KylinRefundsStatusServiceImpl {
...
@@ -174,7 +178,7 @@ public class KylinRefundsStatusServiceImpl {
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
AFTER
)
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
AFTER
)
);
);
new
DataUtils
()
.
delOrderTicketEntitiesRedis
(
v
.
toString
());
dataUtils
.
delOrderTicketEntitiesRedis
(
v
.
toString
());
}
}
// 退款明细
// 退款明细
...
@@ -210,4 +214,199 @@ public class KylinRefundsStatusServiceImpl {
...
@@ -210,4 +214,199 @@ public class KylinRefundsStatusServiceImpl {
return
true
;
return
true
;
}
}
public
boolean
orderTicketRefundCancel
(
List
<
KylinOrderRefunds
>
refundList
)
{
for
(
KylinOrderRefunds
v
:
refundList
)
{
String
orderTicketEntitiesIds
=
v
.
getOrderTicketEntitiesIds
();
String
[]
orderTicketEntitiesIdsArr
=
orderTicketEntitiesIds
.
split
(
","
);
String
orderTicketsId
=
v
.
getOrderTicketsId
();
String
orderRefundsId
=
v
.
getOrderRefundsId
();
// 更新数据
// 订单状态表
KylinOrderTicketStatus
orderStatusTable
=
new
KylinOrderTicketStatus
();
// TODO: 2021/5/27 事物 and 部分退款
orderStatusTable
.
setStatus
(
KylinTableStatusConst
.
ORDER_STATUS1
);
kylinOrderTicketStatusMapper
.
update
(
orderStatusTable
,
new
UpdateWrapper
<
KylinOrderTicketStatus
>()
.
eq
(
"order_ticket_status_id"
,
orderTicketsId
));
KylinOrderTicketVo
kylinOrderTicketVo
=
new
KylinOrderTicketVo
();
kylinOrderTicketVo
.
setStatus
(
KylinTableStatusConst
.
ORDER_STATUS1
);
BasicDBObject
orderObject
=
new
BasicDBObject
(
"$set"
,
JSON
.
parse
(
JsonUtils
.
toJson
(
kylinOrderTicketVo
)));
Document
orderDoc
=
mongoTemplate
.
getCollection
(
KylinOrderTicketVo
.
class
.
getSimpleName
()).
findOneAndUpdate
(
Query
.
query
(
Criteria
.
where
(
"orderTicketsId"
).
is
(
orderTicketsId
)).
getQueryObject
(),
orderObject
,
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
AFTER
)
);
dataUtils
.
delOrderTicketRedis
(
orderTicketsId
);
// 入场人
for
(
String
entitiesId
:
orderTicketEntitiesIdsArr
)
{
KylinOrderTicketEntities
entitiesTable
=
new
KylinOrderTicketEntities
();
// TODO: 2021/5/27 事物 and 部分退款
entitiesTable
.
setIsPayment
(
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT1
);
kylinOrderTicketEntitiesMapper
.
update
(
entitiesTable
,
new
UpdateWrapper
<
KylinOrderTicketEntities
>()
.
eq
(
"order_ticket_entities_id"
,
entitiesId
)
.
eq
(
"is_payment"
,
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT2
)
);
KylinOrderTicketEntitiesVo
kylinOrderTicketEntitiesVo
=
new
KylinOrderTicketEntitiesVo
();
kylinOrderTicketEntitiesVo
.
setIsPayment
(
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT1
);
BasicDBObject
entitiesObject
=
new
BasicDBObject
(
"$set"
,
JSON
.
parse
(
JsonUtils
.
toJson
(
kylinOrderTicketEntitiesVo
)));
Document
entitiesDoc
=
mongoTemplate
.
getCollection
(
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
()).
findOneAndUpdate
(
Query
.
query
(
Criteria
.
where
(
"orderTicketEntitiesId"
).
is
(
entitiesId
)).
getQueryObject
(),
entitiesObject
,
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
AFTER
)
);
dataUtils
.
delOrderTicketEntitiesRedis
(
entitiesId
);
}
// 退款细节取消
KylinOrderRefunds
kylinOrderRefunds
=
new
KylinOrderRefunds
();
kylinOrderRefunds
.
setStatus
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_CANCEL
);
kylinOrderRefundsMapper
.
update
(
kylinOrderRefunds
,
new
UpdateWrapper
<
KylinOrderRefunds
>()
.
eq
(
"order_refunds_id"
,
orderRefundsId
));
}
return
true
;
}
public
boolean
orderTicketRefundReapply
(
List
<
KylinOrderRefunds
>
refundList
)
{
String
authId
=
"434"
;
String
authName
=
"sss"
;
KylinOrderRefunds
kylinOrderRefunds
=
new
KylinOrderRefunds
();
kylinOrderRefunds
.
setStatus
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_APPLY
);
kylinOrderRefunds
.
setApplicantId
(
authId
);
kylinOrderRefunds
.
setApplicantName
(
authName
);
kylinOrderRefunds
.
setApplicantAt
(
LocalDateTime
.
now
());
List
<
String
>
refundIds
=
refundList
.
stream
().
map
(
KylinOrderRefunds
->
KylinOrderRefunds
.
getOrderRefundsId
()).
collect
(
Collectors
.
toList
());
kylinOrderRefundsMapper
.
update
(
kylinOrderRefunds
,
new
UpdateWrapper
<
KylinOrderRefunds
>().
in
(
"order_refunds_id"
,
refundIds
)
);
return
true
;
}
public
boolean
orderTicketRefundApproved
(
List
<
KylinOrderRefunds
>
refundList
,
String
reject
)
{
String
authId
=
"434"
;
String
authName
=
"sss"
;
KylinOrderRefunds
kylinOrderRefunds
=
new
KylinOrderRefunds
();
kylinOrderRefunds
.
setStatus
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_APPROVED
);
kylinOrderRefunds
.
setAuditorId
(
authId
);
kylinOrderRefunds
.
setAuditorName
(
authName
);
kylinOrderRefunds
.
setAuditorAt
(
LocalDateTime
.
now
());
kylinOrderRefunds
.
setReject
(
reject
);
List
<
String
>
refundIds
=
refundList
.
stream
().
map
(
KylinOrderRefunds
->
KylinOrderRefunds
.
getOrderRefundsId
()).
collect
(
Collectors
.
toList
());
kylinOrderRefundsMapper
.
update
(
kylinOrderRefunds
,
new
UpdateWrapper
<
KylinOrderRefunds
>().
in
(
"order_refunds_id"
,
refundIds
)
);
return
true
;
}
public
boolean
orderTicketRefundReject
(
List
<
KylinOrderRefunds
>
refundList
,
String
reject
)
{
String
authId
=
"434"
;
String
authName
=
"sss"
;
KylinOrderRefunds
kylinOrderRefunds
=
new
KylinOrderRefunds
();
kylinOrderRefunds
.
setStatus
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_REJECT
);
kylinOrderRefunds
.
setAuditorId
(
authId
);
kylinOrderRefunds
.
setAuditorName
(
authName
);
kylinOrderRefunds
.
setAuditorAt
(
LocalDateTime
.
now
());
kylinOrderRefunds
.
setReject
(
reject
);
List
<
String
>
refundIds
=
refundList
.
stream
().
map
(
KylinOrderRefunds
->
KylinOrderRefunds
.
getOrderRefundsId
()).
collect
(
Collectors
.
toList
());
kylinOrderRefundsMapper
.
update
(
kylinOrderRefunds
,
new
UpdateWrapper
<
KylinOrderRefunds
>().
in
(
"order_refunds_id"
,
refundIds
)
);
return
true
;
}
public
boolean
orderTicketRefundRefuse
(
List
<
KylinOrderRefunds
>
refundList
,
String
refuse
)
{
String
authId
=
"434"
;
String
authName
=
"sss"
;
KylinOrderRefunds
kylinOrderRefunds
=
new
KylinOrderRefunds
();
kylinOrderRefunds
.
setStatus
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_REFUSE
);
kylinOrderRefunds
.
setExecutorId
(
authId
);
kylinOrderRefunds
.
setExecutorName
(
authName
);
kylinOrderRefunds
.
setExecutorAt
(
LocalDateTime
.
now
());
kylinOrderRefunds
.
setRefuse
(
refuse
);
List
<
String
>
refundIds
=
refundList
.
stream
().
map
(
KylinOrderRefunds
->
KylinOrderRefunds
.
getOrderRefundsId
()).
collect
(
Collectors
.
toList
());
kylinOrderRefundsMapper
.
update
(
kylinOrderRefunds
,
new
UpdateWrapper
<
KylinOrderRefunds
>().
in
(
"order_refunds_id"
,
refundIds
)
);
return
true
;
}
public
boolean
orderTicketRefundUnfilled
(
List
<
KylinOrderRefunds
>
refundList
,
String
refuse
)
throws
Exception
{
String
authId
=
"434"
;
String
authName
=
"sss"
;
KylinOrderRefunds
kylinOrderRefunds
=
new
KylinOrderRefunds
();
kylinOrderRefunds
.
setStatus
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_UNFILLED
);
kylinOrderRefunds
.
setExecutorId
(
authId
);
kylinOrderRefunds
.
setExecutorName
(
authName
);
kylinOrderRefunds
.
setExecutorAt
(
LocalDateTime
.
now
());
kylinOrderRefunds
.
setRefuse
(
refuse
);
List
<
String
>
refundIds
=
refundList
.
stream
().
map
(
KylinOrderRefunds
->
KylinOrderRefunds
.
getOrderRefundsId
()).
collect
(
Collectors
.
toList
());
kylinOrderRefundsMapper
.
update
(
kylinOrderRefunds
,
new
UpdateWrapper
<
KylinOrderRefunds
>().
in
(
"order_refunds_id"
,
refundIds
)
);
// 开始执行退款
/*MultiValueMap<String, String> param = new LinkedMultiValueMap();
param.put("id", refundIds);
String postUrl = "sss";
String token = "sss";
MultiValueMap<String, String> headers = new LinkedMultiValueMap();
headers.add("Authorization", token);*/
/*for (KylinOrderRefunds refund: refundList) {
KylinOrderTickets oderInfo = kylinOrderTicketsMapper.selectCount(
new QueryWrapper<KylinOrderTickets>()
.eq("order_tickets_id", orderTicketsId)
);
$params = [
'code' => $refund->pay_code,
'order_refund_code' => $refund->order_refund_code,
'price' => $refund->price,
'reason' => $refund->reason,
'notify_url' => config('currency.API_REFUND_CALLBACK_URL')
];
$result = zhengzai::payRefund($params);
}
String postResult = HttpUtil.post(postUrl, param, headers);
JsonNode postResultNew = JsonUtils.fromJson(postResult, JsonNode.class);
// 请求提审接口结果
if (postResultNew.get("message").toString() != "OK") {
throw new Exception("申请退款出错");
}*/
return
true
;
}
}
}
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