Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
张云鹏
/
uc-consumer
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
Commit
2bf41a44
...
2bf41a448855911167d5b9130e68861b7eb3fd69
authored
2022-05-30 09:49:21 +0800
by
xianghan
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
1.update
1 parent
99016a4c
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
67 additions
and
48 deletions
src/main/java/com/topdraw/business/process/service/impl/UserOperationServiceImpl.java
src/main/java/com/topdraw/mq/consumer/UcEventBusIptv2ManagementUcEngine.java
src/main/java/com/topdraw/mq/consumer/UcGatewayIptv2IptvConsumer.java
src/main/java/com/topdraw/mq/domain/DataSyncMsg.java
src/main/java/com/topdraw/business/process/service/impl/UserOperationServiceImpl.java
View file @
2bf41a4
...
...
@@ -319,12 +319,13 @@ public class UserOperationServiceImpl implements UserOperationService {
String
appid
=
userWeixinDTO
.
getAppid
();
MemberDTO
memberDTO
=
memberAndWeixinUserDTO
.
getMemberDTO
();
UserWeixinDTO
_userWeixinDTO
=
this
.
userWeixinService
.
findFirstBy
AppIdAndOpenId
(
appid
,
openid
);
UserWeixinDTO
_userWeixinDTO
=
this
.
userWeixinService
.
findFirstBy
UnionIdAndAppIdAndOpenId
(
unionid
,
appid
,
openid
);
// 有账号
if
(
Objects
.
nonNull
(
_userWeixinDTO
.
getId
()))
{
UserWeixinDTO
_userWeixinDTO0
=
this
.
userWeixinService
.
findFirstByAppIdAndOpenId
(
appid
,
openid
);
// 会员存在
if
(
Objects
.
nonNull
(
_userWeixinDTO
.
getMemberId
()))
{
if
(
Objects
.
nonNull
(
_userWeixinDTO
0
.
getMemberId
()))
{
// 账号存在,修改账号和会员
this
.
updateWeixin
(
_userWeixinDTO
,
userWeixinDTO
);
MemberDTO
_memberDTO
=
this
.
memberService
.
findById
(
_userWeixinDTO
.
getMemberId
());
...
...
src/main/java/com/topdraw/mq/consumer/UcEventBusIptv2ManagementUcEngine.java
View file @
2bf41a4
...
...
@@ -34,6 +34,7 @@ import org.springframework.stereotype.Component;
import
java.io.IOException
;
import
java.text.ParseException
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.*
;
@Component
...
...
@@ -108,7 +109,7 @@ public class UcEventBusIptv2ManagementUcEngine {
*/
private
void
parseContent
(
String
content
)
throws
ParseException
{
CommonMsg
commonMsg
=
JSONUtil
.
parseMsg2Object
(
content
,
CommonMsg
.
class
);
PlayContent
commonMsg
=
JSONUtil
.
parseMsg2Object
(
content
,
PlayContent
.
class
);
String
evt
=
commonMsg
.
getEvt
();
switch
(
evt
.
toUpperCase
())
{
...
...
@@ -116,7 +117,7 @@ public class UcEventBusIptv2ManagementUcEngine {
case
"PLAY"
:
PlayContent
playContent
=
JSONUtil
.
parseMsg2Object
(
content
,
PlayContent
.
class
);
PlayContent
.
MsgData
msgData
=
playContent
.
getMsg
Data
();
PlayContent
.
MsgData
msgData
=
playContent
.
getMsg
();
if
(
Objects
.
nonNull
(
msgData
))
{
String
time
=
playContent
.
getTime
();
String
formatDate
=
DateUtil
.
formatDate
(
time
);
...
...
@@ -127,10 +128,13 @@ public class UcEventBusIptv2ManagementUcEngine {
Long
mediaId
=
msgData
.
getMediaId
();
String
mediaName
=
msgData
.
getMediaName
();
Integer
playDuration
=
msgData
.
getPlayDuration
();
if
(
Objects
.
isNull
(
playDuration
)
||
playDuration
==
0
)
{
return
;
}
log
.
info
(
"playDuration ==>> {}"
,
playDuration
);
DataSyncMsg
dataSyncMsg
=
new
DataSyncMsg
();
dataSyncMsg
.
setEv
entType
(
evt
);
dataSyncMsg
.
setEv
t
(
evt
);
DataSyncMsg
.
MsgData
msg
=
new
DataSyncMsg
.
MsgData
();
Integer
playDurationValueTotal
=
0
;
...
...
@@ -164,18 +168,13 @@ public class UcEventBusIptv2ManagementUcEngine {
Integer
totalKey
=
this
.
getRedisTotalKey
(
hmget
);
Integer
maxSize
=
totalKey
+
1
;
// DataSyncMsg dataSyncMsg1 =
this
.
checkTask
(
playDurationValueTotal
,
time
,
deviceType
,
mediaCode
,
mediaId
,
mediaName
,
dataSyncMsg
,
msg
,
userTvDTO
);
// if (Objects.nonNull(dataSyncMsg1)) {
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
String
.
valueOf
(
maxSize
),
playDuration
);
map
.
put
(
"total"
,
playDurationValueTotal
);
this
.
redisUtils
.
hmset
(
key
,
map
);
this
.
checkTask
(
playDurationValueTotal
,
time
,
deviceType
,
mediaCode
,
mediaId
,
mediaName
,
dataSyncMsg
,
msg
,
userTvDTO
);
// }
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
String
.
valueOf
(
maxSize
),
playDuration
);
map
.
put
(
"total"
,
playDurationValueTotal
);
this
.
redisUtils
.
hmset
(
key
,
map
);
}
}
...
...
@@ -235,7 +234,10 @@ public class UcEventBusIptv2ManagementUcEngine {
if
(
playDurationValueTotal
>=
integer
)
{
dataSyncMsg1
=
getDataSyncMsg
(
time
,
deviceType
,
mediaCode
,
mediaId
,
mediaName
,
integer
,
dataSyncMsg
,
msgData
,
userTvDTO
);
dataSyncMsg1
.
setEvt
(
"PLAY"
);
dataSyncMsg1
.
setEvent
(
8
);
dataSyncMsg1
.
setTime
(
LocalDateTime
.
now
());
dataSyncMsg1
.
setDeviceType
(
1
);
this
.
taskDeal
(
dataSyncMsg1
);
}
...
...
@@ -291,8 +293,8 @@ public class UcEventBusIptv2ManagementUcEngine {
msgData1
.
setMemberCode
(
memberCode
);
msgData1
.
setEvent
(
8
);
msgData1
.
setDeviceType
(
deviceType
);
//
msgData1.setEvent(8);
//
msgData1.setDeviceType(deviceType);
msgData1
.
setMediaId
(
mediaId
);
JSONObject
param
=
new
JSONObject
();
...
...
@@ -322,9 +324,10 @@ public class UcEventBusIptv2ManagementUcEngine {
@Data
static
class
PlayContent
{
private
String
evt
;
private
Integer
event
;
private
Integer
deviceType
;
private
String
time
;
private
MsgData
msg
Data
;
private
MsgData
msg
;
@Data
static
class
MsgData
{
...
...
@@ -335,11 +338,4 @@ public class UcEventBusIptv2ManagementUcEngine {
private
String
mediaName
;
}
}
@Data
static
class
CommonMsg
{
private
String
evt
;
private
Integer
deviceType
;
private
String
time
;
}
}
...
...
src/main/java/com/topdraw/mq/consumer/UcGatewayIptv2IptvConsumer.java
View file @
2bf41a4
...
...
@@ -3,6 +3,10 @@ package com.topdraw.mq.consumer;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.rabbitmq.client.Channel
;
import
com.topdraw.business.module.member.service.MemberService
;
import
com.topdraw.business.module.member.service.dto.MemberDTO
;
import
com.topdraw.business.module.user.iptv.service.UserTvService
;
import
com.topdraw.business.module.user.iptv.service.dto.UserTvDTO
;
import
com.topdraw.mq.domain.DataSyncMsg
;
import
com.topdraw.resttemplate.RestTemplateClient
;
import
com.topdraw.util.FileUtil
;
...
...
@@ -17,6 +21,7 @@ import org.springframework.beans.factory.annotation.Value;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.Assert
;
import
javax.validation.constraints.NotNull
;
import
java.io.IOException
;
import
java.time.LocalDate
;
import
java.util.Map
;
...
...
@@ -32,6 +37,11 @@ public class UcGatewayIptv2IptvConsumer {
@Autowired
AutoRoute
autoUser
;
@Autowired
private
MemberService
memberService
;
@Autowired
private
UserTvService
userTvService
;
@Value
(
"#{rabbitMqErrorLogConfig.getUcgError()}"
)
private
Map
<
String
,
String
>
error
;
...
...
@@ -86,6 +96,27 @@ public class UcGatewayIptv2IptvConsumer {
DataSyncMsg
dataSyncMsg
=
JSONUtil
.
parseMsg2Object
(
content
,
DataSyncMsg
.
class
);
Assert
.
notNull
(
dataSyncMsg
,
"ERROR -->> operationConsumer -->> parseContent -->> 【dataSyncMsg】 not be null !!"
);
DataSyncMsg
.
MsgData
msgData
=
dataSyncMsg
.
getMsg
();
Long
memberId
=
msgData
.
getMemberId
();
String
memberCode
=
msgData
.
getMemberCode
();
if
(
Objects
.
nonNull
(
memberId
)
&&
StringUtils
.
isBlank
(
memberCode
))
{
MemberDTO
memberDTO
=
this
.
memberService
.
findById
(
memberId
);
String
code
=
memberDTO
.
getCode
();
msgData
.
setMemberCode
(
code
);
}
String
platformAccount
=
msgData
.
getPlatformAccount
();
if
(
StringUtils
.
isNotBlank
(
platformAccount
))
{
UserTvDTO
userTvDTO
=
userTvService
.
findByPlatformAccount
(
platformAccount
);
if
(
Objects
.
nonNull
(
userTvDTO
))
{
String
priorityMemberCode
=
userTvDTO
.
getPriorityMemberCode
();
if
(
StringUtils
.
isNotBlank
(
priorityMemberCode
))
{
msgData
.
setMemberCode
(
priorityMemberCode
);
}
else
{
MemberDTO
memberDTO
=
this
.
memberService
.
findById
(
userTvDTO
.
getMemberId
());
msgData
.
setMemberCode
(
memberDTO
.
getCode
());
}
}
}
Assert
.
notNull
(
msgData
,
"ERROR -->> operationConsumer -->> parseContent -->> 【msgData】 not be null !!"
);
return
dataSyncMsg
;
}
...
...
src/main/java/com/topdraw/mq/domain/DataSyncMsg.java
View file @
2bf41a4
...
...
@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
/**
*
...
...
@@ -15,21 +16,18 @@ import java.io.Serializable;
@NoArgsConstructor
public
class
DataSyncMsg
implements
Serializable
{
// 实体类型(表示需要修改的数据模型)
// @NotNull
// private EntityType entityType;
// 事件类型(用户的实际操作)
@NotNull
private
String
eventType
;
private
String
evt
;
// 具体事件 行为事件类型 1:登录;2:观影;3:参与活动;4:订购;10:跨屏绑定;11:积分转移;30:积分兑换商品;98:系统操作;99:其他
private
Integer
event
;
//设备类型 1:大屏;2:小屏(微信)3.小屏(xx)
@NotNull
private
Integer
deviceType
;
// 发送时间
private
LocalDateTime
time
;
// 消息体
private
MsgData
msg
;
// 其他属性
private
String
extraData
;
/**
* 消息体
*/
...
...
@@ -37,23 +35,16 @@ public class DataSyncMsg implements Serializable {
@AllArgsConstructor
@NoArgsConstructor
public
static
class
MsgData
{
private
String
remarks
;
//备注
@NotNull
private
Integer
event
;
// 具体事件 行为事件类型 1:登录;2:观影;3:参与活动;4:订购;10:跨屏绑定;11:积分转移;30:积分兑换商品;98:系统操作;99:其他
@NotNull
private
Long
memberId
;
// 会员id
@NotNull
private
Integer
deviceType
;
//设备类型 1:大屏;2:小屏(微信)3.小屏(xx)
@NotNull
private
String
appCode
;
//用户对应的应用code
private
String
memberCode
;
private
Long
accountId
;
// 账号id
private
Long
orderId
;
private
Long
activityId
;
private
Long
mediaId
;
private
Long
itemId
;
private
String
param
;
private
String
description
;
private
String
param
;
private
String
platformAccount
;
}
}
...
...
Please
register
or
sign in
to post a comment