记得上下班打卡 | 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
4b10220b
Commit
4b10220b
authored
Jun 19, 2021
by
胡佳晨
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
c355350c
8f5a180d
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
41 additions
and
24 deletions
+41
-24
KylinBannersAdminController.java
...ontroller/zhengzai/kylin/KylinBannersAdminController.java
+1
-0
application-dev.yml
...t-client-admin-web/src/main/resources/application-dev.yml
+1
-1
application-prod.yml
...-client-admin-web/src/main/resources/application-prod.yml
+1
-1
application-test.yml
...-client-admin-web/src/main/resources/application-test.yml
+1
-1
create.html
...in/resources/templates/zhengzai/kylin/banners/create.html
+13
-1
KylinOrderRefundsServiceImpl.java
...gzai/kylin/service/impl/KylinOrderRefundsServiceImpl.java
+9
-5
KylinRefundsStatusServiceImpl.java
...zai/kylin/service/impl/KylinRefundsStatusServiceImpl.java
+2
-2
KylinPerformancesServiceImpl.java
...vice/kylin/service/impl/KylinPerformancesServiceImpl.java
+13
-13
No files found.
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/java/com/liquidnet/client/admin/web/controller/zhengzai/kylin/KylinBannersAdminController.java
View file @
4b10220b
...
@@ -261,6 +261,7 @@ public class KylinBannersAdminController extends BaseController {
...
@@ -261,6 +261,7 @@ public class KylinBannersAdminController extends BaseController {
ossClient
.
putObject
(
putObjectRequest
);
ossClient
.
putObject
(
putObjectRequest
);
ossClient
.
shutdown
();
ossClient
.
shutdown
();
file
.
delete
();
HashMap
<
Object
,
Object
>
objectObjectHashMap
=
new
HashMap
<>();
HashMap
<
Object
,
Object
>
objectObjectHashMap
=
new
HashMap
<>();
objectObjectHashMap
.
put
(
"uploadpath"
,
uploadpath
);
objectObjectHashMap
.
put
(
"uploadpath"
,
uploadpath
);
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/application-dev.yml
View file @
4b10220b
...
@@ -39,7 +39,7 @@ liquidnet:
...
@@ -39,7 +39,7 @@ liquidnet:
url1
:
"
https://devmediaapi.zhengzai.tv/api/video/list?per_page=50&page=1&type=1"
#PGC点播
url1
:
"
https://devmediaapi.zhengzai.tv/api/video/list?per_page=50&page=1&type=1"
#PGC点播
url2
:
"
https://devmediaapi.zhengzai.tv/api/video/list?per_page=50&page=1&type=2"
#PGC直播
url2
:
"
https://devmediaapi.zhengzai.tv/api/video/list?per_page=50&page=1&type=2"
#PGC直播
url5
:
"
https://devmall.zhengzai.tv/admin/fieldListForQuick?page=1&per_page=50"
#场地
url5
:
"
https://devmall.zhengzai.tv/admin/fieldListForQuick?page=1&per_page=50"
#场地
url6
:
"
https://devkylin.zhengzai.tv/kylin/performances/roadShow/performance/status?pageNum=1&pageSize=50&status=3,6,7,8,9,10
&title=''"
#票务
url6
:
"
/kylin/performances/recommend/performance/status?pageNum=1&pageSize=50&status=(3,6,7,8,9,10)
&title=''"
#票务
url7
:
"
https://devmall.zhengzai.tv/admin/goodListForQuick?page=1&per_page=50"
#商品
url7
:
"
https://devmall.zhengzai.tv/admin/goodListForQuick?page=1&per_page=50"
#商品
url8
:
"
https://devkylin.zhengzai.tv/kylin/performances/roadShow/list?pageNum=1&pageSize=50"
#巡演
url8
:
"
https://devkylin.zhengzai.tv/kylin/performances/roadShow/list?pageNum=1&pageSize=50"
#巡演
url13
:
"
https://devmall.zhengzai.tv/admin/integrationListForQuick?page=1&per_page=50"
#积分商城
url13
:
"
https://devmall.zhengzai.tv/admin/integrationListForQuick?page=1&per_page=50"
#积分商城
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/application-prod.yml
View file @
4b10220b
...
@@ -32,7 +32,7 @@ liquidnet:
...
@@ -32,7 +32,7 @@ liquidnet:
url1
:
"
https://mediaapi.zhengzai.tv/api/video/list?per_page=50&page=1&type=1"
#PGC点播
url1
:
"
https://mediaapi.zhengzai.tv/api/video/list?per_page=50&page=1&type=1"
#PGC点播
url2
:
"
https://mediaapi.zhengzai.tv/api/video/list?per_page=50&page=1&type=2"
#PGC直播
url2
:
"
https://mediaapi.zhengzai.tv/api/video/list?per_page=50&page=1&type=2"
#PGC直播
url5
:
"
https://mall.zhengzai.tv/admin/fieldListForQuick?page=1&per_page=50"
#场地
url5
:
"
https://mall.zhengzai.tv/admin/fieldListForQuick?page=1&per_page=50"
#场地
url6
:
"
https://kylin.zhengzai.tv/kylin/performances/roadShow/performance/status?pageNum=1&pageSize=50&status=3,6,7,8,9,10
&title=''"
#票务
url6
:
"
/kylin/performances/recommend/performance/status?pageNum=1&pageSize=50&status=(3,6,7,8,9,10)
&title=''"
#票务
url7
:
"
https://mall.zhengzai.tv/admin/goodListForQuick?page=1&per_page=50"
#商品
url7
:
"
https://mall.zhengzai.tv/admin/goodListForQuick?page=1&per_page=50"
#商品
url8
:
"
https://kylin.zhengzai.tv/kylin/performances/roadShow/list?pageNum=1&pageSize=50"
#巡演
url8
:
"
https://kylin.zhengzai.tv/kylin/performances/roadShow/list?pageNum=1&pageSize=50"
#巡演
url13
:
"
https://mall.zhengzai.tv/admin/integrationListForQuick?page=1&per_page=50"
#积分商城
url13
:
"
https://mall.zhengzai.tv/admin/integrationListForQuick?page=1&per_page=50"
#积分商城
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/application-test.yml
View file @
4b10220b
...
@@ -39,7 +39,7 @@ liquidnet:
...
@@ -39,7 +39,7 @@ liquidnet:
url1
:
"
https://testmediaapi.zhengzai.tv/api/video/list?per_page=50&page=1&type=1"
#PGC点播
url1
:
"
https://testmediaapi.zhengzai.tv/api/video/list?per_page=50&page=1&type=1"
#PGC点播
url2
:
"
https://testmediaapi.zhengzai.tv/api/video/list?per_page=50&page=1&type=2"
#PGC直播
url2
:
"
https://testmediaapi.zhengzai.tv/api/video/list?per_page=50&page=1&type=2"
#PGC直播
url5
:
"
https://testmall.zhengzai.tv/admin/fieldListForQuick?page=1&per_page=50"
#场地
url5
:
"
https://testmall.zhengzai.tv/admin/fieldListForQuick?page=1&per_page=50"
#场地
url6
:
"
https://testkylin.zhengzai.tv/kylin/kylin/performances/roadShow/performance/status?pageNum=1&pageSize=50&status=3,6,7,8,9,10
&title=''"
#票务
url6
:
"
/kylin/performances/recommend/performance/status?pageNum=1&pageSize=50&status=(3,6,7,8,9,10)
&title=''"
#票务
url7
:
"
https://testmall.zhengzai.tv/admin/goodListForQuick?page=1&per_page=50"
#商品
url7
:
"
https://testmall.zhengzai.tv/admin/goodListForQuick?page=1&per_page=50"
#商品
url8
:
"
https://testkylin.zhengzai.tv/kylin/performances/roadShow/list?pageNum=1&pageSize=50"
#巡演
url8
:
"
https://testkylin.zhengzai.tv/kylin/performances/roadShow/list?pageNum=1&pageSize=50"
#巡演
url13
:
"
https://testmall.zhengzai.tv/admin/integrationListForQuick?page=1&per_page=50"
#积分商城
url13
:
"
https://testmall.zhengzai.tv/admin/integrationListForQuick?page=1&per_page=50"
#积分商城
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/templates/zhengzai/kylin/banners/create.html
View file @
4b10220b
...
@@ -305,6 +305,8 @@
...
@@ -305,6 +305,8 @@
}
else
{
}
else
{
var
urlVarName
=
'url'
+
targetType
;
var
urlVarName
=
'url'
+
targetType
;
var
url
=
eval
(
urlVarName
);
var
url
=
eval
(
urlVarName
);
var
arrEntities
=
{
'lt'
:
'<'
,
'gt'
:
'>'
,
'nbsp'
:
' '
,
'amp'
:
'&'
,
'quot'
:
'"'
};
url
=
url
.
replace
(
/&
(
lt|gt|nbsp|amp|quot
)
;/ig
,
function
(
all
,
t
){
return
arrEntities
[
t
];});
// 获取相关数据
// 获取相关数据
var
configUrl
=
{
var
configUrl
=
{
url
:
url
,
url
:
url
,
...
@@ -318,7 +320,7 @@
...
@@ -318,7 +320,7 @@
var
data
=
[];
var
data
=
[];
var
html
=
'<option value="">--请选择--</option>'
;
var
html
=
'<option value="">--请选择--</option>'
;
if
(
6
==
targetType
)
{
if
(
6
==
targetType
)
{
data
=
result
.
rows
;
data
=
result
.
value
;
for
(
var
i
=
0
,
l
=
data
.
length
;
i
<
l
;
i
++
)
{
for
(
var
i
=
0
,
l
=
data
.
length
;
i
<
l
;
i
++
)
{
html
+=
'<option value="'
+
data
[
i
].
performancesId
+
'">'
+
data
[
i
].
title
+
'</option>'
;
html
+=
'<option value="'
+
data
[
i
].
performancesId
+
'">'
+
data
[
i
].
title
+
'</option>'
;
}
}
...
@@ -327,6 +329,16 @@
...
@@ -327,6 +329,16 @@
for
(
var
i
=
0
,
l
=
data
.
length
;
i
<
l
;
i
++
)
{
for
(
var
i
=
0
,
l
=
data
.
length
;
i
<
l
;
i
++
)
{
html
+=
'<option value="'
+
data
[
i
].
roadShowId
+
'">'
+
data
[
i
].
title
+
'</option>'
;
html
+=
'<option value="'
+
data
[
i
].
roadShowId
+
'">'
+
data
[
i
].
title
+
'</option>'
;
}
}
}
else
if
(
24
==
targetType
)
{
data
=
result
.
data
;
for
(
var
i
=
0
,
l
=
data
.
length
;
i
<
l
;
i
++
)
{
html
+=
'<option value="'
+
data
[
i
].
id
+
'">'
+
data
[
i
].
collect_name
+
'</option>'
;
}
}
else
if
(
26
==
targetType
)
{
data
=
result
.
data
;
for
(
var
i
=
0
,
l
=
data
.
length
;
i
<
l
;
i
++
)
{
html
+=
'<option value="'
+
data
[
i
].
id
+
'">'
+
data
[
i
].
name
+
'</option>'
;
}
}
else
{
}
else
{
data
=
result
.
data
data
=
result
.
data
for
(
var
i
=
0
,
l
=
data
.
length
;
i
<
l
;
i
++
)
{
for
(
var
i
=
0
,
l
=
data
.
length
;
i
<
l
;
i
++
)
{
...
...
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 @
4b10220b
...
@@ -120,7 +120,7 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
...
@@ -120,7 +120,7 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
// todo 出票未出票
// todo 出票未出票
// 选择退款的入场人是否正确
// 选择退款的入场人是否正确
Integer
[]
entitiesStatus
=
new
Integer
[]{
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT1
,
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT2
};
Integer
[]
entitiesStatus
=
new
Integer
[]{
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT1
,
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT2
,
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT4
};
int
choiceCount
=
kylinOrderTicketEntitiesMapper
.
selectCount
(
int
choiceCount
=
kylinOrderTicketEntitiesMapper
.
selectCount
(
new
QueryWrapper
<
KylinOrderTicketEntities
>()
new
QueryWrapper
<
KylinOrderTicketEntities
>()
.
eq
(
"order_id"
,
orderTicketsId
)
.
eq
(
"order_id"
,
orderTicketsId
)
...
@@ -250,7 +250,7 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
...
@@ -250,7 +250,7 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
case
"approved"
:
case
"approved"
:
res
=
kylinRefundsStatusServiceImpl
.
orderRefundChangeStatus
(
refundList
,
type
,
reject
,
""
);
res
=
kylinRefundsStatusServiceImpl
.
orderRefundChangeStatus
(
refundList
,
type
,
reject
,
""
);
break
;
break
;
case
"
R
eject"
:
case
"
r
eject"
:
res
=
kylinRefundsStatusServiceImpl
.
orderRefundChangeStatus
(
refundList
,
type
,
reject
,
""
);
res
=
kylinRefundsStatusServiceImpl
.
orderRefundChangeStatus
(
refundList
,
type
,
reject
,
""
);
break
;
break
;
case
"unfilled"
:
case
"unfilled"
:
...
@@ -369,8 +369,9 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
...
@@ -369,8 +369,9 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
new
QueryWrapper
<
KylinPerformances
>().
eq
(
"performances_id"
,
kylinOrderTicketRelations
.
getPerformanceId
())
new
QueryWrapper
<
KylinPerformances
>().
eq
(
"performances_id"
,
kylinOrderTicketRelations
.
getPerformanceId
())
);
);
List
<
KylinOrderTicketEntitiesDao
>
entitiesList
=
kylinOrderTicketEntitiesMapper
.
getRefundEntitiesList
(
kylinOrderTickets
.
getOrderTicketsId
());
List
<
KylinOrderTicketEntitiesDao
>
entitiesListTemp
=
kylinOrderTicketEntitiesMapper
.
getRefundEntitiesList
(
kylinOrderTickets
.
getOrderTicketsId
());
if
(
entitiesList
.
size
()
>
0
)
{
List
<
KylinOrderTicketEntitiesDao
>
entitiesList
=
new
ArrayList
<>();
if
(
entitiesListTemp
.
size
()
>
0
)
{
double
priceActual
=
kylinOrderTickets
.
getPriceActual
().
doubleValue
();
double
priceActual
=
kylinOrderTickets
.
getPriceActual
().
doubleValue
();
double
priceExpress
=
kylinOrderTickets
.
getPriceExpress
().
doubleValue
();
double
priceExpress
=
kylinOrderTickets
.
getPriceExpress
().
doubleValue
();
int
allEntitiesCount
=
kylinOrderTicketEntitiesMapper
.
selectCount
(
// 总入场人数量 排出未付款的 用来计算单入场人的价格
int
allEntitiesCount
=
kylinOrderTicketEntitiesMapper
.
selectCount
(
// 总入场人数量 排出未付款的 用来计算单入场人的价格
...
@@ -379,7 +380,7 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
...
@@ -379,7 +380,7 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
.
ne
(
"is_payment"
,
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT0
)
.
ne
(
"is_payment"
,
KylinTableStatusConst
.
ENTITIES_IS_PAYMENT0
)
);
);
double
onePrice
=
(
priceActual
-
priceExpress
)
/
allEntitiesCount
;
//单价
double
onePrice
=
(
priceActual
-
priceExpress
)
/
allEntitiesCount
;
//单价
for
(
KylinOrderTicketEntitiesDao
entities
:
entitiesList
)
{
for
(
KylinOrderTicketEntitiesDao
entities
:
entitiesList
Temp
)
{
Double
refundedPrice
=
kylinOrderTicketEntitiesMapper
.
getRefundEntitiesPrice
(
//已退 包含退款中
Double
refundedPrice
=
kylinOrderTicketEntitiesMapper
.
getRefundEntitiesPrice
(
//已退 包含退款中
kylinOrderTickets
.
getOrderTicketsId
(),
kylinOrderTickets
.
getOrderTicketsId
(),
KylinTableStatusConst
.
ORDER_REFUND_STATUS_CANCEL
,
KylinTableStatusConst
.
ORDER_REFUND_STATUS_CANCEL
,
...
@@ -392,6 +393,9 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
...
@@ -392,6 +393,9 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
canRefundedPrice
=
onePrice
;
canRefundedPrice
=
onePrice
;
}
}
entities
.
setCanRefundedPrice
(
BigDecimal
.
valueOf
(
canRefundedPrice
));
entities
.
setCanRefundedPrice
(
BigDecimal
.
valueOf
(
canRefundedPrice
));
if
(
canRefundedPrice
>
0
)
{
// 退款中但是可退款金额为0不展示
entitiesList
.
add
(
entities
);
}
}
}
}
}
...
...
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 @
4b10220b
...
@@ -206,7 +206,7 @@ public class KylinRefundsStatusServiceImpl {
...
@@ -206,7 +206,7 @@ public class KylinRefundsStatusServiceImpl {
KylinOrderTickets
orderInfo
=
kylinOrderTicketsMapper
.
selectOne
(
KylinOrderTickets
orderInfo
=
kylinOrderTicketsMapper
.
selectOne
(
new
QueryWrapper
<
KylinOrderTickets
>().
eq
(
"order_tickets_id"
,
orderTicketsId
)
new
QueryWrapper
<
KylinOrderTickets
>().
eq
(
"order_tickets_id"
,
orderTicketsId
)
);
);
if
(
orderInfo
.
get
RefundNumber
()
>
0
)
{
// 已经有退完的 那就是部分退款了
if
(
orderInfo
.
get
PriceRefund
().
doubleValue
()
>
0
)
{
// 已经有退完的 那就是部分退款了
newStatus
=
KylinTableStatusConst
.
ORDER_STATUS6
;
newStatus
=
KylinTableStatusConst
.
ORDER_STATUS6
;
}
else
{
}
else
{
newStatus
=
KylinTableStatusConst
.
ORDER_STATUS1
;
newStatus
=
KylinTableStatusConst
.
ORDER_STATUS1
;
...
@@ -298,7 +298,7 @@ public class KylinRefundsStatusServiceImpl {
...
@@ -298,7 +298,7 @@ public class KylinRefundsStatusServiceImpl {
kylinOrderRefunds
.
setAuditorAt
(
LocalDateTime
.
now
());
kylinOrderRefunds
.
setAuditorAt
(
LocalDateTime
.
now
());
kylinOrderRefunds
.
setReject
(
reject
);
kylinOrderRefunds
.
setReject
(
reject
);
break
;
break
;
case
"
R
eject"
:
case
"
r
eject"
:
kylinOrderRefunds
.
setStatus
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_REJECT
);
kylinOrderRefunds
.
setStatus
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_REJECT
);
kylinOrderRefunds
.
setAuditorId
(
authId
);
kylinOrderRefunds
.
setAuditorId
(
authId
);
kylinOrderRefunds
.
setAuditorName
(
authName
);
kylinOrderRefunds
.
setAuditorName
(
authName
);
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/KylinPerformancesServiceImpl.java
View file @
4b10220b
...
@@ -71,18 +71,8 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
...
@@ -71,18 +71,8 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
isShow
=
false
;
isShow
=
false
;
}
}
}
}
if
(
null
!=
isExclusive
)
{
if
(
null
!=
isExclusive
||
null
!=
isDiscount
||
null
!=
isAdvance
)
{
if
(
info
.
getIsExclusive
()
!=
isExclusive
)
{
if
(
info
.
getIsExclusive
()
!=
isExclusive
&&
info
.
getIsDiscount
()
!=
isDiscount
&&
info
.
getIsAdvance
()
!=
isAdvance
)
{
isShow
=
false
;
}
}
if
(
null
!=
isDiscount
)
{
if
(
info
.
getIsDiscount
()
!=
isDiscount
)
{
isShow
=
false
;
}
}
if
(
null
!=
isAdvance
)
{
if
(
info
.
getIsAdvance
()
!=
isAdvance
)
{
isShow
=
false
;
isShow
=
false
;
}
}
}
}
...
@@ -98,7 +88,17 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
...
@@ -98,7 +88,17 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
List
<
KylinPerformanceVo
>
performancesListRecommend
=
dataUtils
.
getPerformancesListIsSystemRecommend
();
List
<
KylinPerformanceVo
>
performancesListRecommend
=
dataUtils
.
getPerformancesListIsSystemRecommend
();
if
(
performancesListRecommend
.
size
()
>
0
)
{
if
(
performancesListRecommend
.
size
()
>
0
)
{
is_native
=
0
;
is_native
=
0
;
performancesListNew
.
addAll
(
performancesListRecommend
);
if
(
recommend
>
0
)
{
// 去重
for
(
KylinPerformanceVo
recommendInfo
:
performancesListRecommend
)
{
for
(
KylinPerformanceVo
info
:
performancesListNew
)
{
if
(
recommendInfo
.
getPerformancesId
()
!=
info
.
getPerformancesId
())
{
performancesListNew
.
add
(
recommendInfo
);
}
}
}
}
else
{
performancesListNew
.
addAll
(
performancesListRecommend
);
}
}
}
}
}
...
...
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