记得上下班打卡 | 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
8fe2af67
Commit
8fe2af67
authored
Aug 13, 2021
by
jiangxiulong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
answer redis q
parent
8e1b486a
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
169 additions
and
30 deletions
+169
-30
MQConst.java
...ain/java/com/liquidnet/service/base/constant/MQConst.java
+2
-1
ConsumerSweetAnswerRedisStreamConfig.java
...er/kylin/config/ConsumerSweetAnswerRedisStreamConfig.java
+79
-0
ConsumerSweetAnswerRdsReceiver.java
...nsumer/kylin/receiver/ConsumerSweetAnswerRdsReceiver.java
+17
-0
db_sweetsugar_structure.sql
.../liquidnet-service-sweet/docu/db_sweetsugar_structure.sql
+47
-28
SweetAnswerServiceImpl.java
...et/service/sweet/service/impl/SweetAnswerServiceImpl.java
+21
-1
sqlmap.properties
...uidnet-service-sweet/src/main/resources/sqlmap.properties
+3
-0
No files found.
liquidnet-bus-common/liquidnet-common-service-base/src/main/java/com/liquidnet/service/base/constant/MQConst.java
View file @
8fe2af67
...
...
@@ -74,6 +74,7 @@ public class MQConst {
ARTISTS_RELATION
(
"sweet:stream:rk.artists.relation"
,
"group.artists.relation"
,
"用户-关系"
),
ARTISTS_RELATION_MDSK
(
"sweet:stream:rk.artists.mdsk.relation"
,
"group.artists.mdsk.relation"
,
"用户-关系"
),
LUCK_DRAW
(
"sweet:stream:rk.luckDraw"
,
"group.luckDraw"
,
"用户-抽奖"
),
ANSWERINSERT_DRAW
(
"sweet:stream:rk.answerInsert"
,
"group.answerInsert"
,
"答案"
),
;
private
final
String
key
;
...
...
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-kylin/src/main/java/com/liquidnet/service/consumer/kylin/config/ConsumerSweetAnswerRedisStreamConfig.java
0 → 100644
View file @
8fe2af67
package
com
.
liquidnet
.
service
.
consumer
.
kylin
.
config
;
import
com.liquidnet.service.consumer.kylin.receiver.ConsumerSweetAnswerRdsReceiver
;
import
com.liquidnet.service.consumer.kylin.receiver.ConsumerSweetSqlUserRelationRdsReceiver
;
import
lombok.var
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.data.redis.connection.RedisConnectionFactory
;
import
org.springframework.data.redis.connection.stream.Consumer
;
import
org.springframework.data.redis.connection.stream.MapRecord
;
import
org.springframework.data.redis.connection.stream.ReadOffset
;
import
org.springframework.data.redis.connection.stream.StreamOffset
;
import
org.springframework.data.redis.stream.StreamMessageListenerContainer
;
import
org.springframework.data.redis.stream.Subscription
;
import
java.time.Duration
;
import
static
com
.
liquidnet
.
service
.
base
.
constant
.
MQConst
.
SweetQueue
.
ANSWERINSERT_DRAW
;
import
static
com
.
liquidnet
.
service
.
base
.
constant
.
MQConst
.
SweetQueue
.
ARTISTS_RELATION
;
@Configuration
public
class
ConsumerSweetAnswerRedisStreamConfig
{
@Autowired
ConsumerSweetAnswerRdsReceiver
consumerSweetAnswerRdsReceiver
;
private
StreamMessageListenerContainer
<
String
,
MapRecord
<
String
,
String
,
String
>>
buildStreamMessageListenerContainer
(
RedisConnectionFactory
factory
)
{
var
options
=
StreamMessageListenerContainer
.
StreamMessageListenerContainerOptions
.
builder
()
.
pollTimeout
(
Duration
.
ofMillis
(
1
))
.
build
();
return
StreamMessageListenerContainer
.
create
(
factory
,
options
);
}
/**
* 缺票登记
*
* @param listenerContainer
* @param t
* @return
*/
private
Subscription
receiveSqlAnswer
(
StreamMessageListenerContainer
<
String
,
MapRecord
<
String
,
String
,
String
>>
listenerContainer
,
int
t
)
{
return
listenerContainer
.
receiveAutoAck
(
Consumer
.
from
(
ANSWERINSERT_DRAW
.
getGroup
(),
ANSWERINSERT_DRAW
.
name
()
+
t
),
StreamOffset
.
create
(
ANSWERINSERT_DRAW
.
getKey
(),
ReadOffset
.
lastConsumed
()),
consumerSweetAnswerRdsReceiver
);
}
/* —————————————————————————— | —————————————————————————— | —————————————————————————— */
/* -------------------------------------------------------- | 缺票登记 */
@Bean
public
Subscription
subscriptionSqlAnswer
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlAnswer
(
listenerContainer
,
1
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlAnswer2
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlAnswer
(
listenerContainer
,
1
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlAnswer3
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlAnswer
(
listenerContainer
,
1
);
listenerContainer
.
start
();
return
subscription
;
}
/* -------------------------------------------------------- | */
}
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-kylin/src/main/java/com/liquidnet/service/consumer/kylin/receiver/ConsumerSweetAnswerRdsReceiver.java
0 → 100644
View file @
8fe2af67
package
com
.
liquidnet
.
service
.
consumer
.
kylin
.
receiver
;
import
com.liquidnet.service.base.constant.MQConst
;
import
org.springframework.stereotype.Component
;
@Component
public
class
ConsumerSweetAnswerRdsReceiver
extends
AbstractSqlRedisReceiver
{
@Override
protected
String
getRedisStreamKey
()
{
return
MQConst
.
SweetQueue
.
ANSWERINSERT_DRAW
.
getKey
();
}
@Override
protected
String
getRedisStreamGroup
()
{
return
MQConst
.
SweetQueue
.
ANSWERINSERT_DRAW
.
getGroup
();
}
}
liquidnet-bus-service/liquidnet-service-sweet/docu/db_sweetsugar_structure.sql
View file @
8fe2af67
...
...
@@ -183,34 +183,6 @@ CREATE TABLE `sweet_manual_shop`
COLLATE
=
utf8_unicode_ci
ROW_FORMAT
=
DYNAMIC
COMMENT
'电子宣传手册商铺表'
;
-- 正在现场服务号关注事件储存用户信息表
drop
TABLE
if
exists
`sweet_wechat_user`
;
CREATE
TABLE
`sweet_wechat_user`
(
`mid`
bigint
unsigned
NOT
NULL
AUTO_INCREMENT
,
`user_id`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'user_id'
,
`openId`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'openId'
,
`unionId`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'unionId'
,
`nickname`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'昵称'
,
`sexDesc`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'性别'
,
`sex`
tinyint
NOT
NULL
DEFAULT
0
COMMENT
'性别 男1'
,
`headImgUrl`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'头像'
,
`language`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'zh_CN'
,
`country`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'国家'
,
`province`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'省'
,
`city`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'市'
,
`subscribeTime`
datetime
NULL
DEFAULT
null
COMMENT
'关注时间'
,
`subscribeScene`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'ADD_SCENE_SEARCH 关注方式'
,
`created_at`
datetime
NULL
DEFAULT
CURRENT_TIMESTAMP
COMMENT
'创建时间'
,
`updated_at`
datetime
NULL
DEFAULT
CURRENT_TIMESTAMP
COMMENT
'更新时间'
,
PRIMARY
KEY
(
`mid`
),
KEY
`sweet_wechat_user_user_id`
(
`user_id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
utf8mb4
COLLATE
utf8mb4_unicode_ci
ROW_FORMAT
=
DYNAMIC
COMMENT
'正在现场服务号关注事件储存用户信息表'
;
-- 用户 收藏/喜欢等状态
drop
TABLE
if
exists
`sweet_user_relation`
;
CREATE
TABLE
`sweet_user_relation`
...
...
@@ -437,6 +409,33 @@ CREATE TABLE `sweet_luck_draw`
COLLATE
utf8mb4_unicode_ci
ROW_FORMAT
=
DYNAMIC
COMMENT
'抽奖表'
;
-- 正在现场服务号关注事件储存用户信息表
drop
TABLE
if
exists
`sweet_wechat_user`
;
CREATE
TABLE
`sweet_wechat_user`
(
`mid`
bigint
unsigned
NOT
NULL
AUTO_INCREMENT
,
`user_id`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'user_id'
,
`openId`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'openId'
,
`unionId`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'unionId'
,
`nickname`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'昵称'
,
`sexDesc`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'性别'
,
`sex`
tinyint
NOT
NULL
DEFAULT
0
COMMENT
'性别 男1'
,
`headImgUrl`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'头像'
,
`language`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'zh_CN'
,
`country`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'国家'
,
`province`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'省'
,
`city`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'市'
,
`subscribeTime`
datetime
NULL
DEFAULT
null
COMMENT
'关注时间'
,
`subscribeScene`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'ADD_SCENE_SEARCH 关注方式'
,
`created_at`
datetime
NULL
DEFAULT
CURRENT_TIMESTAMP
COMMENT
'创建时间'
,
`updated_at`
datetime
NULL
DEFAULT
CURRENT_TIMESTAMP
COMMENT
'更新时间'
,
PRIMARY
KEY
(
`mid`
),
KEY
`sweet_wechat_user_user_id`
(
`user_id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
utf8mb4
COLLATE
utf8mb4_unicode_ci
ROW_FORMAT
=
DYNAMIC
COMMENT
'正在现场服务号关注事件储存用户信息表'
;
-- 答题表
drop
TABLE
if
exists
`sweet_answer`
;
CREATE
TABLE
`sweet_answer`
...
...
@@ -455,3 +454,23 @@ CREATE TABLE `sweet_answer`
COLLATE
utf8mb4_unicode_ci
ROW_FORMAT
=
DYNAMIC
COMMENT
'答题表'
;
-- 关注
drop
TABLE
if
exists
`sweet_remind`
;
CREATE
TABLE
`sweet_remind`
(
`mid`
bigint
unsigned
NOT
NULL
AUTO_INCREMENT
,
`remind_id`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'remind_id'
,
`openId`
varchar
(
11
)
NOT
NULL
DEFAULT
''
COMMENT
'openId'
,
`unionId`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'unionId'
,
`performancesId`
varchar
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'演出id'
,
`is_push`
tinyint
NOT
NULL
DEFAULT
1
COMMENT
'是否推送 1未推送 2已推送'
,
`push_time`
varchar
(
200
)
NOT
NULL
DEFAULT
''
COMMENT
'推送时间'
,
`created_at`
datetime
NULL
DEFAULT
CURRENT_TIMESTAMP
COMMENT
'创建时间'
,
`updated_at`
datetime
NULL
DEFAULT
CURRENT_TIMESTAMP
COMMENT
'更新时间'
,
PRIMARY
KEY
(
`mid`
),
KEY
`sweet_remind_id`
(
`remind_id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
utf8mb4
COLLATE
utf8mb4_unicode_ci
ROW_FORMAT
=
DYNAMIC
COMMENT
'提醒记录表'
;
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/service/impl/SweetAnswerServiceImpl.java
View file @
8fe2af67
package
com
.
liquidnet
.
service
.
sweet
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.sweet.entity.SweetAnswer
;
import
com.liquidnet.service.sweet.mapper.SweetAnswerMapper
;
import
com.liquidnet.service.sweet.service.ISweetAnswerService
;
import
com.liquidnet.service.sweet.utils.QueueUtils
;
import
com.liquidnet.service.sweet.utils.RedisDataUtils
;
import
com.liquidnet.service.sweet.vo.SweetAnswerVo
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.time.LocalDateTime
;
import
java.util.LinkedList
;
/**
* <p>
* 答题表 服务实现类
...
...
@@ -26,6 +33,8 @@ public class SweetAnswerServiceImpl extends ServiceImpl<SweetAnswerMapper, Sweet
private
SweetAnswerMapper
sweetAnswerMapper
;
@Autowired
private
RedisDataUtils
redisDataUtils
;
@Autowired
QueueUtils
queueUtils
;
@Override
public
ResponseDto
<
SweetAnswerVo
>
getInfo
(
String
phone
)
{
...
...
@@ -40,7 +49,18 @@ public class SweetAnswerServiceImpl extends ServiceImpl<SweetAnswerMapper, Sweet
sweetAnswer
.
setPhone
(
phone
);
sweetAnswer
.
setAnswerJson
(
answerJson
);
sweetAnswer
.
setImgUrl
(
imgUrl
);
sweetAnswerMapper
.
insert
(
sweetAnswer
);
// sweetAnswerMapper.insert(sweetAnswer);
LinkedList
<
String
>
sqls
=
CollectionUtil
.
linkedListString
();
LinkedList
<
Object
[]>
sqlsDataA
=
CollectionUtil
.
linkedListObjectArr
();
LocalDateTime
now
=
LocalDateTime
.
now
();
sqls
.
add
(
SqlMapping
.
get
(
"sweet_answer.insert"
));
sqlsDataA
.
add
(
new
Object
[]{
IDGenerator
.
nextSnowId
(),
phone
,
answerJson
,
imgUrl
});
queueUtils
.
sendMsgByRedis
(
MQConst
.
SweetQueue
.
ANSWERINSERT_DRAW
.
getKey
(),
SqlMapping
.
gets
(
sqls
,
sqlsDataA
));
SweetAnswerVo
sweetAnswerVo
=
SweetAnswerVo
.
getNew
().
copy
(
sweetAnswer
);
redisDataUtils
.
setSweetAnswer
(
sweetAnswerVo
);
...
...
liquidnet-bus-service/liquidnet-service-sweet/src/main/resources/sqlmap.properties
View file @
8fe2af67
...
...
@@ -59,3 +59,6 @@ sweet_user_relation_mdsk.delete=DELETE FROM sweet_user_relation_mdsk WHERE user
# ------------------------用户关系----------------------------
sweet_luck_draw.insert
=
INSERT INTO sweet_luck_draw (user_id,luck_draw_num,status,created_at) VALUES (?,?,1,?)
# --------------------------答案--------------------------
sweet_answer.insert
=
INSERT INTO sweet_answer (answer_id,phone,answer_json,img_url) VALUES (?,?,?,?)
\ No newline at end of file
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