记得上下班打卡 | 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
e8ee46e4
Commit
e8ee46e4
authored
Sep 22, 2021
by
anjiabin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交chime社交相关
parent
3794d2d6
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
68 additions
and
12 deletions
+68
-12
ChimeUserBiz.java
...in/java/com/liquidnet/service/chime/biz/ChimeUserBiz.java
+48
-0
DataUtils.java
...ain/java/com/liquidnet/service/chime/utils/DataUtils.java
+20
-12
No files found.
liquidnet-bus-service/liquidnet-service-chime/liquidnet-service-chime-impl/src/main/java/com/liquidnet/service/chime/biz/ChimeUserBiz.java
View file @
e8ee46e4
...
@@ -4,6 +4,7 @@ import com.fasterxml.jackson.core.JsonProcessingException;
...
@@ -4,6 +4,7 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.liquidnet.commons.lang.util.BeanUtil
;
import
com.liquidnet.commons.lang.util.BeanUtil
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.commons.lang.util.StringUtil
;
import
com.liquidnet.commons.lang.util.StringUtil
;
import
com.liquidnet.service.adam.dto.rsc.AdamChimeUinfoDto
;
import
com.liquidnet.service.adam.dto.rsc.AdamChimeUinfoDto
;
import
com.liquidnet.service.adam.dto.rsc.AdamChimeUinfoReq
;
import
com.liquidnet.service.adam.dto.rsc.AdamChimeUinfoReq
;
...
@@ -15,6 +16,7 @@ import com.liquidnet.service.chime.dto.PerformanceDto;
...
@@ -15,6 +16,7 @@ import com.liquidnet.service.chime.dto.PerformanceDto;
import
com.liquidnet.service.chime.utils.DataUtils
;
import
com.liquidnet.service.chime.utils.DataUtils
;
import
com.liquidnet.service.chime.utils.ObjectUtil
;
import
com.liquidnet.service.chime.utils.ObjectUtil
;
import
com.liquidnet.service.chime.utils.RedisDataUtil
;
import
com.liquidnet.service.chime.utils.RedisDataUtil
;
import
com.liquidnet.service.chime.vo.mongo.ChimeUserInfoVo
;
import
com.liquidnet.service.chime.vo.mongo.ChimeUserTagsMappingVo
;
import
com.liquidnet.service.chime.vo.mongo.ChimeUserTagsMappingVo
;
import
com.liquidnet.service.feign.adam.api.FeignAdamBaseClient
;
import
com.liquidnet.service.feign.adam.api.FeignAdamBaseClient
;
import
com.liquidnet.service.feign.kylin.api.FeignKylinForChimeClient
;
import
com.liquidnet.service.feign.kylin.api.FeignKylinForChimeClient
;
...
@@ -22,6 +24,11 @@ import com.liquidnet.service.kylin.constant.KylinPerformanceStatusEnum;
...
@@ -22,6 +24,11 @@ import com.liquidnet.service.kylin.constant.KylinPerformanceStatusEnum;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo
;
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.data.domain.PageRequest
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
...
@@ -52,6 +59,9 @@ public class ChimeUserBiz {
...
@@ -52,6 +59,9 @@ public class ChimeUserBiz {
@Autowired
@Autowired
private
FeignAdamBaseClient
feignAdamBaseClient
;
private
FeignAdamBaseClient
feignAdamBaseClient
;
@Autowired
private
MongoTemplate
mongoTemplate
;
/**
/**
* Json转换list
* Json转换list
* @param tags
* @param tags
...
@@ -276,4 +286,42 @@ public class ChimeUserBiz {
...
@@ -276,4 +286,42 @@ public class ChimeUserBiz {
}
}
return
userTagDtoList
;
return
userTagDtoList
;
}
}
/**
* 根据演出id获取用户信息
* @param performanceId
* @return
*/
public
List
<
String
>
getAvatarImgList
(
String
performanceId
){
//根据演出id获取用户信息 只查询5条
List
<
String
>
userIdList
=
new
ArrayList
<>();
//获取总数
Criteria
criteria
=
Criteria
.
where
(
"joinPerformanceId"
).
is
(
performanceId
);
//过滤本人 获取当前用户id
String
userId
=
CurrentUtil
.
getCurrentUid
();
if
(
StringUtil
.
isNotEmpty
(
userId
)){
criteria
=
criteria
.
and
(
"userId"
).
ne
(
userId
);
}
// 每页五个
Pageable
pageable
=
PageRequest
.
of
(
0
,
5
);
Query
query
=
Query
.
query
(
criteria
);
query
.
with
(
pageable
);
long
startTime
=
System
.
currentTimeMillis
();
List
<
ChimeUserInfoVo
>
chimeUserInfoVoList
=
mongoTemplate
.
find
(
query
,
ChimeUserInfoVo
.
class
,
ChimeUserInfoVo
.
class
.
getSimpleName
());
long
endTime
=
System
.
currentTimeMillis
();
log
.
info
(
"getAvatarImgList 获取演出列表头像 耗时:{}ms"
,
endTime
-
startTime
);
//根据用户id获取头像信息
List
<
String
>
avatarImgList
=
new
ArrayList
<>();
if
(
StringUtil
.
isNotNull
(
chimeUserInfoVoList
)){
userIdList
=
chimeUserInfoVoList
.
stream
().
map
(
ChimeUserInfoVo:
:
getUserId
).
collect
(
Collectors
.
toList
());
}
List
<
AdamChimeUinfoDto
>
adamChimeUinfoDtoList
=
this
.
getAdamUserInfoDtoList
(
userIdList
);
if
(
StringUtil
.
isNotNull
(
adamChimeUinfoDtoList
)){
avatarImgList
=
adamChimeUinfoDtoList
.
stream
().
map
(
AdamChimeUinfoDto:
:
getAvatar
).
collect
(
Collectors
.
toList
());
}
return
avatarImgList
;
}
}
}
liquidnet-bus-service/liquidnet-service-chime/liquidnet-service-chime-impl/src/main/java/com/liquidnet/service/chime/utils/DataUtils.java
View file @
e8ee46e4
package
com
.
liquidnet
.
service
.
chime
.
utils
;
package
com
.
liquidnet
.
service
.
chime
.
utils
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.commons.lang.util.StringUtil
;
import
com.liquidnet.service.adam.dto.rsc.AdamChimeUinfoDto
;
import
com.liquidnet.service.chime.biz.ChimeUserBiz
;
import
com.liquidnet.service.chime.biz.ChimeUserBiz
;
import
com.liquidnet.service.chime.constant.ChimeConstant
;
import
com.liquidnet.service.chime.constant.ChimeConstant
;
import
com.liquidnet.service.chime.dto.ChimeJoinUserCountDto
;
import
com.liquidnet.service.chime.dto.ChimeJoinUserCountDto
;
...
@@ -23,7 +21,6 @@ import org.springframework.stereotype.Component;
...
@@ -23,7 +21,6 @@ import org.springframework.stereotype.Component;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Collection
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Slf4j
@Slf4j
@Component
@Component
...
@@ -108,20 +105,35 @@ public class DataUtils {
...
@@ -108,20 +105,35 @@ public class DataUtils {
* @return
* @return
*/
*/
public
List
<
ChimeJoinUserCountDto
>
getJoinUserCountList
(
List
<
String
>
performanceIdList
){
public
List
<
ChimeJoinUserCountDto
>
getJoinUserCountList
(
List
<
String
>
performanceIdList
){
// Aggregation agg = Aggregation.newAggregation(
// // 挑选所需的字段,类似select *,*所代表的字段内容
// Aggregation.project("joinPerformanceId","userId"),
// // sql where 语句筛选符合条件的记录
// Aggregation.match(Criteria.where("joinPerformanceId").in(performanceIdList)),
// // 分组条件,设置分组字段
// Aggregation.group("joinPerformanceId")
// .first("joinPerformanceId").as("joinPerformanceId")
// .addToSet("userId").as("userIdArray")
// .count().as("totalCount"),
// // 排序(根据某字段排序 倒序)
//// Aggregation.sort(Sort.Direction.DESC,"startDate"),
// // 重新挑选字段
// Aggregation.project("joinPerformanceId","totalCount","userIdArray")
// );
//以下查询不合并
Aggregation
agg
=
Aggregation
.
newAggregation
(
Aggregation
agg
=
Aggregation
.
newAggregation
(
// 挑选所需的字段,类似select *,*所代表的字段内容
// 挑选所需的字段,类似select *,*所代表的字段内容
Aggregation
.
project
(
"joinPerformanceId"
,
"userId"
),
Aggregation
.
project
(
"joinPerformanceId"
),
// sql where 语句筛选符合条件的记录
// sql where 语句筛选符合条件的记录
Aggregation
.
match
(
Criteria
.
where
(
"joinPerformanceId"
).
in
(
performanceIdList
)),
Aggregation
.
match
(
Criteria
.
where
(
"joinPerformanceId"
).
in
(
performanceIdList
)),
// 分组条件,设置分组字段
// 分组条件,设置分组字段
Aggregation
.
group
(
"joinPerformanceId"
)
Aggregation
.
group
(
"joinPerformanceId"
)
.
first
(
"joinPerformanceId"
).
as
(
"joinPerformanceId"
)
.
first
(
"joinPerformanceId"
).
as
(
"joinPerformanceId"
)
.
addToSet
(
"userId"
).
as
(
"userIdArray"
)
.
count
().
as
(
"totalCount"
),
.
count
().
as
(
"totalCount"
),
// 排序(根据某字段排序 倒序)
// 排序(根据某字段排序 倒序)
// Aggregation.sort(Sort.Direction.DESC,"startDate"),
// Aggregation.sort(Sort.Direction.DESC,"startDate"),
// 重新挑选字段
// 重新挑选字段
Aggregation
.
project
(
"joinPerformanceId"
,
"totalCount"
,
"userIdArray"
)
Aggregation
.
project
(
"joinPerformanceId"
,
"totalCount"
)
);
);
AggregationResults
<
Document
>
results
=
mongoTemplate
.
aggregate
(
agg
,
ChimeUserInfoVo
.
class
.
getSimpleName
(),
Document
.
class
);
AggregationResults
<
Document
>
results
=
mongoTemplate
.
aggregate
(
agg
,
ChimeUserInfoVo
.
class
.
getSimpleName
(),
Document
.
class
);
...
@@ -133,12 +145,8 @@ public class DataUtils {
...
@@ -133,12 +145,8 @@ public class DataUtils {
ChimeJoinUserCountDto
dto
=
ChimeJoinUserCountDto
.
getNew
();
ChimeJoinUserCountDto
dto
=
ChimeJoinUserCountDto
.
getNew
();
dto
.
setPerformancesId
(
document
.
getString
(
"joinPerformanceId"
));
dto
.
setPerformancesId
(
document
.
getString
(
"joinPerformanceId"
));
dto
.
setCount
(
document
.
getInteger
(
"totalCount"
));
dto
.
setCount
(
document
.
getInteger
(
"totalCount"
));
List
<
String
>
ppl2
=
document
.
getList
(
"userIdArray"
,
String
.
class
);
// List<String> ppl2 = document.getList("userIdArray",String.class);
//根据userId获取用户头像
dto
.
setAvatarImgList
(
chimeUserBiz
.
getAvatarImgList
(
dto
.
getPerformancesId
()));
List
<
AdamChimeUinfoDto
>
adamChimeUinfoDtoList
=
chimeUserBiz
.
getAdamUserInfoDtoList
(
ppl2
);
if
(
StringUtil
.
isNotNull
(
adamChimeUinfoDtoList
)){
dto
.
setAvatarImgList
(
adamChimeUinfoDtoList
.
stream
().
map
(
AdamChimeUinfoDto:
:
getAvatar
).
collect
(
Collectors
.
toList
()));
}
joinUserCountDtoList
.
add
(
dto
);
joinUserCountDtoList
.
add
(
dto
);
});
});
log
.
debug
(
"排序后的code列表2:[{}]"
,
results
);
log
.
debug
(
"排序后的code列表2:[{}]"
,
results
);
...
...
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