Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
midjourney-proxy
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
徐少华
midjourney-proxy
Commits
847d9e2d
Commit
847d9e2d
authored
Mar 11, 2020
by
zhuyajie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
接口优化
parent
c3c55647
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
64 additions
and
10 deletions
+64
-10
ReadingActivityBizImpl.java
.../pcloud/book/reading/biz/impl/ReadingActivityBizImpl.java
+44
-10
ReadingActivityDao.java
.../java/com/pcloud/book/reading/dao/ReadingActivityDao.java
+8
-0
ReadingActivityDaoImpl.java
.../pcloud/book/reading/dao/impl/ReadingActivityDaoImpl.java
+6
-0
ReadingActivityMapper.xml
...c/main/resources/mapper/reading/ReadingActivityMapper.xml
+6
-0
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/reading/biz/impl/ReadingActivityBizImpl.java
View file @
847d9e2d
...
...
@@ -66,13 +66,7 @@ import org.springframework.beans.factory.annotation.Value;
import
org.springframework.stereotype.Component
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.Set
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -129,6 +123,10 @@ public class ReadingActivityBizImpl implements ReadingActivityBiz{
* 读书活动进群的欢迎语
*/
private
static
final
String
ACTIVITY_USER_JOIN_GROUP_GUIDE
=
"BOOK:ACTIVITY_USER_JOIN_GROUP_GUIDE"
;
/**
* 活动关联书刊
*/
private
static
final
String
ACTIVITY_USER_BOOK
=
"BOOK:READING_ACTIVITY:USER_BOOK"
;
@ParamLog
(
"[receiveMoney]"
)
@Transactional
(
rollbackFor
=
{
Exception
.
class
})
...
...
@@ -1009,8 +1007,16 @@ public class ReadingActivityBizImpl implements ReadingActivityBiz{
}
Map
<
Long
,
AdvertisingBrand
>
brandMap
=
advertisingBrandDao
.
getMapByIds
(
brandIds
);
List
<
ActivityUserCountDTO
>
userCountDTOS
=
readingUserDao
.
getUserCountsByActivityIds
(
activityIds
);
List
<
ActivityUserBookDTO
>
userBookDTOS
=
readingUserDao
.
getBooksByActivityIds
(
activityIds
);
Map
<
Long
,
List
<
ActivityUserBookDTO
>>
userBookDTOSMap
=
userBookDTOS
.
stream
().
collect
(
Collectors
.
groupingBy
(
ActivityUserBookDTO:
:
getActivityId
));
//书刊缓存
Boolean
exist
=
JedisClusterUtils
.
exists
(
ACTIVITY_USER_BOOK
);
Map
<
Long
,
List
<
ActivityUserBookDTO
>>
userBookDTOSMap
=
new
HashMap
<>();
if
(!
exist
){
ThreadPoolUtils
.
OTHER_THREAD_POOL
.
execute
(()->{
this
.
setReadingActivityRedis
();
});
List
<
ActivityUserBookDTO
>
userBookDTOS
=
readingUserDao
.
getBooksByActivityIds
(
activityIds
);
userBookDTOSMap
=
userBookDTOS
.
stream
().
collect
(
Collectors
.
groupingBy
(
ActivityUserBookDTO:
:
getActivityId
));
}
Map
<
Long
,
Integer
>
userCountMap
=
new
HashMap
<>();
for
(
ActivityUserCountDTO
activityUserCountDTO
:
userCountDTOS
)
{
userCountMap
.
put
(
activityUserCountDTO
.
getActivityId
(),
activityUserCountDTO
.
getCount
());
...
...
@@ -1021,7 +1027,17 @@ public class ReadingActivityBizImpl implements ReadingActivityBiz{
readingActivityDTO
.
setBrandName
(
advertisingBrand
.
getBrandName
());
}
readingActivityDTO
.
setUserCount
(
userCountMap
.
get
(
readingActivityDTO
.
getId
()));
readingActivityDTO
.
setActivityUserBookDTOS
(
userBookDTOSMap
.
get
(
readingActivityDTO
.
getId
()));
List
<
ActivityUserBookDTO
>
bookDTOS
;
if
(!
exist
){
bookDTOS
=
userBookDTOSMap
.
get
(
readingActivityDTO
.
getId
());
}
else
{
bookDTOS
=
JedisClusterUtils
.
hgetJson2List
(
ACTIVITY_USER_BOOK
,
readingActivityDTO
.
getId
().
toString
(),
ActivityUserBookDTO
.
class
);
}
if
(
ListUtils
.
isEmpty
(
bookDTOS
)){
bookDTOS
=
readingUserDao
.
getBooksByActivityIds
(
Arrays
.
asList
(
readingActivityDTO
.
getId
()));
JedisClusterUtils
.
hset2Json
(
ACTIVITY_USER_BOOK
,
readingActivityDTO
.
getId
().
toString
(),
bookDTOS
);
}
readingActivityDTO
.
setActivityUserBookDTOS
(
bookDTOS
);
}
}
return
page
;
...
...
@@ -1176,4 +1192,22 @@ public class ReadingActivityBizImpl implements ReadingActivityBiz{
return
0L
;
}
}
/**
* 添加书刊缓存
*/
public
void
setReadingActivityRedis
()
{
List
<
Long
>
activityIds
=
readingActivityDao
.
getAllActivityIds
();
if
(
ListUtils
.
isEmpty
(
activityIds
)){
return
;
}
List
<
ActivityUserBookDTO
>
userBookDTOS
=
readingUserDao
.
getBooksByActivityIds
(
activityIds
);
if
(
ListUtils
.
isEmpty
(
userBookDTOS
)){
return
;
}
Map
<
Long
,
List
<
ActivityUserBookDTO
>>
userBookDTOSMap
=
userBookDTOS
.
stream
().
collect
(
Collectors
.
groupingBy
(
ActivityUserBookDTO:
:
getActivityId
));
for
(
Map
.
Entry
<
Long
,
List
<
ActivityUserBookDTO
>>
entrySet:
userBookDTOSMap
.
entrySet
()){
JedisClusterUtils
.
hset2Json
(
ACTIVITY_USER_BOOK
,
entrySet
.
getKey
().
toString
(),
entrySet
.
getValue
());
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/reading/dao/ReadingActivityDao.java
View file @
847d9e2d
...
...
@@ -3,6 +3,8 @@ package com.pcloud.book.reading.dao;
import
com.pcloud.book.reading.entity.ReadingActivity
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.List
;
/**
* @描述:共读活动基本设置
* @作者:zhuyajie
...
...
@@ -43,4 +45,10 @@ public interface ReadingActivityDao extends BaseDao<ReadingActivity> {
* @return
*/
ReadingActivity
getJoinActivityByKeyword
(
String
altId
,
String
wxUserId
,
String
text
);
/**
* 获取所有活动id
* @return
*/
List
<
Long
>
getAllActivityIds
();
}
pcloud-service-book/src/main/java/com/pcloud/book/reading/dao/impl/ReadingActivityDaoImpl.java
View file @
847d9e2d
...
...
@@ -7,6 +7,7 @@ import com.pcloud.common.core.dao.BaseDaoImpl;
import
org.springframework.stereotype.Component
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
...
...
@@ -49,4 +50,9 @@ public class ReadingActivityDaoImpl extends BaseDaoImpl<ReadingActivity> impleme
return
getSessionTemplate
().
selectOne
(
getStatement
(
"getJoinActivityByKeyword"
),
map
);
}
@Override
public
List
<
Long
>
getAllActivityIds
()
{
return
getSessionTemplate
().
selectList
(
getStatement
(
"getAllActivityIds"
));
}
}
pcloud-service-book/src/main/resources/mapper/reading/ReadingActivityMapper.xml
View file @
847d9e2d
...
...
@@ -234,4 +234,9 @@
create_time DESC
LIMIT 1
</select>
<select
id=
"getAllActivityIds"
resultType=
"long"
>
SELECT DISTINCT id FROM reading_activity
</select>
</mapper>
\ 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