Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
haoban-manage3.0
Overview
Overview
Details
Activity
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
haoban3.0
haoban-manage3.0
Commits
d34e898b
Commit
d34e898b
authored
Nov 04, 2024
by
王祖波
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加活码判断是否已经入群的逻辑
parent
f0bce7f4
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
88 additions
and
9 deletions
+88
-9
GroupChatActivityHmDTO.java
...ic/haoban/manage/api/dto/chat/GroupChatActivityHmDTO.java
+20
-0
GroupChatActivityShareApiService.java
...ge/api/service/chat/GroupChatActivityShareApiService.java
+2
-1
GroupChatUserMapper.java
...n/manage/service/dao/mapper/chat/GroupChatUserMapper.java
+3
-0
GroupChatActivityHmBO.java
...an/manage/service/pojo/bo/chat/GroupChatActivityHmBO.java
+20
-0
GroupChatActivityService.java
...manage/service/service/chat/GroupChatActivityService.java
+2
-1
GroupChatActivityServiceImpl.java
...rvice/service/chat/impl/GroupChatActivityServiceImpl.java
+20
-3
GroupChatActivityShareApiServiceImpl.java
...e/out/impl/chat/GroupChatActivityShareApiServiceImpl.java
+5
-3
GroupChatUserMapper.xml
...ce/src/main/resources/mapper/chat/GroupChatUserMapper.xml
+14
-0
GroupChatTest.java
haoban-manage3-service/src/test/java/GroupChatTest.java
+2
-1
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/chat/GroupChatActivityHmDTO.java
0 → 100644
View file @
d34e898b
package
com
.
gic
.
haoban
.
manage
.
api
.
dto
.
chat
;
import
java.io.Serializable
;
public
class
GroupChatActivityHmDTO
extends
GroupChatHmDTO
implements
Serializable
{
/**
* 是否已经入群 1是0否
*/
private
Integer
joinGroup
;
public
Integer
getJoinGroup
()
{
return
joinGroup
;
}
public
void
setJoinGroup
(
Integer
joinGroup
)
{
this
.
joinGroup
=
joinGroup
;
}
}
\ No newline at end of file
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/chat/GroupChatActivityShareApiService.java
View file @
d34e898b
package
com
.
gic
.
haoban
.
manage
.
api
.
service
.
chat
;
package
com
.
gic
.
haoban
.
manage
.
api
.
service
.
chat
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatActivityHmDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatHmDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatHmDTO
;
import
com.gic.haoban.manage.api.qdto.chat.GroupChatActivityHmQDTO
;
import
com.gic.haoban.manage.api.qdto.chat.GroupChatActivityHmQDTO
;
import
com.gic.haoban.manage.api.qdto.chat.GroupChatActivityShareBindQDTO
;
import
com.gic.haoban.manage.api.qdto.chat.GroupChatActivityShareBindQDTO
;
...
@@ -24,7 +25,7 @@ public interface GroupChatActivityShareApiService {
...
@@ -24,7 +25,7 @@ public interface GroupChatActivityShareApiService {
* @param activityHmQDTO
* @param activityHmQDTO
* @return
* @return
*/
*/
ServiceResponse
<
List
<
GroupChatHmDTO
>>
listGroupChatHm
(
GroupChatActivityHmQDTO
activityHmQDTO
);
ServiceResponse
<
List
<
GroupChat
Activity
HmDTO
>>
listGroupChatHm
(
GroupChatActivityHmQDTO
activityHmQDTO
);
/**
/**
* 社群入群MQ
* 社群入群MQ
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/chat/GroupChatUserMapper.java
View file @
d34e898b
...
@@ -82,4 +82,6 @@ public interface GroupChatUserMapper {
...
@@ -82,4 +82,6 @@ public interface GroupChatUserMapper {
List
<
TabGroupChatUser
>
getByMember
(
@Param
(
"enterpriseId"
)
String
enterpriseId
,
@Param
(
"memberId"
)
String
memberId
);
List
<
TabGroupChatUser
>
getByMember
(
@Param
(
"enterpriseId"
)
String
enterpriseId
,
@Param
(
"memberId"
)
String
memberId
);
List
<
TabGroupChatUser
>
getByUnionId
(
@Param
(
"enterpriseId"
)
String
enterpriseId
,
@Param
(
"unionid"
)
String
unionid
);
List
<
TabGroupChatUser
>
getByUnionId
(
@Param
(
"enterpriseId"
)
String
enterpriseId
,
@Param
(
"unionid"
)
String
unionid
);
List
<
Long
>
listByUnionIdAndChatHmId
(
@Param
(
"enterpriseId"
)
String
enterpriseId
,
@Param
(
"unionid"
)
String
unionid
,
@Param
(
"chatHmIdList"
)
List
<
Long
>
chatHmIdList
);
}
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/pojo/bo/chat/GroupChatActivityHmBO.java
0 → 100644
View file @
d34e898b
package
com
.
gic
.
haoban
.
manage
.
service
.
pojo
.
bo
.
chat
;
public
class
GroupChatActivityHmBO
extends
GroupChatHmBO
{
private
static
final
long
serialVersionUID
=
21518878229500L
;
/**
* 是否已经入群 1是0否
*/
private
Integer
joinGroup
;
public
Integer
getJoinGroup
()
{
return
joinGroup
;
}
public
void
setJoinGroup
(
Integer
joinGroup
)
{
this
.
joinGroup
=
joinGroup
;
}
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/GroupChatActivityService.java
View file @
d34e898b
...
@@ -8,6 +8,7 @@ import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityHmQDTO;
...
@@ -8,6 +8,7 @@ import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityHmQDTO;
import
com.gic.haoban.manage.api.qdto.chat.GroupChatActivityQDTO
;
import
com.gic.haoban.manage.api.qdto.chat.GroupChatActivityQDTO
;
import
com.gic.haoban.manage.api.qdto.chat.GroupChatActivitySearchQDTO
;
import
com.gic.haoban.manage.api.qdto.chat.GroupChatActivitySearchQDTO
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatActivity
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatActivity
;
import
com.gic.haoban.manage.service.pojo.bo.chat.GroupChatActivityHmBO
;
import
com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmBO
;
import
com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmBO
;
import
java.util.List
;
import
java.util.List
;
...
@@ -112,5 +113,5 @@ public interface GroupChatActivityService {
...
@@ -112,5 +113,5 @@ public interface GroupChatActivityService {
* @param activityHmQDTO
* @param activityHmQDTO
* @return
* @return
*/
*/
List
<
GroupChatHmBO
>
listGroupChatHm
(
GroupChatActivityHmQDTO
activityHmQDTO
)
throws
BusinessException
;
List
<
GroupChat
Activity
HmBO
>
listGroupChatHm
(
GroupChatActivityHmQDTO
activityHmQDTO
)
throws
BusinessException
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/impl/GroupChatActivityServiceImpl.java
View file @
d34e898b
...
@@ -7,6 +7,7 @@ import cn.hutool.core.date.DateUtil;
...
@@ -7,6 +7,7 @@ import cn.hutool.core.date.DateUtil;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.gic.api.base.commons.BasePageInfo
;
import
com.gic.api.base.commons.BasePageInfo
;
import
com.gic.api.base.commons.BusinessException
;
import
com.gic.api.base.commons.BusinessException
;
import
com.gic.api.base.commons.Constant
;
import
com.gic.api.base.commons.Page
;
import
com.gic.api.base.commons.Page
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.util.PageHelperUtils
;
import
com.gic.commons.util.PageHelperUtils
;
...
@@ -25,9 +26,11 @@ import com.gic.haoban.manage.api.qdto.chat.GroupChatActivitySearchQDTO;
...
@@ -25,9 +26,11 @@ import com.gic.haoban.manage.api.qdto.chat.GroupChatActivitySearchQDTO;
import
com.gic.haoban.manage.service.context.chat.BusinessManager
;
import
com.gic.haoban.manage.service.context.chat.BusinessManager
;
import
com.gic.haoban.manage.service.context.chat.JoinRuleManager
;
import
com.gic.haoban.manage.service.context.chat.JoinRuleManager
;
import
com.gic.haoban.manage.service.dao.mapper.chat.GroupChatActivityMapper
;
import
com.gic.haoban.manage.service.dao.mapper.chat.GroupChatActivityMapper
;
import
com.gic.haoban.manage.service.dao.mapper.chat.GroupChatUserMapper
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatActivity
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatActivity
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityJoin
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityJoin
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityReward
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityReward
;
import
com.gic.haoban.manage.service.pojo.bo.chat.GroupChatActivityHmBO
;
import
com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmBO
;
import
com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmBO
;
import
com.gic.haoban.manage.service.service.chat.GroupChatActivityJoinService
;
import
com.gic.haoban.manage.service.service.chat.GroupChatActivityJoinService
;
import
com.gic.haoban.manage.service.service.chat.GroupChatActivityRewardService
;
import
com.gic.haoban.manage.service.service.chat.GroupChatActivityRewardService
;
...
@@ -43,6 +46,7 @@ import org.springframework.stereotype.Service;
...
@@ -43,6 +46,7 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
javax.swing.text.html.parser.Entity
;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -60,9 +64,11 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService {
...
@@ -60,9 +64,11 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService {
private
static
final
String
ACTIVITY_KEY
=
"haoban-manage3:group_chat:activity:"
;
private
static
final
String
ACTIVITY_KEY
=
"haoban-manage3:group_chat:activity:"
;
@
Resource
@
Autowired
private
GroupChatActivityMapper
groupChatActivityMapper
;
private
GroupChatActivityMapper
groupChatActivityMapper
;
@Autowired
@Autowired
private
GroupChatUserMapper
groupChatUserMapper
;
@Autowired
private
GroupChatActivityRewardService
groupChatActivityRewardService
;
private
GroupChatActivityRewardService
groupChatActivityRewardService
;
@Autowired
@Autowired
private
GroupChatActivityJoinService
groupChatActivityJoinService
;
private
GroupChatActivityJoinService
groupChatActivityJoinService
;
...
@@ -375,7 +381,7 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService {
...
@@ -375,7 +381,7 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService {
}
}
@Override
@Override
public
List
<
GroupChatHmBO
>
listGroupChatHm
(
GroupChatActivityHmQDTO
activityHmQDTO
)
throws
BusinessException
{
public
List
<
GroupChat
Activity
HmBO
>
listGroupChatHm
(
GroupChatActivityHmQDTO
activityHmQDTO
)
throws
BusinessException
{
Long
chatActivityId
=
activityHmQDTO
.
getChatActivityId
();
Long
chatActivityId
=
activityHmQDTO
.
getChatActivityId
();
String
enterpriseId
=
activityHmQDTO
.
getEnterpriseId
();
String
enterpriseId
=
activityHmQDTO
.
getEnterpriseId
();
GroupChatActivityDTO
chatActivity
=
getActivityDetailCache
(
enterpriseId
,
chatActivityId
);
GroupChatActivityDTO
chatActivity
=
getActivityDetailCache
(
enterpriseId
,
chatActivityId
);
...
@@ -383,6 +389,17 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService {
...
@@ -383,6 +389,17 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService {
return
Collections
.
emptyList
();
return
Collections
.
emptyList
();
}
}
activityHmQDTO
.
setChatActivity
(
chatActivity
);
activityHmQDTO
.
setChatActivity
(
chatActivity
);
return
joinRuleManager
.
listGroupHm
(
activityHmQDTO
);
List
<
GroupChatHmBO
>
hmBOList
=
joinRuleManager
.
listGroupHm
(
activityHmQDTO
);
if
(
CollectionUtils
.
isEmpty
(
hmBOList
))
{
return
Collections
.
emptyList
();
}
List
<
Long
>
chatHmIdList
=
hmBOList
.
stream
().
map
(
GroupChatHmBO:
:
getChatHmId
).
collect
(
Collectors
.
toList
());
List
<
Long
>
existChatHmIdList
=
groupChatUserMapper
.
listByUnionIdAndChatHmId
(
enterpriseId
,
activityHmQDTO
.
getInviteeUnionId
(),
chatHmIdList
);
List
<
GroupChatActivityHmBO
>
activityHmBOList
=
EntityUtil
.
changeEntityListByJSON
(
GroupChatActivityHmBO
.
class
,
hmBOList
);
for
(
GroupChatActivityHmBO
activityHmBO
:
activityHmBOList
)
{
Long
chatHmId
=
activityHmBO
.
getChatHmId
();
activityHmBO
.
setJoinGroup
(
existChatHmIdList
.
contains
(
chatHmId
)
?
Constant
.
FLAG_TRUE
:
Constant
.
FLAG_FALSE
);
}
return
activityHmBOList
;
}
}
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/chat/GroupChatActivityShareApiServiceImpl.java
View file @
d34e898b
...
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
...
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
import
com.gic.api.base.commons.BusinessException
;
import
com.gic.api.base.commons.BusinessException
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatActivityHmDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatHmDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatHmDTO
;
import
com.gic.haoban.manage.api.qdto.chat.GroupChatActivityHmQDTO
;
import
com.gic.haoban.manage.api.qdto.chat.GroupChatActivityHmQDTO
;
import
com.gic.haoban.manage.api.qdto.chat.GroupChatActivityShareBindQDTO
;
import
com.gic.haoban.manage.api.qdto.chat.GroupChatActivityShareBindQDTO
;
...
@@ -11,6 +12,7 @@ import com.gic.haoban.manage.api.service.chat.GroupChatActivityShareApiService;
...
@@ -11,6 +12,7 @@ import com.gic.haoban.manage.api.service.chat.GroupChatActivityShareApiService;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityShareBind
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityShareBind
;
//import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatActivityBaseContext;
//import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatActivityBaseContext;
import
com.gic.haoban.manage.service.pojo.bo.chat.GroupChatActivityBaseContext
;
import
com.gic.haoban.manage.service.pojo.bo.chat.GroupChatActivityBaseContext
;
import
com.gic.haoban.manage.service.pojo.bo.chat.GroupChatActivityHmBO
;
import
com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmBO
;
import
com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmBO
;
import
com.gic.haoban.manage.service.service.chat.GroupChatActivityInviteLogService
;
import
com.gic.haoban.manage.service.service.chat.GroupChatActivityInviteLogService
;
import
com.gic.haoban.manage.service.service.chat.GroupChatActivityService
;
import
com.gic.haoban.manage.service.service.chat.GroupChatActivityService
;
...
@@ -51,14 +53,14 @@ public class GroupChatActivityShareApiServiceImpl implements GroupChatActivitySh
...
@@ -51,14 +53,14 @@ public class GroupChatActivityShareApiServiceImpl implements GroupChatActivitySh
}
}
@Override
@Override
public
ServiceResponse
<
List
<
GroupChatHmDTO
>>
listGroupChatHm
(
GroupChatActivityHmQDTO
activityHmQDTO
)
{
public
ServiceResponse
<
List
<
GroupChat
Activity
HmDTO
>>
listGroupChatHm
(
GroupChatActivityHmQDTO
activityHmQDTO
)
{
if
(
StringUtils
.
isAnyBlank
(
activityHmQDTO
.
getEnterpriseId
(),
if
(
StringUtils
.
isAnyBlank
(
activityHmQDTO
.
getEnterpriseId
(),
activityHmQDTO
.
getInviterMemberId
())
||
activityHmQDTO
.
getChatActivityId
()
==
null
)
{
activityHmQDTO
.
getInviterMemberId
())
||
activityHmQDTO
.
getChatActivityId
()
==
null
)
{
return
ServiceResponse
.
failure
(
"500"
,
"参数异常"
);
return
ServiceResponse
.
failure
(
"500"
,
"参数异常"
);
}
}
try
{
try
{
List
<
GroupChatHmBO
>
hmBOList
=
groupChatActivityService
.
listGroupChatHm
(
activityHmQDTO
);
List
<
GroupChat
Activity
HmBO
>
hmBOList
=
groupChatActivityService
.
listGroupChatHm
(
activityHmQDTO
);
return
ServiceResponse
.
success
(
EntityUtil
.
changeEntityListNew
(
GroupChatHmDTO
.
class
,
hmBOList
));
return
ServiceResponse
.
success
(
EntityUtil
.
changeEntityListNew
(
GroupChat
Activity
HmDTO
.
class
,
hmBOList
));
}
catch
(
BusinessException
e
)
{
}
catch
(
BusinessException
e
)
{
return
ServiceResponse
.
failure
(
e
.
getCode
(),
e
.
getMessage
());
return
ServiceResponse
.
failure
(
e
.
getCode
(),
e
.
getMessage
());
}
}
...
...
haoban-manage3-service/src/main/resources/mapper/chat/GroupChatUserMapper.xml
View file @
d34e898b
...
@@ -336,4 +336,17 @@
...
@@ -336,4 +336,17 @@
and unionid = #{unionid} and status_flag = 1 and delete_flag = 0 order by create_time desc
and unionid = #{unionid} and status_flag = 1 and delete_flag = 0 order by create_time desc
</select>
</select>
<select
id=
"listByUnionIdAndChatHmId"
resultType=
"java.lang.Long"
>
select distinct chr.chat_hm_id
from tab_haoban_group_chat_hm_relation chr left join
tab_haoban_group_chat_user cu on chr.group_chat_id = cu.group_chat_id
where chr.enterprise_id = #{enterpriseId} and chr.delete_flag = 0 and chr.status_flag = 1
and chr.chat_hm_id in
<foreach
collection=
"chatHmIdList"
close=
")"
open=
"("
index=
"index"
item=
"item"
separator=
","
>
#{item}
</foreach>
and cu.unionid = #{unionid} and cu.status_flag = 1 and cu.delete_flag = 0
</select>
</mapper>
</mapper>
\ No newline at end of file
haoban-manage3-service/src/test/java/GroupChatTest.java
View file @
d34e898b
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.content.api.qdto.activity.ContentActivityQDTO
;
import
com.gic.content.api.qdto.activity.ContentActivityQDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatActivityHmDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatActivityRewardDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatActivityRewardDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatActivityRewardDetailDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatActivityRewardDetailDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatHmDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatHmDTO
;
...
@@ -135,7 +136,7 @@ public class GroupChatTest {
...
@@ -135,7 +136,7 @@ public class GroupChatTest {
groupChatActivityHmQDTO
.
setLatitude
(
"30.247100"
);
groupChatActivityHmQDTO
.
setLatitude
(
"30.247100"
);
groupChatActivityHmQDTO
.
setLongitude
(
"120.209000"
);
groupChatActivityHmQDTO
.
setLongitude
(
"120.209000"
);
groupChatActivityHmQDTO
.
setSkipArea
(
false
);
groupChatActivityHmQDTO
.
setSkipArea
(
false
);
ServiceResponse
<
List
<
GroupChatHmDTO
>>
listServiceResponse
=
groupChatActivityShareApiService
.
listGroupChatHm
(
groupChatActivityHmQDTO
);
ServiceResponse
<
List
<
GroupChat
Activity
HmDTO
>>
listServiceResponse
=
groupChatActivityShareApiService
.
listGroupChatHm
(
groupChatActivityHmQDTO
);
System
.
out
.
println
(
JSONObject
.
toJSONString
(
listServiceResponse
));
System
.
out
.
println
(
JSONObject
.
toJSONString
(
listServiceResponse
));
}
}
...
...
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