记得上下班打卡 | 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
0feec569
Commit
0feec569
authored
Jun 15, 2022
by
zhanggb
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
~queue:adam;
parent
d24c5178
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
240 additions
and
135 deletions
+240
-135
ConsumerAdamSqlUcenterRedisStreamConfig.java
.../adam/config/ConsumerAdamSqlUcenterRedisStreamConfig.java
+84
-84
ConsumerAdamSqlUCenterRdsReceiver.java
...umer/adam/receiver/ConsumerAdamSqlUCenterRdsReceiver.java
+17
-17
ConsumerAdamSqlUMemberRdsReceiver.java
...umer/adam/receiver/ConsumerAdamSqlUMemberRdsReceiver.java
+17
-17
ConsumerAdamSqlURegisterRdsReceiver.java
...er/adam/receiver/ConsumerAdamSqlURegisterRdsReceiver.java
+17
-17
ConsumerCommonSqlRedisStreamConfig.java
...sumer/base/config/ConsumerCommonSqlRedisStreamConfig.java
+54
-0
ConsumerAdamSqlUCenterRdsReceiver.java
...umer/base/receiver/ConsumerAdamSqlUCenterRdsReceiver.java
+17
-0
ConsumerAdamSqlUMemberRdsReceiver.java
...umer/base/receiver/ConsumerAdamSqlUMemberRdsReceiver.java
+17
-0
ConsumerAdamSqlURegisterRdsReceiver.java
...er/base/receiver/ConsumerAdamSqlURegisterRdsReceiver.java
+17
-0
No files found.
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-adam/src/main/java/com/liquidnet/service/consumer/adam/config/ConsumerAdamSqlUcenterRedisStreamConfig.java
View file @
0feec569
package
com
.
liquidnet
.
service
.
consumer
.
adam
.
config
;
//
package com.liquidnet.service.consumer.adam.config;
//
import
com.liquidnet.common.cache.redis.config.RedisStreamConfig
;
//
import com.liquidnet.common.cache.redis.config.RedisStreamConfig;
import
com.liquidnet.service.consumer.adam.receiver.ConsumerAdamSqlUCenterRdsReceiver
;
//
import com.liquidnet.service.consumer.adam.receiver.ConsumerAdamSqlUCenterRdsReceiver;
import
com.liquidnet.service.consumer.adam.receiver.ConsumerAdamSqlUMemberRdsReceiver
;
//
import com.liquidnet.service.consumer.adam.receiver.ConsumerAdamSqlUMemberRdsReceiver;
import
com.liquidnet.service.consumer.adam.receiver.ConsumerAdamSqlURegisterRdsReceiver
;
//
import com.liquidnet.service.consumer.adam.receiver.ConsumerAdamSqlURegisterRdsReceiver;
import
lombok.extern.slf4j.Slf4j
;
//
import lombok.extern.slf4j.Slf4j;
import
org.springframework.beans.factory.annotation.Autowired
;
//
import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.context.annotation.Bean
;
//
import org.springframework.context.annotation.Bean;
import
org.springframework.context.annotation.Configuration
;
//
import org.springframework.context.annotation.Configuration;
import
org.springframework.data.redis.connection.RedisConnectionFactory
;
//
import org.springframework.data.redis.connection.RedisConnectionFactory;
import
org.springframework.data.redis.connection.stream.Consumer
;
//
import org.springframework.data.redis.connection.stream.Consumer;
import
org.springframework.data.redis.connection.stream.MapRecord
;
//
import org.springframework.data.redis.connection.stream.MapRecord;
import
org.springframework.data.redis.connection.stream.ReadOffset
;
//
import org.springframework.data.redis.connection.stream.ReadOffset;
import
org.springframework.data.redis.connection.stream.StreamOffset
;
//
import org.springframework.data.redis.connection.stream.StreamOffset;
import
org.springframework.data.redis.core.StringRedisTemplate
;
//
import org.springframework.data.redis.core.StringRedisTemplate;
import
org.springframework.data.redis.stream.StreamMessageListenerContainer
;
//
import org.springframework.data.redis.stream.StreamMessageListenerContainer;
import
org.springframework.data.redis.stream.Subscription
;
//
import org.springframework.data.redis.stream.Subscription;
//
import
java.util.ArrayList
;
//
import java.util.ArrayList;
import
java.util.List
;
//
import java.util.List;
//
import
static
com
.
liquidnet
.
service
.
base
.
constant
.
MQConst
.
AdamQueue
;
//
import static com.liquidnet.service.base.constant.MQConst.AdamQueue;
//
@Slf4j
//
@Slf4j
@Configuration
//
@Configuration
public
class
ConsumerAdamSqlUcenterRedisStreamConfig
extends
RedisStreamConfig
{
//
public class ConsumerAdamSqlUcenterRedisStreamConfig extends RedisStreamConfig {
@Autowired
//
@Autowired
StringRedisTemplate
stringRedisTemplate
;
//
StringRedisTemplate stringRedisTemplate;
@Autowired
//
@Autowired
ConsumerAdamSqlURegisterRdsReceiver
consumerAdamURegisterRdsReceiver
;
//
ConsumerAdamSqlURegisterRdsReceiver consumerAdamURegisterRdsReceiver;
@Autowired
//
@Autowired
ConsumerAdamSqlUCenterRdsReceiver
consumerAdamUCenterRdsReceiver
;
//
ConsumerAdamSqlUCenterRdsReceiver consumerAdamUCenterRdsReceiver;
@Autowired
//
@Autowired
ConsumerAdamSqlUMemberRdsReceiver
consumerAdamUMemberRdsReceiver
;
//
ConsumerAdamSqlUMemberRdsReceiver consumerAdamUMemberRdsReceiver;
//
@Bean
// 用户注册
//
@Bean// 用户注册
public
List
<
Subscription
>
subscriptionSqlURegister
(
RedisConnectionFactory
factory
)
{
//
public List<Subscription> subscriptionSqlURegister(RedisConnectionFactory factory) {
List
<
Subscription
>
subscriptionList
=
new
ArrayList
<>();
//
List<Subscription> subscriptionList = new ArrayList<>();
AdamQueue
stream
=
AdamQueue
.
SQL_UREGISTER
;
//
AdamQueue stream = AdamQueue.SQL_UREGISTER;
this
.
initStream
(
stringRedisTemplate
,
stream
.
getKey
(),
stream
.
getGroup
());
//
this.initStream(stringRedisTemplate, stream.getKey(), stream.getGroup());
for
(
int
i
=
0
;
i
<
10
;
i
++)
{
//
for (int i = 0; i < 10; i++) {
StreamMessageListenerContainer
<
String
,
MapRecord
<
String
,
String
,
String
>>
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
//
StreamMessageListenerContainer<String, MapRecord<String, String, String>> listenerContainer = this.buildStreamMessageListenerContainer(factory);
subscriptionList
.
add
(
listenerContainer
.
receiveAutoAck
(
//
subscriptionList.add(listenerContainer.receiveAutoAck(
Consumer
.
from
(
stream
.
getGroup
(),
getConsumerName
(
stream
.
name
()
+
i
)),
//
Consumer.from(stream.getGroup(), getConsumerName(stream.name() + i)),
StreamOffset
.
create
(
stream
.
getKey
(),
ReadOffset
.
lastConsumed
()),
consumerAdamURegisterRdsReceiver
//
StreamOffset.create(stream.getKey(), ReadOffset.lastConsumed()), consumerAdamURegisterRdsReceiver
));
//
));
listenerContainer
.
start
();
//
listenerContainer.start();
}
//
}
return
subscriptionList
;
//
return subscriptionList;
}
//
}
//
@Bean
// 用户中心
//
@Bean// 用户中心
public
List
<
Subscription
>
subscriptionSqlUCenter
(
RedisConnectionFactory
factory
)
{
//
public List<Subscription> subscriptionSqlUCenter(RedisConnectionFactory factory) {
List
<
Subscription
>
subscriptionList
=
new
ArrayList
<>();
//
List<Subscription> subscriptionList = new ArrayList<>();
AdamQueue
stream
=
AdamQueue
.
SQL_UCENTER
;
//
AdamQueue stream = AdamQueue.SQL_UCENTER;
this
.
initStream
(
stringRedisTemplate
,
stream
.
getKey
(),
stream
.
getGroup
());
//
this.initStream(stringRedisTemplate, stream.getKey(), stream.getGroup());
for
(
int
i
=
0
;
i
<
10
;
i
++)
{
//
for (int i = 0; i < 10; i++) {
StreamMessageListenerContainer
<
String
,
MapRecord
<
String
,
String
,
String
>>
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
//
StreamMessageListenerContainer<String, MapRecord<String, String, String>> listenerContainer = this.buildStreamMessageListenerContainer(factory);
subscriptionList
.
add
(
listenerContainer
.
receiveAutoAck
(
//
subscriptionList.add(listenerContainer.receiveAutoAck(
Consumer
.
from
(
stream
.
getGroup
(),
getConsumerName
(
stream
.
name
()
+
i
)),
//
Consumer.from(stream.getGroup(), getConsumerName(stream.name() + i)),
StreamOffset
.
create
(
stream
.
getKey
(),
ReadOffset
.
lastConsumed
()),
consumerAdamUCenterRdsReceiver
//
StreamOffset.create(stream.getKey(), ReadOffset.lastConsumed()), consumerAdamUCenterRdsReceiver
));
//
));
listenerContainer
.
start
();
//
listenerContainer.start();
}
//
}
return
subscriptionList
;
//
return subscriptionList;
}
//
}
//
@Bean
// 购买会员
//
@Bean// 购买会员
public
List
<
Subscription
>
subscriptionSqlUMember
(
RedisConnectionFactory
factory
)
{
//
public List<Subscription> subscriptionSqlUMember(RedisConnectionFactory factory) {
List
<
Subscription
>
subscriptionList
=
new
ArrayList
<>();
//
List<Subscription> subscriptionList = new ArrayList<>();
AdamQueue
stream
=
AdamQueue
.
SQL_UMEMBER
;
//
AdamQueue stream = AdamQueue.SQL_UMEMBER;
this
.
initStream
(
stringRedisTemplate
,
stream
.
getKey
(),
stream
.
getGroup
());
//
this.initStream(stringRedisTemplate, stream.getKey(), stream.getGroup());
for
(
int
i
=
0
;
i
<
10
;
i
++)
{
//
for (int i = 0; i < 10; i++) {
StreamMessageListenerContainer
<
String
,
MapRecord
<
String
,
String
,
String
>>
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
//
StreamMessageListenerContainer<String, MapRecord<String, String, String>> listenerContainer = this.buildStreamMessageListenerContainer(factory);
subscriptionList
.
add
(
listenerContainer
.
receiveAutoAck
(
//
subscriptionList.add(listenerContainer.receiveAutoAck(
Consumer
.
from
(
stream
.
getGroup
(),
getConsumerName
(
stream
.
name
()
+
i
)),
//
Consumer.from(stream.getGroup(), getConsumerName(stream.name() + i)),
StreamOffset
.
create
(
stream
.
getKey
(),
ReadOffset
.
lastConsumed
()),
consumerAdamUMemberRdsReceiver
//
StreamOffset.create(stream.getKey(), ReadOffset.lastConsumed()), consumerAdamUMemberRdsReceiver
));
//
));
listenerContainer
.
start
();
//
listenerContainer.start();
}
//
}
return
subscriptionList
;
//
return subscriptionList;
}
//
}
}
//
}
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-adam/src/main/java/com/liquidnet/service/consumer/adam/receiver/ConsumerAdamSqlUCenterRdsReceiver.java
View file @
0feec569
package
com
.
liquidnet
.
service
.
consumer
.
adam
.
receiver
;
//
package com.liquidnet.service.consumer.adam.receiver;
//
import
com.liquidnet.service.base.constant.MQConst
;
//
import com.liquidnet.service.base.constant.MQConst;
import
org.springframework.stereotype.Component
;
//
import org.springframework.stereotype.Component;
//
@Component
//
@Component
public
class
ConsumerAdamSqlUCenterRdsReceiver
extends
AbstractSqlRedisReceiver
{
//
public class ConsumerAdamSqlUCenterRdsReceiver extends AbstractSqlRedisReceiver {
@Override
//
@Override
protected
String
getRedisStreamKey
()
{
//
protected String getRedisStreamKey() {
return
MQConst
.
AdamQueue
.
SQL_UCENTER
.
getKey
();
//
return MQConst.AdamQueue.SQL_UCENTER.getKey();
}
//
}
//
@Override
//
@Override
protected
String
getRedisStreamGroup
()
{
//
protected String getRedisStreamGroup() {
return
MQConst
.
AdamQueue
.
SQL_UCENTER
.
getGroup
();
//
return MQConst.AdamQueue.SQL_UCENTER.getGroup();
}
//
}
}
//
}
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-adam/src/main/java/com/liquidnet/service/consumer/adam/receiver/ConsumerAdamSqlUMemberRdsReceiver.java
View file @
0feec569
package
com
.
liquidnet
.
service
.
consumer
.
adam
.
receiver
;
//
package com.liquidnet.service.consumer.adam.receiver;
//
import
com.liquidnet.service.base.constant.MQConst
;
//
import com.liquidnet.service.base.constant.MQConst;
import
org.springframework.stereotype.Component
;
//
import org.springframework.stereotype.Component;
//
@Component
//
@Component
public
class
ConsumerAdamSqlUMemberRdsReceiver
extends
AbstractSqlRedisReceiver
{
//
public class ConsumerAdamSqlUMemberRdsReceiver extends AbstractSqlRedisReceiver {
@Override
//
@Override
protected
String
getRedisStreamKey
()
{
//
protected String getRedisStreamKey() {
return
MQConst
.
AdamQueue
.
SQL_UMEMBER
.
getKey
();
//
return MQConst.AdamQueue.SQL_UMEMBER.getKey();
}
//
}
//
@Override
//
@Override
protected
String
getRedisStreamGroup
()
{
//
protected String getRedisStreamGroup() {
return
MQConst
.
AdamQueue
.
SQL_UMEMBER
.
getGroup
();
//
return MQConst.AdamQueue.SQL_UMEMBER.getGroup();
}
//
}
}
//
}
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-adam/src/main/java/com/liquidnet/service/consumer/adam/receiver/ConsumerAdamSqlURegisterRdsReceiver.java
View file @
0feec569
package
com
.
liquidnet
.
service
.
consumer
.
adam
.
receiver
;
//
package com.liquidnet.service.consumer.adam.receiver;
//
import
com.liquidnet.service.base.constant.MQConst
;
//
import com.liquidnet.service.base.constant.MQConst;
import
org.springframework.stereotype.Component
;
//
import org.springframework.stereotype.Component;
//
@Component
//
@Component
public
class
ConsumerAdamSqlURegisterRdsReceiver
extends
AbstractSqlRedisReceiver
{
//
public class ConsumerAdamSqlURegisterRdsReceiver extends AbstractSqlRedisReceiver {
@Override
//
@Override
protected
String
getRedisStreamKey
()
{
//
protected String getRedisStreamKey() {
return
MQConst
.
AdamQueue
.
SQL_UREGISTER
.
getKey
();
//
return MQConst.AdamQueue.SQL_UREGISTER.getKey();
}
//
}
//
@Override
//
@Override
protected
String
getRedisStreamGroup
()
{
//
protected String getRedisStreamGroup() {
return
MQConst
.
AdamQueue
.
SQL_UREGISTER
.
getGroup
();
//
return MQConst.AdamQueue.SQL_UREGISTER.getGroup();
}
//
}
}
//
}
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-base/src/main/java/com/liquidnet/service/consumer/base/config/ConsumerCommonSqlRedisStreamConfig.java
View file @
0feec569
...
@@ -41,6 +41,12 @@ public class ConsumerCommonSqlRedisStreamConfig extends RedisStreamConfig {
...
@@ -41,6 +41,12 @@ public class ConsumerCommonSqlRedisStreamConfig extends RedisStreamConfig {
ConsumerGoblinSqlCouponRdsReceiver
consumerGoblinSqlCouponRdsReceiver
;
ConsumerGoblinSqlCouponRdsReceiver
consumerGoblinSqlCouponRdsReceiver
;
@Autowired
@Autowired
ConsumerGoblinSqlArtworkGenRdsReceiver
consumerGoblinSqlArtworkGenRdsReceiver
;
ConsumerGoblinSqlArtworkGenRdsReceiver
consumerGoblinSqlArtworkGenRdsReceiver
;
@Autowired
ConsumerAdamSqlURegisterRdsReceiver
consumerAdamURegisterRdsReceiver
;
@Autowired
ConsumerAdamSqlUCenterRdsReceiver
consumerAdamUCenterRdsReceiver
;
@Autowired
ConsumerAdamSqlUMemberRdsReceiver
consumerAdamUMemberRdsReceiver
;
// @Bean
// @Bean
// public List<Subscription> subscriptionSQL0(RedisConnectionFactory factory) {
// public List<Subscription> subscriptionSQL0(RedisConnectionFactory factory) {
...
@@ -142,4 +148,52 @@ public class ConsumerCommonSqlRedisStreamConfig extends RedisStreamConfig {
...
@@ -142,4 +148,52 @@ public class ConsumerCommonSqlRedisStreamConfig extends RedisStreamConfig {
}
}
return
subscriptionList
;
return
subscriptionList
;
}
}
@Bean
// 用户注册
public
List
<
Subscription
>
subscriptionAdamSqlURegister
(
RedisConnectionFactory
factory
)
{
List
<
Subscription
>
subscriptionList
=
new
ArrayList
<>();
MQConst
.
AdamQueue
stream
=
MQConst
.
AdamQueue
.
SQL_UREGISTER
;
this
.
initStream
(
stringRedisTemplate
,
stream
.
getKey
(),
stream
.
getGroup
());
for
(
int
i
=
0
;
i
<
10
;
i
++)
{
StreamMessageListenerContainer
<
String
,
MapRecord
<
String
,
String
,
String
>>
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
subscriptionList
.
add
(
listenerContainer
.
receiveAutoAck
(
Consumer
.
from
(
stream
.
getGroup
(),
getConsumerName
(
stream
.
name
()
+
i
)),
StreamOffset
.
create
(
stream
.
getKey
(),
ReadOffset
.
lastConsumed
()),
consumerAdamURegisterRdsReceiver
));
listenerContainer
.
start
();
}
return
subscriptionList
;
}
@Bean
// 用户中心
public
List
<
Subscription
>
subscriptionAdamSqlUCenter
(
RedisConnectionFactory
factory
)
{
List
<
Subscription
>
subscriptionList
=
new
ArrayList
<>();
MQConst
.
AdamQueue
stream
=
MQConst
.
AdamQueue
.
SQL_UCENTER
;
this
.
initStream
(
stringRedisTemplate
,
stream
.
getKey
(),
stream
.
getGroup
());
for
(
int
i
=
0
;
i
<
10
;
i
++)
{
StreamMessageListenerContainer
<
String
,
MapRecord
<
String
,
String
,
String
>>
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
subscriptionList
.
add
(
listenerContainer
.
receiveAutoAck
(
Consumer
.
from
(
stream
.
getGroup
(),
getConsumerName
(
stream
.
name
()
+
i
)),
StreamOffset
.
create
(
stream
.
getKey
(),
ReadOffset
.
lastConsumed
()),
consumerAdamUCenterRdsReceiver
));
listenerContainer
.
start
();
}
return
subscriptionList
;
}
@Bean
// 购买会员
public
List
<
Subscription
>
subscriptionAdamSqlUMember
(
RedisConnectionFactory
factory
)
{
List
<
Subscription
>
subscriptionList
=
new
ArrayList
<>();
MQConst
.
AdamQueue
stream
=
MQConst
.
AdamQueue
.
SQL_UMEMBER
;
this
.
initStream
(
stringRedisTemplate
,
stream
.
getKey
(),
stream
.
getGroup
());
for
(
int
i
=
0
;
i
<
10
;
i
++)
{
StreamMessageListenerContainer
<
String
,
MapRecord
<
String
,
String
,
String
>>
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
subscriptionList
.
add
(
listenerContainer
.
receiveAutoAck
(
Consumer
.
from
(
stream
.
getGroup
(),
getConsumerName
(
stream
.
name
()
+
i
)),
StreamOffset
.
create
(
stream
.
getKey
(),
ReadOffset
.
lastConsumed
()),
consumerAdamUMemberRdsReceiver
));
listenerContainer
.
start
();
}
return
subscriptionList
;
}
}
}
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-base/src/main/java/com/liquidnet/service/consumer/base/receiver/ConsumerAdamSqlUCenterRdsReceiver.java
0 → 100644
View file @
0feec569
package
com
.
liquidnet
.
service
.
consumer
.
base
.
receiver
;
import
com.liquidnet.service.base.constant.MQConst
;
import
org.springframework.stereotype.Component
;
@Component
public
class
ConsumerAdamSqlUCenterRdsReceiver
extends
AbstractSqlRedisReceiver
{
@Override
protected
String
getRedisStreamKey
()
{
return
MQConst
.
AdamQueue
.
SQL_UCENTER
.
getKey
();
}
@Override
protected
String
getRedisStreamGroup
()
{
return
MQConst
.
AdamQueue
.
SQL_UCENTER
.
getGroup
();
}
}
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-base/src/main/java/com/liquidnet/service/consumer/base/receiver/ConsumerAdamSqlUMemberRdsReceiver.java
0 → 100644
View file @
0feec569
package
com
.
liquidnet
.
service
.
consumer
.
base
.
receiver
;
import
com.liquidnet.service.base.constant.MQConst
;
import
org.springframework.stereotype.Component
;
@Component
public
class
ConsumerAdamSqlUMemberRdsReceiver
extends
AbstractSqlRedisReceiver
{
@Override
protected
String
getRedisStreamKey
()
{
return
MQConst
.
AdamQueue
.
SQL_UMEMBER
.
getKey
();
}
@Override
protected
String
getRedisStreamGroup
()
{
return
MQConst
.
AdamQueue
.
SQL_UMEMBER
.
getGroup
();
}
}
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-base/src/main/java/com/liquidnet/service/consumer/base/receiver/ConsumerAdamSqlURegisterRdsReceiver.java
0 → 100644
View file @
0feec569
package
com
.
liquidnet
.
service
.
consumer
.
base
.
receiver
;
import
com.liquidnet.service.base.constant.MQConst
;
import
org.springframework.stereotype.Component
;
@Component
public
class
ConsumerAdamSqlURegisterRdsReceiver
extends
AbstractSqlRedisReceiver
{
@Override
protected
String
getRedisStreamKey
()
{
return
MQConst
.
AdamQueue
.
SQL_UREGISTER
.
getKey
();
}
@Override
protected
String
getRedisStreamGroup
()
{
return
MQConst
.
AdamQueue
.
SQL_UREGISTER
.
getGroup
();
}
}
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