记得上下班打卡 | 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
61f8b718
Commit
61f8b718
authored
Jun 02, 2021
by
anjiabin
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
http://gitlab.zhengzai.tv/dongjingwei/liquidnet-bus-v1
into dev
parents
81f81c46
0ef1f56e
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
316 additions
and
322 deletions
+316
-322
EmailEntity.java
...n/java/com/liquidnet/service/adam/common/EmailEntity.java
+0
-18
DateUtil.java
...c/main/java/com/liquidnet/service/adam/util/DateUtil.java
+0
-55
PageUtil.java
...c/main/java/com/liquidnet/service/adam/util/PageUtil.java
+0
-24
RefundApplyParam.java
...m/liquidnet/service/kylin/dto/param/RefundApplyParam.java
+39
-0
KylinOrderRefundAdminController.java
...oller/zhengzai/kylin/KylinOrderRefundAdminController.java
+53
-92
ry-ui.js
...ent-admin-web/src/main/resources/static/ruoyi/js/ry-ui.js
+8
-4
details.html
...in/resources/templates/zhengzai/kylin/refund/details.html
+1
-6
refund.html
...ain/resources/templates/zhengzai/kylin/refund/refund.html
+63
-19
KylinOrderRefundsServiceImpl.java
...gzai/kylin/service/impl/KylinOrderRefundsServiceImpl.java
+108
-12
KylinRefundsStatusServiceImpl.java
...zai/kylin/service/impl/KylinRefundsStatusServiceImpl.java
+37
-90
liquidnet-service-kylin-dev.yml
...s-config/liquidnet-config/liquidnet-service-kylin-dev.yml
+1
-0
liquidnet-service-kylin-test.yml
...-config/liquidnet-config/liquidnet-service-kylin-test.yml
+1
-0
KylinOrderTicketsServiceImpl.java
...vice/kylin/service/impl/KylinOrderTicketsServiceImpl.java
+5
-2
No files found.
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/common/EmailEntity.java
deleted
100644 → 0
View file @
81f81c46
package
com
.
liquidnet
.
service
.
adam
.
common
;
import
lombok.Data
;
@Data
public
class
EmailEntity
{
//发件人
private
String
fromPerson
;
//收件人
private
String
toPerson
;
// 收件人邮箱
private
String
targetMail
;
//主题
private
String
subject
;
//正文
private
String
content
;
}
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/util/DateUtil.java
deleted
100644 → 0
View file @
81f81c46
package
com
.
liquidnet
.
service
.
adam
.
util
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.ZoneId
;
import
java.time.ZoneOffset
;
import
java.time.temporal.ChronoUnit
;
import
java.util.Date
;
public
class
DateUtil
{
/**
* 前端显示转换的时间戳
*
* @param now LocalDate
* LocalDateTime
*/
public
static
String
getVoTimestamp
(
Object
now
)
{
return
getVoTimestamp
(
now
,
ZoneOffset
.
UTC
);
}
public
static
String
getVoTimestamp
(
Object
now
,
ZoneOffset
offset
)
{
if
(
now
==
null
)
{
return
null
;
}
if
(
offset
==
null
)
{
offset
=
ZoneOffset
.
UTC
;
}
long
l
=
0
;
if
(
now
instanceof
LocalDate
)
{
l
=
((
LocalDate
)
now
).
atStartOfDay
(
offset
).
toInstant
().
getEpochSecond
();
}
else
if
(
now
instanceof
LocalDateTime
)
{
l
=
((
LocalDateTime
)
now
).
toEpochSecond
(
offset
);
}
return
String
.
valueOf
(
l
);
}
/**
* 获取当天剩余秒数
*
* @param currentDate 当前时间
*/
public
static
Integer
getRemainSecondsOneDay
(
Date
currentDate
)
{
LocalDateTime
midnight
=
LocalDateTime
.
ofInstant
(
currentDate
.
toInstant
(),
ZoneId
.
systemDefault
()).
plusDays
(
1
).
withHour
(
0
).
withMinute
(
0
)
.
withSecond
(
0
).
withNano
(
0
);
LocalDateTime
currentDateTime
=
LocalDateTime
.
ofInstant
(
currentDate
.
toInstant
(),
ZoneId
.
systemDefault
());
long
seconds
=
ChronoUnit
.
SECONDS
.
between
(
currentDateTime
,
midnight
);
return
(
int
)
seconds
;
}
}
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/util/PageUtil.java
deleted
100644 → 0
View file @
81f81c46
package
com
.
liquidnet
.
service
.
adam
.
util
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.github.pagehelper.PageInfo
;
/**
* 枚举工具类
*
* @author LiChen
* @date 2020/9/17 2:47 下午
*/
public
class
PageUtil
{
public
static
Page
transferFromPageInfo
(
PageInfo
pageInfo
)
{
Page
page
=
new
Page
();
page
.
setRecords
(
pageInfo
.
getList
());
page
.
setTotal
(
pageInfo
.
getTotal
());
page
.
setSize
(
pageInfo
.
getPageSize
());
page
.
setCurrent
(
pageInfo
.
getPageNum
());
return
page
;
}
}
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/dto/param/RefundApplyParam.java
0 → 100644
View file @
61f8b718
package
com
.
liquidnet
.
service
.
kylin
.
dto
.
param
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* <p>
* 退款申请参数
* </p>
*
* @author jiangxiulong
* @since 2021-06-02 11:19 上午
*/
@Data
public
class
RefundApplyParam
implements
Serializable
{
private
String
orderTicketsId
;
private
String
orderRefundBatchesId
;
private
String
reason
;
private
double
RefundPriceExpress
;
private
List
<
String
>
ticketEntityIds
;
private
List
<
String
>
ids
;
private
Integer
status
;
private
String
reject
;
private
String
refuse
;
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/java/com/liquidnet/client/admin/web/controller/zhengzai/kylin/KylinOrderRefundAdminController.java
View file @
61f8b718
...
...
@@ -2,27 +2,21 @@ package com.liquidnet.client.admin.web.controller.zhengzai.kylin;
import
com.github.pagehelper.PageInfo
;
import
com.liquidnet.client.admin.common.core.controller.BaseController
;
import
com.liquidnet.client.admin.common.core.domain.AjaxResult
;
import
com.liquidnet.client.admin.common.core.page.TableDataInfo
;
import
com.liquidnet.client.admin.zhengzai.kylin.service.impl.KylinOrderRefundsServiceImpl
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.kylin.constant.KylinTableStatusConst
;
import
com.liquidnet.service.kylin.dao.OrderRefundDao
;
import
com.liquidnet.service.kylin.dto.param.RefundApplyParam
;
import
com.liquidnet.service.kylin.dto.param.RefundCallbackParam
;
import
com.liquidnet.service.kylin.dto.param.RefundSearchParam
;
import
com.liquidnet.service.kylin.dto.vo.KylinOrderRefundsVo
;
import
com.liquidnet.service.kylin.dto.vo.partner.KylinPerformanceMisVo
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.ModelMap
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* <p>
* 后台单订单退款 服务实现类
...
...
@@ -48,7 +42,6 @@ public class KylinOrderRefundAdminController extends BaseController {
}
@GetMapping
(
"callback"
)
@ApiOperation
(
"退款回调"
)
public
String
refundCallback
(
@RequestBody
RefundCallbackParam
refundCallbackParam
)
{
String
result
=
kylinOrderRefundsServiceImpl
.
refundCallback
(
refundCallbackParam
);
return
result
;
...
...
@@ -71,149 +64,117 @@ public class KylinOrderRefundAdminController extends BaseController {
return
getDataTable
(
result
.
getList
());
}
@RequiresPermissions
(
"kylin:refund:apply"
)
@PostMapping
(
"apply"
)
@ApiOperation
(
"申请退款"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"body"
,
dataType
=
"String"
,
name
=
"orderTicketsId"
,
value
=
"订单id"
,
required
=
true
),
@ApiImplicitParam
(
type
=
"body"
,
dataType
=
"String"
,
name
=
"orderRefundBatchesId"
,
value
=
"批量id"
),
@ApiImplicitParam
(
type
=
"body"
,
dataType
=
"String"
,
name
=
"refundData"
,
value
=
"退款数据"
),
@ApiImplicitParam
(
type
=
"body"
,
dataType
=
"String"
,
name
=
"reason"
,
value
=
"备注"
,
required
=
true
)
})
public
ResponseDto
<
Object
>
refundApply
(
@RequestBody
String
orderTicketsId
,
@RequestBody
String
orderRefundBatchesId
,
@RequestBody
String
refundData
,
@RequestBody
String
reason
)
{
@ResponseBody
public
AjaxResult
refundApply
(
RefundApplyParam
refundApplyParam
)
{
try
{
Boolean
res
=
kylinOrderRefundsServiceImpl
.
refundApply
(
orderTicketsId
,
reason
,
orderRefundBatchesId
,
refundData
);
Boolean
res
=
kylinOrderRefundsServiceImpl
.
refundApply
(
refundApplyParam
);
if
(
res
)
{
return
ResponseDto
.
success
();
return
success
();
}
else
{
return
ResponseDto
.
failure
(
"申请退款失败"
);
return
error
(
"申请退款失败"
);
}
}
catch
(
Exception
e
)
{
return
ResponseDto
.
failure
(
e
.
getMessage
());
return
error
(
e
.
getMessage
());
}
}
@RequiresPermissions
(
"kylin:refund:cancel"
)
@PostMapping
(
"cancel"
)
@ApiOperation
(
"取消退款"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"body"
,
dataType
=
"Lsit"
,
name
=
"orderRefundsIdList"
,
value
=
"退款id 支持批量"
,
required
=
true
)
})
public
ResponseDto
<
Object
>
refundApply
(
@RequestBody
List
orderRefundsIdList
)
{
@ResponseBody
public
AjaxResult
refundCancel
(
RefundApplyParam
refundApplyParam
)
{
try
{
Boolean
res
=
kylinOrderRefundsServiceImpl
.
refundCancel
(
orderRefundsIdList
);
Boolean
res
=
kylinOrderRefundsServiceImpl
.
refundCancel
(
refundApplyParam
);
if
(
res
)
{
return
ResponseDto
.
success
();
return
success
();
}
else
{
return
ResponseDto
.
failure
(
"取消退款失败"
);
return
error
(
"取消退款失败"
);
}
}
catch
(
Exception
e
)
{
return
ResponseDto
.
failure
(
e
.
getMessage
());
return
error
(
e
.
getMessage
());
}
}
@RequiresPermissions
(
"kylin:refund:reapply"
)
@PostMapping
(
"reapply"
)
@ApiOperation
(
"再次提交审核"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"body"
,
dataType
=
"Lsit"
,
name
=
"orderRefundsIdList"
,
value
=
"退款id 支持批量"
,
required
=
true
)
})
public
ResponseDto
<
Object
>
refundReapply
(
@RequestBody
List
orderRefundsIdList
)
{
@ResponseBody
public
AjaxResult
refundReapply
(
RefundApplyParam
refundApplyParam
)
{
try
{
Boolean
res
=
kylinOrderRefundsServiceImpl
.
refundReapply
(
orderRefundsIdList
);
Boolean
res
=
kylinOrderRefundsServiceImpl
.
refundReapply
(
refundApplyParam
);
if
(
res
)
{
return
ResponseDto
.
success
();
return
success
();
}
else
{
return
ResponseDto
.
failure
(
"再次申请退款失败"
);
// 不是重新发起退款,而是重新发起退款审核
return
error
(
"再次发起退款审核失败"
);
}
}
catch
(
Exception
e
)
{
return
ResponseDto
.
failure
(
e
.
getMessage
());
return
error
(
e
.
getMessage
());
}
}
// 一审
@RequiresPermissions
(
"kylin:refund:review"
)
@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
)
{
@ResponseBody
public
AjaxResult
refundReview
(
RefundApplyParam
refundApplyParam
)
{
try
{
Boolean
res
=
false
;
Integer
status
=
refundApplyParam
.
getStatus
();
if
(
status
==
KylinTableStatusConst
.
ORDER_REFUND_STATUS_APPROVED
)
{
// 通过
res
=
kylinOrderRefundsServiceImpl
.
refundApproved
(
orderRefundsIdList
,
reject
);
res
=
kylinOrderRefundsServiceImpl
.
refundApproved
(
refundApplyParam
);
}
if
(
status
==
KylinTableStatusConst
.
ORDER_REFUND_STATUS_REJECT
)
{
// 驳回
res
=
kylinOrderRefundsServiceImpl
.
refundReject
(
orderRefundsIdList
,
reject
);
res
=
kylinOrderRefundsServiceImpl
.
refundReject
(
refundApplyParam
);
}
if
(
res
)
{
return
ResponseDto
.
success
();
return
success
();
}
else
{
return
ResponseDto
.
failure
(
"审核退款失败"
);
return
error
(
"审核退款失败"
);
}
}
catch
(
Exception
e
)
{
return
ResponseDto
.
failure
(
e
.
getMessage
());
return
error
(
e
.
getMessage
());
}
}
// 二审
@RequiresPermissions
(
"kylin:refund:execute"
)
@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
)
{
@ResponseBody
public
AjaxResult
refundExecute
(
RefundApplyParam
refundApplyParam
)
{
try
{
Boolean
res
=
false
;
Integer
status
=
refundApplyParam
.
getStatus
();
if
(
status
==
KylinTableStatusConst
.
ORDER_REFUND_STATUS_UNFILLED
)
{
// 通过
res
=
kylinOrderRefundsServiceImpl
.
refundUnfilled
(
orderRefundsIdList
,
refuse
);
res
=
kylinOrderRefundsServiceImpl
.
refundUnfilled
(
refundApplyParam
);
}
if
(
status
==
KylinTableStatusConst
.
ORDER_REFUND_STATUS_REFUSE
)
{
// 驳回
res
=
kylinOrderRefundsServiceImpl
.
refundRefuse
(
orderRefundsIdList
,
refuse
);
res
=
kylinOrderRefundsServiceImpl
.
refundRefuse
(
refundApplyParam
);
}
if
(
res
)
{
return
ResponseDto
.
success
();
return
success
();
}
else
{
return
ResponseDto
.
failure
(
"审核退款失败"
);
return
error
(
"审核退款失败"
);
}
}
catch
(
Exception
e
)
{
return
ResponseDto
.
failure
(
e
.
getMessage
());
return
error
(
e
.
getMessage
());
}
}
// @PostMapping("refundCompleted")
// @ApiOperation("主动关闭订单,完成退款")
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"body"
,
dataType
=
"Integer"
,
name
=
"orderRefundsId"
,
value
=
"退款id"
,
required
=
true
)
})
public
ResponseDto
<
Object
>
refundCompleted
(
@RequestBody
Integer
orderRefundsId
)
{
// 主动完成退款
@RequiresPermissions
(
"kylin:refund:completed"
)
@PostMapping
(
"completed"
)
@ResponseBody
public
AjaxResult
refundCompleted
(
RefundApplyParam
refundApplyParam
)
{
try
{
Boolean
res
=
kylinOrderRefundsServiceImpl
.
refundCompleted
(
orderRefundsId
);
Boolean
res
=
kylinOrderRefundsServiceImpl
.
refundCompleted
(
refundApplyParam
);
if
(
res
)
{
return
ResponseDto
.
success
();
return
success
();
}
else
{
return
ResponseDto
.
failure
(
"关闭订单失败"
);
return
error
(
"关闭订单失败"
);
}
}
catch
(
Exception
e
)
{
return
ResponseDto
.
failure
(
e
.
getMessage
());
return
error
(
e
.
getMessage
());
}
}
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/static/ruoyi/js/ry-ui.js
View file @
61f8b718
...
...
@@ -1008,11 +1008,13 @@ var table = {
return
url
;
},
// 删除信息
remove
:
function
(
id
,
message
)
{
remove
:
function
(
id
,
message
,
url
)
{
table
.
set
();
message
=
message
??
"确定删除该条"
+
table
.
options
.
modalName
+
"信息吗?"
;
$
.
modal
.
confirm
(
message
,
function
()
{
var
url
=
$
.
common
.
isEmpty
(
id
)
?
table
.
options
.
removeUrl
:
table
.
options
.
removeUrl
.
replace
(
"{id}"
,
id
);
if
(
!
url
)
{
url
=
$
.
common
.
isEmpty
(
id
)
?
table
.
options
.
urls
:
table
.
options
.
urls
.
replace
(
"{id}"
,
id
);
}
if
(
table
.
options
.
type
==
table_type
.
bootstrapTreeTable
)
{
$
.
operate
.
get
(
url
);
}
else
{
...
...
@@ -1022,7 +1024,7 @@ var table = {
});
},
// 批量删除信息
removeAll
:
function
(
message
)
{
removeAll
:
function
(
message
,
url
)
{
table
.
set
();
var
rows
=
$
.
common
.
isEmpty
(
table
.
options
.
uniqueId
)
?
$
.
table
.
selectFirstColumns
()
:
$
.
table
.
selectColumns
(
table
.
options
.
uniqueId
);
message
=
message
??
"确认要删除选中的"
+
rows
.
length
+
"条数据吗?"
;
...
...
@@ -1031,7 +1033,9 @@ var table = {
return
;
}
$
.
modal
.
confirm
(
message
,
function
()
{
var
url
=
table
.
options
.
removeUrl
;
if
(
!
url
)
{
url
=
table
.
options
.
removeUrl
;
}
var
data
=
{
"ids"
:
rows
.
join
()
};
$
.
operate
.
submit
(
url
,
"post"
,
"json"
,
data
);
});
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/templates/zhengzai/kylin/refund/details.html
View file @
61f8b718
...
...
@@ -7,17 +7,12 @@
<div
class=
"wrapper wrapper-content animated fadeInRight ibox-content"
>
<form
class=
"form-horizontal m-t"
id=
"signupForm"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
>
tetete
:
</label>
<label
class=
"col-sm-2 control-label"
>
退款单id
:
</label>
<div
class=
"form-control-static"
th:text=
"${KylinOrderRefundsVo.orderRefundsId}"
>
</div>
</div>
</form>
</div>
<th:block
th:include=
"include :: footer"
/>
<script
th:inline=
"javascript"
>
$
(
function
()
{
});
</script>
</body>
</html>
\ No newline at end of file
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/templates/zhengzai/kylin/refund/refund.html
View file @
61f8b718
...
...
@@ -42,39 +42,78 @@
</div>
<div
class=
"btn-group-sm"
id=
"toolbar"
role=
"group"
>
<a
class=
"btn btn-success
"
onclick=
"$.operate.add()"
shiro:hasPermission=
"kylin:performances:add
"
>
<i
class=
"fa fa-plus"
></i>
批量一审
<a
class=
"btn btn-success
multiple disabled"
onclick=
"review()"
shiro:hasPermission=
"kylin:refund:review
"
>
批量一审
</a>
<a
class=
"btn btn-primary
single disabled"
onclick=
"$.operate.edit()"
shiro:hasPermission=
"kylin:performances:edit
"
>
<i
class=
"fa fa-edit"
></i>
批量二审
<a
class=
"btn btn-primary
multiple disabled"
onclick=
"execute()"
shiro:hasPermission=
"kylin:refund:execute
"
>
批量二审
</a>
<a
class=
"btn btn-danger multiple disabled"
onclick=
"$.operate.removeAll(
)"
shiro:hasPermission=
"kylin:performances:remove
"
>
<i
class=
"fa fa-remove"
></i>
批量取消
<a
class=
"btn btn-danger multiple disabled"
onclick=
"$.operate.removeAll(
'确定取消选中的退款申请吗?', '/cancel')"
shiro:hasPermission=
"kylin:refund:cancel
"
>
批量取消
</a>
<a
class=
"btn btn-warning
"
onclick=
"$.table.exportExcel()"
shiro:hasPermission=
"kylin:performances:export
"
>
<i
class=
"fa fa-download"
></i>
批量重新提交
<a
class=
"btn btn-warning
multiple disabled"
onclick=
"$.operate.removeAll('确定重新提交选中的退款审核吗?', '/reapply')"
shiro:hasPermission=
"kylin:refund:reapply
"
>
批量重新提交
</a>
</div>
<div
class=
"col-sm-12 select-table table-bordered"
>
<table
id=
"bootstrap-table"
></table>
</div>
<form
id=
"appTest"
>
<div
class=
"select-list"
>
<ul>
<li>
<input
type=
"text"
name=
"orderTicketsId"
th:value=
"71619365224734720"
/>
<input
type=
"text"
name=
"orderRefundBatchesId"
th:value=
"222"
/>
<input
type=
"text"
name=
"RefundPriceExpress"
th:value=
"0"
/>
<input
type=
"text"
name=
"reason"
th:value=
"备注"
/>
</li>
<li>
<div
class=
"form-group"
>
<div
class=
"col-sm-8"
>
<label
class=
"check-box"
>
<input
checked
name=
"ticketEntityIds"
type=
"checkbox"
value=
"69485706304757740"
>
展开/折叠
</label>
<label
class=
"check-box"
>
<input
checked
name=
"ticketEntityIds"
type=
"checkbox"
value=
"69485706304757739"
>
全选/全不选
</label>
</div>
</div>
</li>
</ul>
</div>
</form>
</div>
</div>
<th:block
th:include=
"include :: footer"
/>
<script
th:inline=
"javascript"
>
var
detailFlag
=
[[
$
{@
permission
.
hasPermi
(
'kylin:performances:detail'
)}]];
var
detailFlag
=
[[
$
{@
permission
.
hasPermi
(
'kylin:refund:detail'
)}]];
var
reviewFlag
=
[[
$
{@
permission
.
hasPermi
(
'kylin:refund:review'
)}]];
var
executeFlag
=
[[
$
{@
permission
.
hasPermi
(
'kylin:refund:execute'
)}]];
var
cancelFlag
=
[[
$
{@
permission
.
hasPermi
(
'kylin:refund:cancel'
)}]];
var
reapplyFlag
=
[[
$
{@
permission
.
hasPermi
(
'kylin:refund:reapply'
)}]];
var
detailFlag
=
[[
$
{@
permission
.
hasPermi
(
'kylin:performances:detail'
)}]];
var
detailFlag
=
[[
$
{@
permission
.
hasPermi
(
'kylin:performances:detail'
)}]];
var
detailFlag
=
[[
$
{@
permission
.
hasPermi
(
'kylin:performances:detail'
)}]];
var
detailFlag
=
[[
$
{@
permission
.
hasPermi
(
'kylin:performances:detail'
)}]];
var
prefix
=
ctx
+
"kylin/refund"
;
function
apply
()
{
var
data
=
$
(
'#appTest'
).
serializeArray
();
$
.
operate
.
save
(
prefix
+
"/apply"
,
data
);
}
function
review
()
{
alert
(
1
)
}
function
execute
()
{
alert
(
2
)
}
$
(
function
()
{
var
options
=
{
url
:
prefix
+
"/list"
,
detailUrl
:
prefix
+
"/details/{id}"
,
modalName
:
"退款详情"
,
cancelUrl
:
prefix
+
"/cancel"
,
reapplyUrl
:
prefix
+
"/reapply"
,
columns
:
[{
checkbox
:
true
},
...
...
@@ -103,17 +142,22 @@
align
:
'center'
,
formatter
:
function
(
value
,
row
,
index
)
{
var
actions
=
[];
actions
.
push
(
'<a class="btn btn-success btn-xs '
+
detailFlag
+
'" href="javascript:void(0)" onclick="$.operate.detailTab(
\'
'
+
row
.
orderRefundsId
+
'
\'
)"><i class="fa fa-edit"></i>查看</a> '
);
actions
.
push
(
'<a class="btn btn-info btn-xs'
+
detailFlag
+
'" href="javascript:void(0)" onclick="$.operate.detailTab(
\'
'
+
row
.
orderRefundsId
+
'
\'
)"></i>查看</a> '
);
actions
.
push
(
'<a class="btn btn-success btn-xs '
+
reviewFlag
+
'" href="javascript:void(0)" onclick="review(
\'
'
+
row
.
orderRefundsId
+
'
\'
)"></i>一审</a> '
);
actions
.
push
(
'<a class="btn btn-primary btn-xs '
+
executeFlag
+
'" href="javascript:void(0)" onclick="execute(
\'
'
+
row
.
orderRefundsId
+
'
\'
)"></i>二审</a> '
);
actions
.
push
(
'<a class="btn btn-danger btn-xs '
+
cancelFlag
+
'" href="javascript:void(0)" onclick="$.operate.remove(
\'
'
+
row
.
orderRefundsId
+
'
\'
,
\'
确定取消退款申请吗?
\'
, table.options.cancelUrl)"></i>取消</a> '
);
actions
.
push
(
'<a class="btn btn-warning btn-xs '
+
reapplyFlag
+
'" href="javascript:void(0)" onclick="$.operate.remove(
\'
'
+
row
.
orderRefundsId
+
'
\'
,
\'
确定重新提交退款审核吗?
\'
, table.options.reapplyUrl)"></i>重新提交</a> '
);
actions
.
push
(
'<a class="btn btn-warning btn-xs" href="javascript:void(0)" onclick="apply()"></i>提交申请</a> '
);
actions
.
push
(
'<a class="btn btn-success btn-xs '
+
detailFlag
+
'" href="javascript:void(0)" onclick="$.operate.detailTab(
\'
'
+
row
.
orderRefundsId
+
'
\'
)"><i class="fa fa-edit"></i>一审</a> '
);
actions
.
push
(
'<a class="btn btn-success btn-xs '
+
detailFlag
+
'" href="javascript:void(0)" onclick="$.operate.detailTab(
\'
'
+
row
.
orderRefundsId
+
'
\'
)"><i class="fa fa-edit"></i>二审</a> '
);
actions
.
push
(
'<a class="btn btn-success btn-xs '
+
detailFlag
+
'" href="javascript:void(0)" onclick="$.operate.detailTab(
\'
'
+
row
.
orderRefundsId
+
'
\'
)"><i class="fa fa-edit"></i>取消</a> '
);
actions
.
push
(
'<a class="btn btn-success btn-xs '
+
detailFlag
+
'" href="javascript:void(0)" onclick="$.operate.detailTab(
\'
'
+
row
.
orderRefundsId
+
'
\'
)"><i class="fa fa-edit"></i>重新提交</a> '
);
return
actions
.
join
(
''
);
}
}]
};
$
.
table
.
init
(
options
);
});
</script>
</body>
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/kylin/service/impl/KylinOrderRefundsServiceImpl.java
View file @
61f8b718
...
...
@@ -5,20 +5,29 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.liquidnet.client.admin.common.utils.ShiroUtils
;
import
com.liquidnet.client.admin.zhengzai.kylin.utils.DataUtils
;
import
com.liquidnet.commons.lang.util.BeanUtil
;
import
com.liquidnet.service.kylin.constant.KylinTableStatusConst
;
import
com.liquidnet.service.kylin.dao.OrderRefundDao
;
import
com.liquidnet.service.kylin.dto.param.RefundApplyParam
;
import
com.liquidnet.service.kylin.dto.param.RefundCallbackParam
;
import
com.liquidnet.service.kylin.dto.param.RefundSearchParam
;
import
com.liquidnet.service.kylin.dto.vo.KylinOrderRefundsVo
;
import
com.liquidnet.service.kylin.entity.KylinOrderRefunds
;
import
com.liquidnet.service.kylin.entity.KylinOrderTicketEntities
;
import
com.liquidnet.service.kylin.entity.KylinOrderTicketStatus
;
import
com.liquidnet.service.kylin.entity.KylinOrderTickets
;
import
com.liquidnet.service.kylin.mapper.KylinOrderRefundsMapper
;
import
com.liquidnet.service.kylin.mapper.KylinOrderTicketEntitiesMapper
;
import
com.liquidnet.service.kylin.mapper.KylinOrderTicketStatusMapper
;
import
com.liquidnet.service.kylin.mapper.KylinOrderTicketsMapper
;
import
com.liquidnet.service.kylin.service.IKylinOrderRefundsService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.http.HttpException
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
...
...
@@ -43,16 +52,93 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
@Autowired
private
KylinOrderRefundsMapper
kylinOrderRefundsMapper
;
public
Boolean
refundApply
(
String
orderTicketsId
,
String
reason
,
String
orderRefundBatchesId
,
String
refundData
)
throws
Exception
{
int
count
=
0
;
@Autowired
private
KylinOrderTicketStatusMapper
kylinOrderTicketStatusMapper
;
@Autowired
private
KylinOrderTicketEntitiesMapper
kylinOrderTicketEntitiesMapper
;
@Autowired
MongoTemplate
mongoTemplate
;
@Autowired
private
DataUtils
dataUtils
;
public
Boolean
refundApply
(
RefundApplyParam
refundApplyParam
)
throws
Exception
{
/*int count = 0;
count = kylinOrderTicketsMapper.selectCount(
new
UpdateWrapper
<
KylinOrderTickets
>().
eq
(
"order_tickets_id"
,
orderTicketsId
).
eq
(
"coupon_type2"
,
"full
"
)
new UpdateWrapper<KylinOrderTickets>().eq("order_tickets_id",
refundApplyParam.getOrderTicketsId()).eq("coupon_type", "no
")
);
if (count > 0) {
throw new Exception("使用满减券 暂不能退款");
}*/
String
orderTicketsId
=
refundApplyParam
.
getOrderTicketsId
();
List
<
String
>
ticketEntityIds
=
refundApplyParam
.
getTicketEntityIds
();
double
RefundPriceExpress
=
refundApplyParam
.
getRefundPriceExpress
();
KylinOrderTickets
orderInfo
=
kylinOrderTicketsMapper
.
selectOne
(
new
QueryWrapper
<
KylinOrderTickets
>().
eq
(
"order_tickets_id"
,
orderTicketsId
)
);
KylinOrderTicketStatus
orderStatus
=
kylinOrderTicketStatusMapper
.
selectOne
(
new
QueryWrapper
<
KylinOrderTicketStatus
>().
eq
(
"order_id"
,
orderTicketsId
)
);
int
thisOrderStatus
=
orderStatus
.
getStatus
();
int
thisPayStatus
=
orderStatus
.
getPayStatus
();
double
priceExpress
=
orderInfo
.
getPriceExpress
().
doubleValue
();
// todo 转增是否能退
// 订单状态需已付款
if
(
thisOrderStatus
!=
KylinTableStatusConst
.
ORDER_STATUS1
)
{
throw
new
HttpException
(
"订单状态信息有误"
);
}
// 订单支付状态需为已支付
if
(
thisPayStatus
!=
KylinTableStatusConst
.
ORDER_PAY_STATUS1
)
{
throw
new
HttpException
(
"订单支付信息有误"
);
}
// 传的快递费不能大于实际的快递费
if
(
RefundPriceExpress
>
priceExpress
)
{
throw
new
HttpException
(
"快递费不能大于实际的快递费"
);
}
// 该订单正在退款或已有退款
QueryWrapper
<
KylinOrderRefunds
>
refundingCountQuery
=
new
QueryWrapper
<
KylinOrderRefunds
>()
.
eq
(
"order_tickets_id"
,
orderTicketsId
)
.
ne
(
"status"
,
KylinTableStatusConst
.
ORDER_REFUND_STATUS_CANCEL
);
for
(
String
v
:
ticketEntityIds
)
{
refundingCountQuery
.
like
(
"order_ticket_entities_ids"
,
v
);
}
int
refundingCount
=
kylinOrderRefundsMapper
.
selectCount
(
refundingCountQuery
);
if
(
refundingCount
>
0
)
{
throw
new
HttpException
(
"该订单正在退款或已有退款"
);
}
// 该订单的入场人未付款/正在退款/已退款
// TODO: 2021/5/27 出票未出票不知是否要处理
/*QueryWrapper<KylinOrderTicketEntities> notPayCountQuery = new QueryWrapper<KylinOrderTicketEntities>()
.in("order_ticket_entities_id", ticketEntityIds)
.in("is_payment", new Integer[]{
KylinTableStatusConst.ENTITIES_IS_PAYMENT0,
KylinTableStatusConst.ENTITIES_IS_PAYMENT2,
KylinTableStatusConst.ENTITIES_IS_PAYMENT3});
int notPayCount = kylinOrderTicketEntitiesMapper.selectCount(notPayCountQuery);*/
boolean
res
=
kylinRefundsStatusServiceImpl
.
orderTicketRefunding
(
orderTicketsId
,
refundData
,
reason
,
orderRefundBatchesId
);
// 选择退款的入场人是否正确
// TODO: 2021/5/27 出票未出票不知是否要处理
QueryWrapper
<
KylinOrderTicketEntities
>
choiceCountQuery
=
new
QueryWrapper
<
KylinOrderTicketEntities
>()
.
eq
(
"order_id"
,
orderTicketsId
)
.
eq
(
"is_payment"
,
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT1
)
.
in
(
"order_ticket_entities_id"
,
ticketEntityIds
);
int
choiceCount
=
kylinOrderTicketEntitiesMapper
.
selectCount
(
choiceCountQuery
);
int
ticketEntityCount
=
ticketEntityIds
.
size
();
if
(
choiceCount
<
0
||
choiceCount
!=
ticketEntityCount
)
{
throw
new
HttpException
(
"入场人订单有误或不存在"
);
}
boolean
res
=
kylinRefundsStatusServiceImpl
.
orderTicketRefunding
(
refundApplyParam
,
orderInfo
,
orderTicketsId
,
RefundPriceExpress
,
priceExpress
,
ticketEntityCount
,
ticketEntityIds
);
if
(
res
)
{
return
true
;
}
else
{
...
...
@@ -60,7 +146,8 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
}
}
public
Boolean
refundCancel
(
List
orderRefundsIdList
)
throws
Exception
{
public
Boolean
refundCancel
(
RefundApplyParam
refundApplyParam
)
throws
Exception
{
List
<
String
>
orderRefundsIdList
=
refundApplyParam
.
getIds
();
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
>()
...
...
@@ -80,7 +167,8 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
}
}
public
Boolean
refundReapply
(
List
orderRefundsIdList
)
throws
Exception
{
public
Boolean
refundReapply
(
RefundApplyParam
refundApplyParam
)
throws
Exception
{
List
<
String
>
orderRefundsIdList
=
refundApplyParam
.
getIds
();
Integer
[]
orderRefundStatus
=
{
KylinTableStatusConst
.
ORDER_REFUND_STATUS_REJECT
,
KylinTableStatusConst
.
ORDER_REFUND_STATUS_REFUSE
};
List
<
KylinOrderRefunds
>
refundList
=
kylinOrderRefundsMapper
.
selectList
(
new
QueryWrapper
<
KylinOrderRefunds
>()
...
...
@@ -89,7 +177,7 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
.
in
(
"status"
,
orderRefundStatus
)
);
if
(
orderRefundsIdList
.
size
()
!=
refundList
.
size
())
{
throw
new
Exception
(
"订单需
已驳回、已回绝
"
);
throw
new
Exception
(
"订单需
一审驳回或二审驳回
"
);
}
boolean
res
=
kylinRefundsStatusServiceImpl
.
orderTicketRefundReapply
(
refundList
);
...
...
@@ -100,7 +188,9 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
}
}
public
Boolean
refundApproved
(
List
orderRefundsIdList
,
String
reject
)
throws
Exception
{
public
Boolean
refundApproved
(
RefundApplyParam
refundApplyParam
)
throws
Exception
{
List
<
String
>
orderRefundsIdList
=
refundApplyParam
.
getIds
();
String
reject
=
refundApplyParam
.
getReject
();
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
>()
...
...
@@ -120,7 +210,9 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
}
}
public
Boolean
refundReject
(
List
orderRefundsIdList
,
String
reject
)
throws
Exception
{
public
Boolean
refundReject
(
RefundApplyParam
refundApplyParam
)
throws
Exception
{
List
<
String
>
orderRefundsIdList
=
refundApplyParam
.
getIds
();
String
reject
=
refundApplyParam
.
getReject
();
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
>()
...
...
@@ -140,7 +232,9 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
}
}
public
Boolean
refundUnfilled
(
List
orderRefundsIdList
,
String
refuse
)
throws
Exception
{
public
Boolean
refundUnfilled
(
RefundApplyParam
refundApplyParam
)
throws
Exception
{
List
<
String
>
orderRefundsIdList
=
refundApplyParam
.
getIds
();
String
refuse
=
refundApplyParam
.
getRefuse
();
Integer
[]
orderRefundStatus
=
{
KylinTableStatusConst
.
ORDER_REFUND_STATUS_APPROVED
,
KylinTableStatusConst
.
ORDER_REFUND_STATUS_ERROR
};
List
<
KylinOrderRefunds
>
refundList
=
kylinOrderRefundsMapper
.
selectList
(
new
QueryWrapper
<
KylinOrderRefunds
>()
...
...
@@ -160,7 +254,9 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
}
}
public
Boolean
refundRefuse
(
List
orderRefundsIdList
,
String
refuse
)
throws
Exception
{
public
Boolean
refundRefuse
(
RefundApplyParam
refundApplyParam
)
throws
Exception
{
List
<
String
>
orderRefundsIdList
=
refundApplyParam
.
getIds
();
String
refuse
=
refundApplyParam
.
getRefuse
();
Integer
[]
orderRefundStatus
=
{
KylinTableStatusConst
.
ORDER_REFUND_STATUS_APPROVED
,
KylinTableStatusConst
.
ORDER_REFUND_STATUS_ERROR
};
List
<
KylinOrderRefunds
>
refundList
=
kylinOrderRefundsMapper
.
selectList
(
new
QueryWrapper
<
KylinOrderRefunds
>()
...
...
@@ -180,7 +276,7 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
}
}
public
Boolean
refundCompleted
(
Integer
orderRefundsId
)
{
public
Boolean
refundCompleted
(
RefundApplyParam
refundApplyParam
)
{
return
false
;
}
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/kylin/service/impl/KylinRefundsStatusServiceImpl.java
View file @
61f8b718
...
...
@@ -4,12 +4,14 @@ import com.alibaba.fastjson.JSON;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.liquidnet.client.admin.common.utils.ShiroUtils
;
import
com.liquidnet.client.admin.common.utils.StringUtils
;
import
com.liquidnet.client.admin.zhengzai.kylin.utils.DataUtils
;
import
com.liquidnet.commons.lang.util.HttpUtil
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.kylin.constant.KylinTableStatusConst
;
import
com.liquidnet.service.kylin.dto.param.RefundApplyParam
;
import
com.liquidnet.service.kylin.dto.param.RefundCallbackParam
;
import
com.liquidnet.service.kylin.dto.vo.KylinOrderTicketEntitiesVo
;
import
com.liquidnet.service.kylin.dto.vo.KylinOrderTicketVo
;
...
...
@@ -69,73 +71,17 @@ public class KylinRefundsStatusServiceImpl {
@Autowired
private
DataUtils
dataUtils
;
public
Boolean
orderTicketRefunding
(
String
orderTicketsId
,
String
refundData
,
String
reason
,
String
orderRefundBatchesId
)
throws
HttpException
{
public
Boolean
orderTicketRefunding
(
RefundApplyParam
refundApplyParam
,
KylinOrderTickets
orderInfo
,
String
orderTicketsId
,
double
RefundPriceExpress
,
double
priceExpress
,
int
ticketEntityCount
,
List
<
String
>
ticketEntityIds
)
throws
HttpException
{
// 处理数据
String
authId
=
"434"
;
String
authName
=
"sss"
;
JsonNode
refundDataJson
=
JsonUtils
.
fromJson
(
refundData
,
JsonNode
.
class
);
JsonNode
ticketEntityIds
=
refundDataJson
.
get
(
"ticketEntityIds"
);
double
RefundpriceExpress
=
refundDataJson
.
get
(
"RefundpriceExpress"
).
doubleValue
();
KylinOrderTickets
orderInfo
=
kylinOrderTicketsMapper
.
selectOne
(
new
UpdateWrapper
<
KylinOrderTickets
>().
eq
(
"order_tickets_id"
,
orderTicketsId
)
);
KylinOrderTicketStatus
orderStatus
=
kylinOrderTicketStatusMapper
.
selectOne
(
new
UpdateWrapper
<
KylinOrderTicketStatus
>().
eq
(
"order_id"
,
orderTicketsId
)
);
int
thisOrderStatus
=
orderStatus
.
getStatus
();
int
thisPayStatus
=
orderStatus
.
getPayStatus
();
double
priceExpress
=
orderInfo
.
getPriceExpress
().
doubleValue
();
String
authId
=
ShiroUtils
.
getUserId
().
toString
();
String
authName
=
ShiroUtils
.
getLoginName
();
String
reason
=
refundApplyParam
.
getReason
();
String
orderRefundBatchesId
=
refundApplyParam
.
getOrderRefundBatchesId
();
double
priceActual
=
orderInfo
.
getPriceActual
().
doubleValue
();
// todo 转增是否能退
// 订单状态需已付款
if
(
thisOrderStatus
!=
KylinTableStatusConst
.
ORDER_STATUS1
)
{
throw
new
HttpException
(
"订单状态信息有误"
);
}
// 订单支付状态需为已支付
if
(
thisPayStatus
!=
KylinTableStatusConst
.
ORDER_PAY_STATUS1
)
{
throw
new
HttpException
(
"订单支付信息有误"
);
}
// 传的快递费不能大于实际的快递费
if
(
RefundpriceExpress
>
priceExpress
)
{
throw
new
HttpException
(
"快递费不能大于实际的快递费"
);
}
// 该订单正在退款或已有退款
QueryWrapper
<
KylinOrderRefunds
>
refundingCountQuery
=
new
QueryWrapper
<
KylinOrderRefunds
>()
.
eq
(
"order_tickets_id"
,
orderTicketsId
)
.
ne
(
"status"
,
KylinTableStatusConst
.
ORDER_REFUND_STATUS_CANCEL
);
for
(
JsonNode
v
:
ticketEntityIds
)
{
refundingCountQuery
.
like
(
"order_ticket_entities_ids"
,
v
);
}
int
refundingCount
=
kylinOrderRefundsMapper
.
selectCount
(
refundingCountQuery
);
if
(
refundingCount
>
0
)
{
throw
new
HttpException
(
"该订单正在退款或已有退款"
);
}
// 该订单的入场人未付款/正在退款/已退款
// TODO: 2021/5/27 出票未出票不知是否要处理
QueryWrapper
<
KylinOrderTicketEntities
>
notPayCountQuery
=
new
QueryWrapper
<
KylinOrderTicketEntities
>()
.
in
(
"order_ticket_entities_id"
,
ticketEntityIds
)
.
in
(
"is_payment"
,
new
Integer
[]{
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT0
,
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT2
,
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT3
});
int
notPayCount
=
kylinOrderTicketEntitiesMapper
.
selectCount
(
notPayCountQuery
);
// 选择退款的入场人是否正确
// TODO: 2021/5/27 出票未出票不知是否要处理
QueryWrapper
<
KylinOrderTicketEntities
>
choiceCountQuery
=
new
QueryWrapper
<
KylinOrderTicketEntities
>()
.
eq
(
"order_id"
,
orderTicketsId
)
.
eq
(
"is_payment"
,
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT1
)
.
in
(
"order_ticket_entities_id"
,
ticketEntityIds
);
int
choiceCount
=
kylinOrderTicketEntitiesMapper
.
selectCount
(
choiceCountQuery
);
int
ticketEntityCount
=
ticketEntityIds
.
size
();
if
(
choiceCount
<
0
||
choiceCount
!=
ticketEntityCount
)
{
throw
new
HttpException
(
"入场人订单有误或不存在"
);
}
// 本次退款总金额
// 总入场人数量 排出未付款的 用来计算单入场人的价格
int
allEntitiesCount
=
kylinOrderTicketEntitiesMapper
.
selectCount
(
...
...
@@ -143,7 +89,7 @@ public class KylinRefundsStatusServiceImpl {
.
eq
(
"order_id"
,
orderTicketsId
)
.
ne
(
"is_payment"
,
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT0
)
);
double
refundTotalPrice
=
Refund
p
riceExpress
+
((
priceActual
-
priceExpress
)
/
allEntitiesCount
*
ticketEntityCount
);
double
refundTotalPrice
=
Refund
P
riceExpress
+
((
priceActual
-
priceExpress
)
/
allEntitiesCount
*
ticketEntityCount
);
// 更新数据
// 订单状态表
...
...
@@ -151,7 +97,7 @@ public class KylinRefundsStatusServiceImpl {
// TODO: 2021/5/27 事物 and 部分退款
orderStatusTable
.
setStatus
(
KylinTableStatusConst
.
ORDER_STATUS3
);
kylinOrderTicketStatusMapper
.
update
(
orderStatusTable
,
new
UpdateWrapper
<
KylinOrderTicketStatus
>()
.
eq
(
"order_
ticket_status_
id"
,
orderTicketsId
));
.
eq
(
"order_id"
,
orderTicketsId
));
KylinOrderTicketVo
kylinOrderTicketVo
=
new
KylinOrderTicketVo
();
kylinOrderTicketVo
.
setStatus
(
KylinTableStatusConst
.
ORDER_STATUS3
);
...
...
@@ -165,7 +111,7 @@ public class KylinRefundsStatusServiceImpl {
// 入场人
for
(
JsonNode
v
:
ticketEntityIds
)
{
for
(
String
v
:
ticketEntityIds
)
{
KylinOrderTicketEntities
entitiesTable
=
new
KylinOrderTicketEntities
();
// TODO: 2021/5/27 事物 and 部分退款
entitiesTable
.
setIsPayment
(
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT2
);
...
...
@@ -181,7 +127,7 @@ public class KylinRefundsStatusServiceImpl {
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
AFTER
)
);
dataUtils
.
delOrderTicketEntitiesRedis
(
v
.
toString
()
);
dataUtils
.
delOrderTicketEntitiesRedis
(
v
);
}
// 退款明细
...
...
@@ -198,7 +144,7 @@ public class KylinRefundsStatusServiceImpl {
String
orderRefundCode
=
orderInfo
.
getOrderCode
();
String
codeNum
=
StringUtils
.
leftPad
(
String
.
valueOf
(
refundCount
),
3
,
"0"
);
kylinOrderRefunds
.
setOrderRefundCode
(
orderRefundCode
+
codeNum
);
kylinOrderRefunds
.
setOrderRefundCode
(
orderRefundCode
.
concat
(
codeNum
)
);
kylinOrderRefunds
.
setPrice
(
BigDecimal
.
valueOf
(
refundTotalPrice
));
kylinOrderRefunds
.
setStatus
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_APPLY
);
kylinOrderRefunds
.
setType
(
0
);
...
...
@@ -207,23 +153,24 @@ public class KylinRefundsStatusServiceImpl {
kylinOrderRefunds
.
setApplicantAt
(
LocalDateTime
.
now
());
kylinOrderRefunds
.
setReason
(
reason
);
// TODO: 2021/5/27 判断tyoe
if
(
Refund
p
riceExpress
>
0
)
{
if
(
Refund
P
riceExpress
>
0
)
{
kylinOrderRefunds
.
setRefundType
(
"all"
);
}
else
{
kylinOrderRefunds
.
setRefundType
(
"ticket"
);
}
kylinOrderRefunds
.
setOrderTicketEntitiesIds
(
ticketEntityIds
.
toString
(
));
kylinOrderRefunds
.
setOrderTicketEntitiesIds
(
StringUtils
.
join
(
ticketEntityIds
,
','
));
kylinOrderRefunds
.
setCreatedAt
(
LocalDateTime
.
now
());
int
rows
=
kylinOrderRefundsMapper
.
insert
(
kylinOrderRefunds
);
return
true
;
}
public
boolean
orderTicketRefundCancel
(
List
<
KylinOrderRefunds
>
refundList
)
{
for
(
KylinOrderRefunds
v
:
refundList
)
{
String
orderTicketEntitiesIds
=
v
.
getOrderTicketEntitiesIds
();
for
(
KylinOrderRefunds
refundInfo
:
refundList
)
{
String
orderTicketEntitiesIds
=
refundInfo
.
getOrderTicketEntitiesIds
();
String
[]
orderTicketEntitiesIdsArr
=
orderTicketEntitiesIds
.
split
(
","
);
String
orderTicketsId
=
v
.
getOrderTicketsId
();
String
orderRefundsId
=
v
.
getOrderRefundsId
();
String
orderTicketsId
=
refundInfo
.
getOrderTicketsId
();
String
orderRefundsId
=
refundInfo
.
getOrderRefundsId
();
// 更新数据
// 订单状态表
...
...
@@ -231,7 +178,7 @@ public class KylinRefundsStatusServiceImpl {
// TODO: 2021/5/27 事物 and 部分退款
orderStatusTable
.
setStatus
(
KylinTableStatusConst
.
ORDER_STATUS1
);
kylinOrderTicketStatusMapper
.
update
(
orderStatusTable
,
new
UpdateWrapper
<
KylinOrderTicketStatus
>()
.
eq
(
"order_
ticket_status_
id"
,
orderTicketsId
));
.
eq
(
"order_id"
,
orderTicketsId
));
KylinOrderTicketVo
kylinOrderTicketVo
=
new
KylinOrderTicketVo
();
kylinOrderTicketVo
.
setStatus
(
KylinTableStatusConst
.
ORDER_STATUS1
);
...
...
@@ -247,7 +194,6 @@ public class KylinRefundsStatusServiceImpl {
// 入场人
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
)
...
...
@@ -269,6 +215,7 @@ public class KylinRefundsStatusServiceImpl {
// 退款细节取消
KylinOrderRefunds
kylinOrderRefunds
=
new
KylinOrderRefunds
();
kylinOrderRefunds
.
setStatus
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_CANCEL
);
kylinOrderRefunds
.
setUpdatedAt
(
LocalDateTime
.
now
());
kylinOrderRefundsMapper
.
update
(
kylinOrderRefunds
,
new
UpdateWrapper
<
KylinOrderRefunds
>()
.
eq
(
"order_refunds_id"
,
orderRefundsId
));
...
...
@@ -277,8 +224,8 @@ public class KylinRefundsStatusServiceImpl {
}
public
boolean
orderTicketRefundReapply
(
List
<
KylinOrderRefunds
>
refundList
)
{
String
authId
=
"434"
;
String
authName
=
"sss"
;
String
authId
=
ShiroUtils
.
getUserId
().
toString
()
;
String
authName
=
ShiroUtils
.
getLoginName
()
;
KylinOrderRefunds
kylinOrderRefunds
=
new
KylinOrderRefunds
();
kylinOrderRefunds
.
setStatus
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_APPLY
);
...
...
@@ -297,8 +244,8 @@ public class KylinRefundsStatusServiceImpl {
}
public
boolean
orderTicketRefundApproved
(
List
<
KylinOrderRefunds
>
refundList
,
String
reject
)
{
String
authId
=
"434"
;
String
authName
=
"sss"
;
String
authId
=
ShiroUtils
.
getUserId
().
toString
()
;
String
authName
=
ShiroUtils
.
getLoginName
()
;
KylinOrderRefunds
kylinOrderRefunds
=
new
KylinOrderRefunds
();
kylinOrderRefunds
.
setStatus
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_APPROVED
);
...
...
@@ -318,8 +265,8 @@ public class KylinRefundsStatusServiceImpl {
}
public
boolean
orderTicketRefundReject
(
List
<
KylinOrderRefunds
>
refundList
,
String
reject
)
{
String
authId
=
"434"
;
String
authName
=
"sss"
;
String
authId
=
ShiroUtils
.
getUserId
().
toString
()
;
String
authName
=
ShiroUtils
.
getLoginName
()
;
KylinOrderRefunds
kylinOrderRefunds
=
new
KylinOrderRefunds
();
kylinOrderRefunds
.
setStatus
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_REJECT
);
...
...
@@ -339,8 +286,8 @@ public class KylinRefundsStatusServiceImpl {
}
public
boolean
orderTicketRefundRefuse
(
List
<
KylinOrderRefunds
>
refundList
,
String
refuse
)
{
String
authId
=
"434"
;
String
authName
=
"sss"
;
String
authId
=
ShiroUtils
.
getUserId
().
toString
()
;
String
authName
=
ShiroUtils
.
getLoginName
()
;
KylinOrderRefunds
kylinOrderRefunds
=
new
KylinOrderRefunds
();
kylinOrderRefunds
.
setStatus
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_REFUSE
);
...
...
@@ -360,8 +307,8 @@ public class KylinRefundsStatusServiceImpl {
}
public
boolean
orderTicketRefundUnfilled
(
List
<
KylinOrderRefunds
>
refundList
,
String
refuse
)
throws
Exception
{
String
authId
=
"434"
;
String
authName
=
"sss"
;
String
authId
=
ShiroUtils
.
getUserId
().
toString
()
;
String
authName
=
ShiroUtils
.
getLoginName
()
;
KylinOrderRefunds
kylinOrderRefunds
=
new
KylinOrderRefunds
();
kylinOrderRefunds
.
setStatus
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_UNFILLED
);
...
...
@@ -384,7 +331,7 @@ public class KylinRefundsStatusServiceImpl {
MultiValueMap
<
String
,
String
>
headers
=
new
LinkedMultiValueMap
();
headers
.
add
(
"token"
,
token
);
for
(
KylinOrderRefunds
refund:
refundList
)
{
for
(
KylinOrderRefunds
refund
:
refundList
)
{
KylinOrderTickets
oderInfo
=
kylinOrderTicketsMapper
.
selectOne
(
new
QueryWrapper
<
KylinOrderTickets
>()
.
eq
(
"order_tickets_id"
,
refund
.
getOrderTicketsId
())
...
...
liquidnet-bus-config/liquidnet-config/liquidnet-service-kylin-dev.yml
View file @
61f8b718
...
...
@@ -20,6 +20,7 @@ liquidnet:
url-pay
:
pay
:
"
http://testpay.zhengzai.tv/"
check
:
"
http://testpay.zhengzai.tv/order/verify"
localUrl
:
"
https://zuul.zhengzai.tv/kylin/order/syncOrder"
#以下为spring各环境个性配置
spring
:
...
...
liquidnet-bus-config/liquidnet-config/liquidnet-service-kylin-test.yml
View file @
61f8b718
...
...
@@ -20,6 +20,7 @@ liquidnet:
url-pay
:
pay
:
"
http://testpay.zhengzai.tv/"
check
:
"
http://testpay.zhengzai.tv/order/verify"
localUrl
:
"
https://zuul.zhengzai.tv/kylin/order/syncOrder"
#以下为spring各环境个性配置
spring
:
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/KylinOrderTicketsServiceImpl.java
View file @
61f8b718
...
...
@@ -59,6 +59,9 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
private
String
payUrl
;
@Value
(
"${liquidnet.url-pay.check}"
)
private
String
checkUrl
;
@Value
(
"${liquidnet.url-pay.localUrl}"
)
private
String
synUrl
;
@Autowired
private
DataUtils
dataUtils
;
@Autowired
...
...
@@ -454,7 +457,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
httpData
.
add
(
"detail"
,
performanceData
.
getTitle
()
+
"-"
+
ticketData
.
getTitle
()
+
"-"
+
ticketData
.
getUseStart
());
httpData
.
add
(
"order_code"
,
orderTickets
.
getOrderCode
());
httpData
.
add
(
"client_ip"
,
"127.0.0.1"
);
httpData
.
add
(
"notify_url"
,
"http://www.baidu.com"
);
httpData
.
add
(
"notify_url"
,
synUrl
);
httpData
.
add
(
"create_date"
,
orderTickets
.
getCreatedAt
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
httpData
.
add
(
"expire_time"
,
orderTickets
.
getPayCountdownMinute
().
toString
());
...
...
@@ -531,7 +534,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
httpData
.
add
(
"detail"
,
entitiesData
.
getPerformanceTitle
()
+
"-"
+
entitiesData
.
getTicketTitle
()
+
"-"
+
entitiesData
.
getUseStart
());
httpData
.
add
(
"order_code"
,
orderTicketData
.
getOrderCode
());
httpData
.
add
(
"client_ip"
,
"127.0.0.1"
);
httpData
.
add
(
"notify_url"
,
"http://www.baidu.com"
);
httpData
.
add
(
"notify_url"
,
synUrl
);
httpData
.
add
(
"create_date"
,
orderTicketData
.
getCreatedAt
());
httpData
.
add
(
"expire_time"
,
orderTicketData
.
getPayCountdownMinute
().
toString
());
...
...
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