记得上下班打卡 | 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
c51d01e7
Commit
c51d01e7
authored
Mar 24, 2022
by
GaoHu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改票提获取创建逻辑
parent
cc3d3992
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
58 additions
and
15 deletions
+58
-15
KylinPerformancesAdminServiceImpl.java
...kylin/service/impl/KylinPerformancesAdminServiceImpl.java
+21
-0
SmileAgentServiceImpl.java
...in/zhengzai/smile/service/impl/SmileAgentServiceImpl.java
+23
-9
SmileShowServiceImpl.java
...min/zhengzai/smile/service/impl/SmileShowServiceImpl.java
+3
-0
KylinTicketsMapper.xml
...com.liquidnet.service.kylin.mapper/KylinTicketsMapper.xml
+3
-3
SmileAgent.java
...n/java/com/liquidnet/service/smile/entity/SmileAgent.java
+5
-0
db_ln_goblin_initialdata.sql
...dnet-service-smile-impl/docu/db_ln_goblin_initialdata.sql
+3
-3
No files found.
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/kylin/service/impl/KylinPerformancesAdminServiceImpl.java
View file @
c51d01e7
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
kylin
.
service
.
impl
;
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
kylin
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
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.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
...
@@ -29,6 +30,8 @@ import com.liquidnet.service.kylin.dto.vo.partner.TicketTimesTicketCreatePartner
...
@@ -29,6 +30,8 @@ import com.liquidnet.service.kylin.dto.vo.partner.TicketTimesTicketCreatePartner
import
com.liquidnet.service.kylin.entity.*
;
import
com.liquidnet.service.kylin.entity.*
;
import
com.liquidnet.service.kylin.mapper.*
;
import
com.liquidnet.service.kylin.mapper.*
;
import
com.liquidnet.service.kylin.service.admin.IKylinPerformancesAdminService
;
import
com.liquidnet.service.kylin.service.admin.IKylinPerformancesAdminService
;
import
com.liquidnet.service.smile.entity.SmileAgent
;
import
com.liquidnet.service.smile.mapper.SmileAgentMapper
;
import
com.mongodb.BasicDBObject
;
import
com.mongodb.BasicDBObject
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -91,6 +94,9 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
...
@@ -91,6 +94,9 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
@Autowired
@Autowired
SmileRedisUtils
smileRedisUtils
;
SmileRedisUtils
smileRedisUtils
;
@Autowired
SmileAgentMapper
smileAgentMapper
;
@Autowired
@Autowired
KylinPerformancesMapper
kylinPerformancesMapper
;
KylinPerformancesMapper
kylinPerformancesMapper
;
...
@@ -594,6 +600,21 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
...
@@ -594,6 +600,21 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
ticketStatusMapper
.
update
(
ticketStatus
,
new
UpdateWrapper
<
KylinTicketStatus
>().
eq
(
"ticket_id"
,
ticketId
));
ticketStatusMapper
.
update
(
ticketStatus
,
new
UpdateWrapper
<
KylinTicketStatus
>().
eq
(
"ticket_id"
,
ticketId
));
performanceVoUtils
.
performanceVoStatus
(
performancesId
);
performanceVoUtils
.
performanceVoStatus
(
performancesId
);
List
<
KylinPerformances
>
kylinPerformances
=
kylinPerformancesMapper
.
selectPerIdByAgent
();
List
<
KylinPerformances
>
kylinPerformances
=
kylinPerformancesMapper
.
selectPerIdByAgent
();
//存入票提默认 总代 普代都为0 默认0.000
SmileAgent
smileAgent
=
new
SmileAgent
();
smileAgent
.
setPerformanceId
(
performancesId
);
smileAgent
.
setTicketId
(
ticketId
);
if
(
status
.
equals
(
1
)){
smileAgentMapper
.
insert
(
smileAgent
);
}
else
{
LambdaQueryWrapper
<
SmileAgent
>
queryWrapper
=
Wrappers
.
lambdaQuery
(
SmileAgent
.
class
);
queryWrapper
.
eq
(
SmileAgent:
:
getPerformanceId
,
performancesId
);
queryWrapper
.
eq
(
SmileAgent:
:
getTicketId
,
ticketId
);
smileAgent
.
setDelTag
(
1
);
smileAgentMapper
.
update
(
smileAgent
,
queryWrapper
);
}
List
<
String
>
collect
=
kylinPerformances
.
stream
().
map
(
KylinPerformances:
:
getPerformancesId
).
collect
(
Collectors
.
toList
());
List
<
String
>
collect
=
kylinPerformances
.
stream
().
map
(
KylinPerformances:
:
getPerformancesId
).
collect
(
Collectors
.
toList
());
String
perId
=
StringUtils
.
join
(
collect
,
","
);
String
perId
=
StringUtils
.
join
(
collect
,
","
);
if
(!
""
.
equals
(
perId
)){
if
(!
""
.
equals
(
perId
)){
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/smile/service/impl/SmileAgentServiceImpl.java
View file @
c51d01e7
...
@@ -10,9 +10,6 @@ import com.liquidnet.client.admin.zhengzai.smile.service.ISmileAgentService;
...
@@ -10,9 +10,6 @@ import com.liquidnet.client.admin.zhengzai.smile.service.ISmileAgentService;
import
com.liquidnet.client.admin.zhengzai.smile.utils.SmileRedisUtils
;
import
com.liquidnet.client.admin.zhengzai.smile.utils.SmileRedisUtils
;
import
com.liquidnet.service.goblin.constant.SmileRedisConst
;
import
com.liquidnet.service.goblin.constant.SmileRedisConst
;
import
com.liquidnet.service.goblin.dto.vo.SmileAgentVo
;
import
com.liquidnet.service.goblin.dto.vo.SmileAgentVo
;
import
com.liquidnet.service.kylin.dao.KylinPerformancesDao
;
import
com.liquidnet.service.kylin.dao.ShowAgentDao
;
import
com.liquidnet.service.kylin.entity.KylinTickets
;
import
com.liquidnet.service.kylin.mapper.KylinPerformancesMapper
;
import
com.liquidnet.service.kylin.mapper.KylinPerformancesMapper
;
import
com.liquidnet.service.kylin.mapper.KylinTicketsMapper
;
import
com.liquidnet.service.kylin.mapper.KylinTicketsMapper
;
import
com.liquidnet.service.smile.entity.SmileAgent
;
import
com.liquidnet.service.smile.entity.SmileAgent
;
...
@@ -22,7 +19,6 @@ import org.springframework.beans.BeanUtils;
...
@@ -22,7 +19,6 @@ import org.springframework.beans.BeanUtils;
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.ArrayList
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -55,6 +51,7 @@ public class SmileAgentServiceImpl extends ServiceImpl<SmileAgentMapper, SmileAg
...
@@ -55,6 +51,7 @@ public class SmileAgentServiceImpl extends ServiceImpl<SmileAgentMapper, SmileAg
LambdaQueryWrapper
<
SmileAgent
>
queryWrapper
=
Wrappers
.
lambdaQuery
(
SmileAgent
.
class
);
LambdaQueryWrapper
<
SmileAgent
>
queryWrapper
=
Wrappers
.
lambdaQuery
(
SmileAgent
.
class
);
queryWrapper
.
eq
(
SmileAgent:
:
getPerformanceId
,
performanceId
);
queryWrapper
.
eq
(
SmileAgent:
:
getPerformanceId
,
performanceId
);
queryWrapper
.
eq
(
SmileAgent:
:
getTicketId
,
ticketId
);
queryWrapper
.
eq
(
SmileAgent:
:
getTicketId
,
ticketId
);
queryWrapper
.
eq
(
SmileAgent:
:
getDelTag
,
0
);
smileAgentMapper
.
selectOne
(
queryWrapper
);
smileAgentMapper
.
selectOne
(
queryWrapper
);
return
null
;
return
null
;
}
}
...
@@ -72,9 +69,19 @@ public class SmileAgentServiceImpl extends ServiceImpl<SmileAgentMapper, SmileAg
...
@@ -72,9 +69,19 @@ public class SmileAgentServiceImpl extends ServiceImpl<SmileAgentMapper, SmileAg
try
{
try
{
smileAgents
.
forEach
(
smileAgent
->
{
smileAgents
.
forEach
(
smileAgent
->
{
//是否是修改票提
//是否是修改票提
LambdaQueryWrapper
<
SmileAgent
>
queryWrapper
=
Wrappers
.
lambdaQuery
(
SmileAgent
.
class
);
smileAgentMapper
.
updateById
(
smileAgent
);
SmileAgentVo
smileAgentVo
=
new
SmileAgentVo
();
BeanUtils
.
copyProperties
(
smileAgent
,
smileAgentVo
);
smileRedisUtils
.
set
(
SmileRedisConst
.
SMILE_AGENT
.
concat
(
smileAgent
.
getPerformanceId
()).
concat
(
":"
).
concat
(
smileAgent
.
getTicketId
()),
smileAgentVo
);
log
.
debug
(
"create create Agent id:{},PerformanceId:{},TicketId:{}"
,
smileAgent
.
getId
(),
smileAgent
.
getPerformanceId
(),
smileAgent
.
getTicketId
());
/* LambdaQueryWrapper<SmileAgent> queryWrapper = Wrappers.lambdaQuery(SmileAgent.class);
queryWrapper.eq(SmileAgent::getPerformanceId, smileAgent.getPerformanceId());
queryWrapper.eq(SmileAgent::getPerformanceId, smileAgent.getPerformanceId());
queryWrapper.eq(SmileAgent::getTicketId, smileAgent.getTicketId());
queryWrapper.eq(SmileAgent::getTicketId, smileAgent.getTicketId());
queryWrapper.eq(SmileAgent::getDelTag,0);
if (smileAgentMapper.selectOne(queryWrapper) != null) {
if (smileAgentMapper.selectOne(queryWrapper) != null) {
//修改
//修改
smileAgentMapper.update(smileAgent, queryWrapper);
smileAgentMapper.update(smileAgent, queryWrapper);
...
@@ -95,7 +102,7 @@ public class SmileAgentServiceImpl extends ServiceImpl<SmileAgentMapper, SmileAg
...
@@ -95,7 +102,7 @@ public class SmileAgentServiceImpl extends ServiceImpl<SmileAgentMapper, SmileAg
smileAgent.getId(),
smileAgent.getId(),
smileAgent.getPerformanceId(),
smileAgent.getPerformanceId(),
smileAgent.getTicketId());
smileAgent.getTicketId());
}
}
*/
});
});
return
true
;
return
true
;
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
...
@@ -109,7 +116,14 @@ public class SmileAgentServiceImpl extends ServiceImpl<SmileAgentMapper, SmileAg
...
@@ -109,7 +116,14 @@ public class SmileAgentServiceImpl extends ServiceImpl<SmileAgentMapper, SmileAg
@Override
@Override
public
AjaxResult
getAgent
(
String
performancesId
)
{
public
AjaxResult
getAgent
(
String
performancesId
)
{
//查询该演出id 开启代理的票
if
(
StringUtils
.
isNotEmpty
(
performancesId
)){
LambdaQueryWrapper
<
SmileAgent
>
queryWrapper
=
Wrappers
.
lambdaQuery
(
SmileAgent
.
class
);
queryWrapper
.
eq
(
SmileAgent:
:
getPerformanceId
,
performancesId
);
queryWrapper
.
eq
(
SmileAgent:
:
getDelTag
,
0
);
return
AjaxResult
.
success
(
smileAgentMapper
.
selectList
(
queryWrapper
));
}
/*//查询该演出id 开启代理的票
List<KylinPerformancesDao> kylinPerformancesDaoList = kylinPerformancesMapper.selectTicketIdByPerId(performancesId);
List<KylinPerformancesDao> kylinPerformancesDaoList = kylinPerformancesMapper.selectTicketIdByPerId(performancesId);
if (StringUtils.isNotEmpty(kylinPerformancesDaoList)) {
if (StringUtils.isNotEmpty(kylinPerformancesDaoList)) {
...
@@ -124,7 +138,7 @@ public class SmileAgentServiceImpl extends ServiceImpl<SmileAgentMapper, SmileAg
...
@@ -124,7 +138,7 @@ public class SmileAgentServiceImpl extends ServiceImpl<SmileAgentMapper, SmileAg
smileAgentDaoList.add(showAgentDao);
smileAgentDaoList.add(showAgentDao);
}
}
return AjaxResult.success(smileAgentDaoList);
return AjaxResult.success(smileAgentDaoList);
}
}
*/
return
AjaxResult
.
success
(
);
return
AjaxResult
.
warn
(
"演出未开启代理"
);
}
}
}
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/smile/service/impl/SmileShowServiceImpl.java
View file @
c51d01e7
...
@@ -191,6 +191,7 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
...
@@ -191,6 +191,7 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
List
<
SmileAgent
>
smileAgents
=
getSmileAgentsByProId
(
performancesId
);
List
<
SmileAgent
>
smileAgents
=
getSmileAgentsByProId
(
performancesId
);
Map
<
String
,
SmileAgent
>
map
=
getSmileAgentMap
(
smileAgents
);
Map
<
String
,
SmileAgent
>
map
=
getSmileAgentMap
(
smileAgents
);
List
<
String
>
ticketsIdList
=
smileAgents
.
stream
().
map
(
SmileAgent:
:
getTicketId
).
collect
(
Collectors
.
toList
());
List
<
String
>
ticketsIdList
=
smileAgents
.
stream
().
map
(
SmileAgent:
:
getTicketId
).
collect
(
Collectors
.
toList
());
String
join
=
StringUtils
.
join
(
ticketsIdList
,
","
);
//根据票提IDs查询票信息
//根据票提IDs查询票信息
List
<
TicketAndStatusDao
>
ticketAndStatusDaoList
=
kylinTicketsMapper
.
selectTicketsByIds
(
ticketsIdList
);
List
<
TicketAndStatusDao
>
ticketAndStatusDaoList
=
kylinTicketsMapper
.
selectTicketsByIds
(
ticketsIdList
);
...
@@ -262,6 +263,7 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
...
@@ -262,6 +263,7 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
List
<
String
>
ticketsIdList
=
smileAgents
.
stream
().
map
(
SmileAgent:
:
getTicketId
).
collect
(
Collectors
.
toList
());
List
<
String
>
ticketsIdList
=
smileAgents
.
stream
().
map
(
SmileAgent:
:
getTicketId
).
collect
(
Collectors
.
toList
());
List
<
ShowAgentVo
>
showAgentVoList
=
new
ArrayList
<>();
List
<
ShowAgentVo
>
showAgentVoList
=
new
ArrayList
<>();
String
join
=
StringUtils
.
join
(
ticketsIdList
,
","
);
//根据票提IDs查询票信息
//根据票提IDs查询票信息
List
<
TicketAndStatusDao
>
ticketAndStatusDaoList
=
kylinTicketsMapper
.
selectTicketsByIds
(
ticketsIdList
);
List
<
TicketAndStatusDao
>
ticketAndStatusDaoList
=
kylinTicketsMapper
.
selectTicketsByIds
(
ticketsIdList
);
...
@@ -304,6 +306,7 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
...
@@ -304,6 +306,7 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
private
List
<
SmileAgent
>
getSmileAgentsByProId
(
String
performancesId
)
{
private
List
<
SmileAgent
>
getSmileAgentsByProId
(
String
performancesId
)
{
LambdaQueryWrapper
<
SmileAgent
>
queryWrapper
=
Wrappers
.
lambdaQuery
(
SmileAgent
.
class
);
LambdaQueryWrapper
<
SmileAgent
>
queryWrapper
=
Wrappers
.
lambdaQuery
(
SmileAgent
.
class
);
queryWrapper
.
eq
(
SmileAgent:
:
getPerformanceId
,
performancesId
);
queryWrapper
.
eq
(
SmileAgent:
:
getPerformanceId
,
performancesId
);
queryWrapper
.
eq
(
SmileAgent:
:
getDelTag
,
0
);
return
smileAgentMapper
.
selectList
(
queryWrapper
);
return
smileAgentMapper
.
selectList
(
queryWrapper
);
}
}
...
...
liquidnet-bus-do/liquidnet-service-kylin-do/src/main/resources/com.liquidnet.service.kylin.mapper/KylinTicketsMapper.xml
View file @
c51d01e7
...
@@ -85,7 +85,7 @@
...
@@ -85,7 +85,7 @@
<collection
column=
"total_general"
property=
"totalGeneral"
/>
<collection
column=
"total_general"
property=
"totalGeneral"
/>
</resultMap>
</resultMap>
<select
id=
"selectTicketsByIds"
result
Map=
"t
icketAndStatusDao"
>
<select
id=
"selectTicketsByIds"
result
Type=
"com.liquidnet.service.kylin.dao.T
icketAndStatusDao"
>
select
select
kt.mid,
kt.mid,
kt.tickets_id,
kt.tickets_id,
...
@@ -98,8 +98,8 @@
...
@@ -98,8 +98,8 @@
from kylin_tickets as kt
from kylin_tickets as kt
LEFT JOIN kylin_ticket_status as kts ON kt.tickets_id = kts.ticket_id
LEFT JOIN kylin_ticket_status as kts ON kt.tickets_id = kts.ticket_id
where kt.tickets_id in
where kt.tickets_id in
<foreach
collection=
"
ticketsIdList"
item=
"ticketsId
"
open=
"("
separator=
","
close=
")"
>
<foreach
collection=
"
list"
index=
"index"
item=
"ticketsIdList
"
open=
"("
separator=
","
close=
")"
>
#{ticketsId}
#{ticketsId
List
}
</foreach>
</foreach>
</select>
</select>
...
...
liquidnet-bus-do/liquidnet-service-smile-do/src/main/java/com/liquidnet/service/smile/entity/SmileAgent.java
View file @
c51d01e7
...
@@ -43,5 +43,10 @@ public class SmileAgent implements Serializable {
...
@@ -43,5 +43,10 @@ public class SmileAgent implements Serializable {
*/
*/
private
BigDecimal
ordCarry
;
private
BigDecimal
ordCarry
;
/**
* 删除标识 0未删除1已删除
*/
private
Integer
delTag
;
}
}
liquidnet-bus-service/liquidnet-service-smile/liquidnet-service-smile-impl/docu/db_ln_goblin_initialdata.sql
View file @
c51d01e7
...
@@ -110,13 +110,13 @@ CREATE TABLE `smile_agent` (
...
@@ -110,13 +110,13 @@ CREATE TABLE `smile_agent` (
`id`
bigint
UNSIGNED
NOT
NULL
AUTO_INCREMENT
,
`id`
bigint
UNSIGNED
NOT
NULL
AUTO_INCREMENT
,
`performance_id`
varchar
(
255
)
CHARACTER
SET
utf8mb4
COLLATE
utf8mb4_unicode_ci
NOT
NULL
COMMENT
'演出id'
,
`performance_id`
varchar
(
255
)
CHARACTER
SET
utf8mb4
COLLATE
utf8mb4_unicode_ci
NOT
NULL
COMMENT
'演出id'
,
`ticket_id`
varchar
(
255
)
CHARACTER
SET
utf8mb4
COLLATE
utf8mb4_unicode_ci
NOT
NULL
COMMENT
'票id'
,
`ticket_id`
varchar
(
255
)
CHARACTER
SET
utf8mb4
COLLATE
utf8mb4_unicode_ci
NOT
NULL
COMMENT
'票id'
,
`total_carry`
decimal
(
10
,
3
)
NULL
DEFAULT
NULL
COMMENT
'总代票提'
,
`total_carry`
decimal
(
4
,
3
)
UNSIGNED
ZEROFILL
NULL
DEFAULT
0
.
000
COMMENT
'总代票提'
,
`ord_carry`
decimal
(
10
,
3
)
NULL
DEFAULT
NULL
COMMENT
'普代票提'
,
`ord_carry`
decimal
(
4
,
3
)
UNSIGNED
ZEROFILL
NULL
DEFAULT
0
.
000
COMMENT
'普代票提'
,
`del_tag`
int
(
1
)
UNSIGNED
ZEROFILL
NULL
DEFAULT
0
COMMENT
'0未删除,1已删除'
,
PRIMARY
KEY
(
`id`
)
USING
BTREE
PRIMARY
KEY
(
`id`
)
USING
BTREE
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
1
CHARACTER
SET
=
utf8mb4
COLLATE
=
utf8mb4_unicode_ci
COMMENT
=
'小家伙票种表'
ROW_FORMAT
=
Dynamic
;
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
1
CHARACTER
SET
=
utf8mb4
COLLATE
=
utf8mb4_unicode_ci
COMMENT
=
'小家伙票种表'
ROW_FORMAT
=
Dynamic
;
SET
FOREIGN_KEY_CHECKS
=
1
;
SET
FOREIGN_KEY_CHECKS
=
1
;
-- ----------------------------
-- ----------------------------
-- Table structure for smile_price
-- Table structure for smile_price
-- ----------------------------
-- ----------------------------
...
...
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