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
8a7413a2
Commit
8a7413a2
authored
Aug 28, 2020
by
田超
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/guanpei' into 'master'
feat: [none] 馆配书 See merge request rays/pcloud-book!928
parents
5f570906
b2c07c37
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
368 additions
and
19 deletions
+368
-19
AppletBooklistBiz.java
...in/java/com/pcloud/book/applet/biz/AppletBooklistBiz.java
+19
-1
AppletBooklistBizImpl.java
...om/pcloud/book/applet/biz/impl/AppletBooklistBizImpl.java
+180
-7
AppletBooklistDao.java
...in/java/com/pcloud/book/applet/dao/AppletBooklistDao.java
+12
-0
AppletBooklistDaoImpl.java
...om/pcloud/book/applet/dao/impl/AppletBooklistDaoImpl.java
+13
-0
AppletBooklistDTO.java
...in/java/com/pcloud/book/applet/dto/AppletBooklistDTO.java
+18
-0
BookDTO4Booklist.java
...ain/java/com/pcloud/book/applet/dto/BookDTO4Booklist.java
+2
-0
AppletBooklist.java
...in/java/com/pcloud/book/applet/entity/AppletBooklist.java
+11
-2
AppletHomeFacade.java
.../java/com/pcloud/book/applet/facade/AppletHomeFacade.java
+31
-4
AssistTempletConsr.java
...java/com/pcloud/book/consumer/app/AssistTempletConsr.java
+12
-0
AppletBooklist.xml
...-book/src/main/resources/mapper/applet/AppletBooklist.xml
+70
-5
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/AppletBooklistBiz.java
View file @
8a7413a2
...
@@ -74,7 +74,8 @@ public interface AppletBooklistBiz {
...
@@ -74,7 +74,8 @@ public interface AppletBooklistBiz {
* @param numPerPage
* @param numPerPage
* @return
* @return
*/
*/
PageBeanNew
<
AppletBooklistDTO
>
listBooklist
(
Integer
currentPage
,
Integer
numPerPage
,
String
name
,
Long
classifyId
,
Long
agentId
);
PageBeanNew
<
AppletBooklistDTO
>
listBooklist
(
Integer
currentPage
,
Integer
numPerPage
,
String
name
,
Long
classifyId
,
Long
agentId
,
Long
firstClassify
,
Long
secondClassify
,
Long
gradeLabelId
,
Long
subjectLabelId
);
/**
/**
* 书单添加图书
* 书单添加图书
...
@@ -263,4 +264,21 @@ public interface AppletBooklistBiz {
...
@@ -263,4 +264,21 @@ public interface AppletBooklistBiz {
* * @param null
* * @param null
*/
*/
PageBeanNew
<
AppletOuterBookDTO
>
listPageOuterBookByBooklistId
(
Integer
currentPage
,
Integer
numPerPage
,
Long
booklistId
);
PageBeanNew
<
AppletOuterBookDTO
>
listPageOuterBookByBooklistId
(
Integer
currentPage
,
Integer
numPerPage
,
Long
booklistId
);
/**
* 根据书刊查询推荐书单列表
* @author:zhuyajie
* @date:2020/8/10 10:24
* * @param null
*/
List
<
AppletBooklistDTO
>
getRecommendBooklistByBook
(
Long
bookId
,
Long
adviserId
,
Long
channelId
);
/**
* 根据书刊分类自动创建书单
* @author:zhuyajie
* @date:2020/8/28 19:22
* * @param null
*/
void
autoCreateBooklistByTemplet
(
Long
firstClassify
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/impl/AppletBooklistBizImpl.java
View file @
8a7413a2
...
@@ -22,13 +22,21 @@ import com.pcloud.book.applet.entity.AppletBooklistClassifyUser;
...
@@ -22,13 +22,21 @@ import com.pcloud.book.applet.entity.AppletBooklistClassifyUser;
import
com.pcloud.book.applet.entity.AppletOuterBook
;
import
com.pcloud.book.applet.entity.AppletOuterBook
;
import
com.pcloud.book.applet.entity.AppletOuterBooklist
;
import
com.pcloud.book.applet.entity.AppletOuterBooklist
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.book.biz.BookBiz
;
import
com.pcloud.book.book.biz.BookAdviserBiz
;
import
com.pcloud.book.book.dao.BookRaysClassifyDao
;
import
com.pcloud.book.book.dao.BookLabelDao
;
import
com.pcloud.book.book.dto.BookAdviserDto
;
import
com.pcloud.book.book.entity.BookLabel
;
import
com.pcloud.book.consumer.app.AssistTempletConsr
;
import
com.pcloud.book.consumer.app.AssistTempletConsr
;
import
com.pcloud.book.consumer.user.AdviserConsr
;
import
com.pcloud.book.consumer.user.AdviserConsr
;
import
com.pcloud.book.consumer.user.ChannelConsr
;
import
com.pcloud.book.consumer.user.ChannelConsr
;
import
com.pcloud.book.util.properties.BookProps
;
import
com.pcloud.book.util.properties.BookProps
;
import
com.pcloud.channelcenter.wechat.entity.AccountSetting
;
import
com.pcloud.channelcenter.wechat.entity.AccountSetting
;
import
com.pcloud.book.es.biz.ESBookAndAdviserBiz
;
import
com.pcloud.book.es.entity.ESBookAndAdviser
;
import
com.pcloud.book.rightsSetting.biz.RightsSettingBiz
;
import
com.pcloud.book.rightsSetting.constants.RightsSettingConstant
;
import
com.pcloud.book.rightsSetting.entity.BaseTempletClassify
;
import
com.pcloud.book.util.properties.BookProps
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.ListUtils
;
...
@@ -38,8 +46,10 @@ import com.pcloud.common.utils.string.StringUtil;
...
@@ -38,8 +46,10 @@ import com.pcloud.common.utils.string.StringUtil;
import
com.pcloud.usercenter.party.adviser.dto.AdviserBaseInfoDto
;
import
com.pcloud.usercenter.party.adviser.dto.AdviserBaseInfoDto
;
import
org.apache.commons.collections.MapUtils
;
import
org.apache.commons.collections.MapUtils
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Page
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
...
@@ -67,15 +77,19 @@ public class AppletBooklistBizImpl implements AppletBooklistBiz {
...
@@ -67,15 +77,19 @@ public class AppletBooklistBizImpl implements AppletBooklistBiz {
@Autowired
@Autowired
private
AssistTempletConsr
assistTempletConsr
;
private
AssistTempletConsr
assistTempletConsr
;
@Autowired
@Autowired
private
BookBiz
bookBiz
;
private
RightsSettingBiz
rightsSettingBiz
;
@Autowired
private
BookRaysClassifyDao
bookRaysClassifyDao
;
@Autowired
@Autowired
private
AppletNewsBiz
appletNewsBiz
;
private
AppletNewsBiz
appletNewsBiz
;
@Autowired
@Autowired
private
AppletOuterBookDao
appletOuterBookDao
;
private
AppletOuterBookDao
appletOuterBookDao
;
@Autowired
@Autowired
private
AppletOuterBooklistDao
appletOuterBooklistDao
;
private
AppletOuterBooklistDao
appletOuterBooklistDao
;
@Autowired
private
BookLabelDao
bookLabelDao
;
@Autowired
private
BookAdviserBiz
bookAdviserBiz
;
@Autowired
private
ESBookAndAdviserBiz
esBookAndAdviserBiz
;
@Override
@Override
...
@@ -138,6 +152,7 @@ public class AppletBooklistBizImpl implements AppletBooklistBiz {
...
@@ -138,6 +152,7 @@ public class AppletBooklistBizImpl implements AppletBooklistBiz {
if
(
null
==
appletBooklist
.
getId
()){
if
(
null
==
appletBooklist
.
getId
()){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少id"
);
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少id"
);
}
}
rightsSettingBiz
.
setClassifyAndLabel
(
appletBooklist
);
appletBooklistDao
.
update
(
appletBooklist
);
appletBooklistDao
.
update
(
appletBooklist
);
}
}
...
@@ -152,27 +167,81 @@ public class AppletBooklistBizImpl implements AppletBooklistBiz {
...
@@ -152,27 +167,81 @@ public class AppletBooklistBizImpl implements AppletBooklistBiz {
}
}
@Override
@Override
public
PageBeanNew
<
AppletBooklistDTO
>
listBooklist
(
Integer
currentPage
,
Integer
numPerPage
,
String
name
,
Long
classifyId
,
Long
agentId
)
{
public
PageBeanNew
<
AppletBooklistDTO
>
listBooklist
(
Integer
currentPage
,
Integer
numPerPage
,
String
name
,
Long
classifyId
,
Long
agentId
,
Long
firstClassify
,
Long
secondClassify
,
Long
gradeLabelId
,
Long
subjectLabelId
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"name"
,
name
);
paramMap
.
put
(
"name"
,
name
);
paramMap
.
put
(
"classifyId"
,
classifyId
);
paramMap
.
put
(
"classifyId"
,
classifyId
);
paramMap
.
put
(
"agentId"
,
agentId
);
paramMap
.
put
(
"agentId"
,
agentId
);
if
(
null
!=
firstClassify
){
BaseTempletClassify
classify
=
new
BaseTempletClassify
();
classify
.
setFirstClassify
(
firstClassify
);
classify
.
setSecondClassify
(
secondClassify
);
classify
.
setGradeLabelId
(
gradeLabelId
);
classify
.
setSubjectLabelId
(
subjectLabelId
);
rightsSettingBiz
.
setClassifyAndLabel
(
classify
);
paramMap
.
put
(
"firstClassify"
,
classify
.
getFirstClassify
());
paramMap
.
put
(
"secondClassify"
,
classify
.
getSecondClassify
());
paramMap
.
put
(
"gradeLabelId"
,
classify
.
getGradeLabelId
());
paramMap
.
put
(
"subjectLabelId"
,
classify
.
getSubjectLabelId
());
}
else
{
paramMap
.
put
(
"gradeLabelId"
,
gradeLabelId
);
paramMap
.
put
(
"subjectLabelId"
,
subjectLabelId
);
}
PageBeanNew
<
AppletBooklistDTO
>
pageBeanNew
=
appletBooklistDao
.
listPageNew
(
PageBeanNew
<
AppletBooklistDTO
>
pageBeanNew
=
appletBooklistDao
.
listPageNew
(
new
PageParam
(
currentPage
,
numPerPage
),
paramMap
,
"listBooklist"
);
new
PageParam
(
currentPage
,
numPerPage
),
paramMap
,
"listBooklist"
);
if
(
null
==
pageBeanNew
||
ListUtils
.
isEmpty
(
pageBeanNew
.
getRecordList
())){
if
(
null
==
pageBeanNew
||
ListUtils
.
isEmpty
(
pageBeanNew
.
getRecordList
())){
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
0
,
new
ArrayList
<>());
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
0
,
new
ArrayList
<>());
}
}
List
<
Long
>
booklistIds
=
pageBeanNew
.
getRecordList
().
stream
().
filter
(
s
->
s
!=
null
).
map
(
AppletBooklistDTO:
:
getId
).
collect
(
Collectors
.
toList
());
//填充书刊,分类,标签
List
<
Long
>
booklistIds
=
new
ArrayList
<>();
List
<
Long
>
classifyIds
=
new
ArrayList
<>();
List
<
Long
>
labelIds
=
new
ArrayList
<>();
for
(
AppletBooklistDTO
appletBooklistDTO
:
pageBeanNew
.
getRecordList
()){
booklistIds
.
add
(
appletBooklistDTO
.
getId
());
if
(
null
!=
appletBooklistDTO
.
getFirstClassify
()){
classifyIds
.
add
(
appletBooklistDTO
.
getFirstClassify
());
}
if
(
null
!=
appletBooklistDTO
.
getSecondClassify
()){
classifyIds
.
add
(
appletBooklistDTO
.
getSecondClassify
());
}
if
(
null
!=
appletBooklistDTO
.
getGradeLabelId
())
{
labelIds
.
add
(
appletBooklistDTO
.
getGradeLabelId
());
}
if
(
null
!=
appletBooklistDTO
.
getSubjectLabelId
())
{
labelIds
.
add
(
appletBooklistDTO
.
getSubjectLabelId
());
}
}
List
<
BookDTO4Booklist
>
booklists
=
appletBooklistDao
.
getConfigByBooklistIds
(
booklistIds
);
List
<
BookDTO4Booklist
>
booklists
=
appletBooklistDao
.
getConfigByBooklistIds
(
booklistIds
);
Map
<
Long
,
List
<
BookDTO4Booklist
>>
map
=
new
HashMap
<>();
Map
<
Long
,
List
<
BookDTO4Booklist
>>
map
=
new
HashMap
<>();
if
(!
ListUtils
.
isEmpty
(
booklists
)){
if
(!
ListUtils
.
isEmpty
(
booklists
)){
map
=
booklists
.
stream
().
collect
(
Collectors
.
groupingBy
(
BookDTO4Booklist:
:
getBooklistId
));
map
=
booklists
.
stream
().
collect
(
Collectors
.
groupingBy
(
BookDTO4Booklist:
:
getBooklistId
));
}
}
Map
<
Long
,
AssistTempletDTO
>
classifyMap
=
new
HashMap
<>();
Map
<
Long
,
BookLabel
>
labelMap
=
new
HashMap
<>();
if
(!
ListUtils
.
isEmpty
(
classifyIds
)){
classifyMap
=
assistTempletConsr
.
mapByIds4Classify
(
classifyIds
);
}
if
(!
ListUtils
.
isEmpty
(
labelIds
)){
labelMap
=
bookLabelDao
.
getMapByIds
(
labelIds
);
}
for
(
AppletBooklistDTO
booklistDTO:
pageBeanNew
.
getRecordList
()){
for
(
AppletBooklistDTO
booklistDTO:
pageBeanNew
.
getRecordList
()){
if
(!
MapUtils
.
isEmpty
(
map
)
&&
map
.
containsKey
(
booklistDTO
.
getId
())){
if
(!
MapUtils
.
isEmpty
(
map
)
&&
map
.
containsKey
(
booklistDTO
.
getId
())){
List
<
BookDTO4Booklist
>
bookDTO4Booklists
=
map
.
get
(
booklistDTO
.
getId
());
List
<
BookDTO4Booklist
>
bookDTO4Booklists
=
map
.
get
(
booklistDTO
.
getId
());
booklistDTO
.
setBookDTO4Booklists
(
bookDTO4Booklists
);
booklistDTO
.
setBookDTO4Booklists
(
bookDTO4Booklists
);
}
}
if
(!
MapUtils
.
isEmpty
(
classifyMap
)
&&
classifyMap
.
containsKey
(
booklistDTO
.
getFirstClassify
())){
booklistDTO
.
setFirstClassifyContent
(
classifyMap
.
get
(
booklistDTO
.
getFirstClassify
()).
getTempletName
());
}
if
(!
MapUtils
.
isEmpty
(
classifyMap
)
&&
classifyMap
.
containsKey
(
booklistDTO
.
getSecondClassify
())){
booklistDTO
.
setSecondClassifyContent
(
classifyMap
.
get
(
booklistDTO
.
getSecondClassify
()).
getTempletName
());
}
if
(!
MapUtils
.
isEmpty
(
labelMap
)
&&
labelMap
.
containsKey
(
booklistDTO
.
getGradeLabelId
())){
booklistDTO
.
setGradeLabelIdContent
(
labelMap
.
get
(
booklistDTO
.
getGradeLabelId
()).
getName
());
}
if
(!
MapUtils
.
isEmpty
(
labelMap
)
&&
labelMap
.
containsKey
(
booklistDTO
.
getSubjectLabelId
())){
booklistDTO
.
setSubjectLabelIdContent
(
labelMap
.
get
(
booklistDTO
.
getSubjectLabelId
()).
getName
());
}
}
}
return
pageBeanNew
;
return
pageBeanNew
;
}
}
...
@@ -584,4 +653,108 @@ public class AppletBooklistBizImpl implements AppletBooklistBiz {
...
@@ -584,4 +653,108 @@ public class AppletBooklistBizImpl implements AppletBooklistBiz {
}
}
@Override
public
List
<
AppletBooklistDTO
>
getRecommendBooklistByBook
(
Long
bookId
,
Long
adviserId
,
Long
channelId
)
{
BookAdviserDto
bookAdviserDto
;
if
(
channelId
!=
null
&&
channelId
>
0
&&
adviserId
!=
null
&&
adviserId
>
0
){
bookAdviserDto
=
bookAdviserBiz
.
getBase
(
bookId
,
channelId
,
adviserId
);
}
else
{
bookAdviserDto
=
bookAdviserBiz
.
getOneMainBook
(
bookId
);
}
if
(
null
==
bookAdviserDto
){
return
new
ArrayList
<>();
}
BaseTempletClassify
classify
=
new
BaseTempletClassify
();
classify
.
setFirstClassify
(
bookAdviserDto
.
getTempletId
());
classify
.
setSecondClassify
(
bookAdviserDto
.
getSecondTempletId
());
classify
.
setGradeLabelId
(
bookAdviserDto
.
getGraLabelId
());
classify
.
setSubjectLabelId
(
bookAdviserDto
.
getSubLabelId
());
rightsSettingBiz
.
setClassifyAndLabel
(
classify
);
List
<
AppletBooklistDTO
>
list
=
appletBooklistDao
.
getByLabel
(
classify
.
getFirstClassify
(),
classify
.
getSecondClassify
(),
classify
.
getGradeLabelId
(),
classify
.
getSubjectLabelId
(),
3
);
if
(!
ListUtils
.
isEmpty
(
list
)){
//带3本书
for
(
AppletBooklistDTO
booklistDTO
:
list
)
{
Long
booklistId
=
booklistDTO
.
getId
();
String
key
=
AppletConstants
.
BOOKLIST_BOOK
+
booklistId
;
List
<
BookDTO4Booklist
>
bookList
=
JedisClusterUtils
.
getJsonList
(
key
,
BookDTO4Booklist
.
class
);
if
(
ListUtils
.
isEmpty
(
bookList
))
{
bookList
=
appletBooklistDao
.
getBookBaseByBooklistId
(
booklistId
,
0
,
3
);
JedisClusterUtils
.
setJson
(
key
,
bookList
);
JedisClusterUtils
.
expire
(
key
,
3600
);
}
booklistDTO
.
setBookDTO4Booklists
(
bookList
);
}
}
return
list
;
}
@Override
public
void
autoCreateBooklistByTemplet
(
Long
firstClassify
)
{
Boolean
contain4K12
=
false
;
if
(
"test"
.
equals
(
BookProps
.
getSystemEnv
())
&&
ArrayUtils
.
contains
(
RightsSettingConstant
.
K12_TEMPLET_ID_TEST
,
firstClassify
))
{
contain4K12
=
true
;
}
else
if
(!
"test"
.
equals
(
BookProps
.
getSystemEnv
())
&&
ArrayUtils
.
contains
(
RightsSettingConstant
.
K12_TEMPLET_ID
,
firstClassify
))
{
contain4K12
=
true
;
}
//K12
if
(
contain4K12
){
List
<
BookLabel
>
gradeLabelList
=
bookLabelDao
.
getListByType
(
1
);
List
<
BookLabel
>
subjectLabelList
=
bookLabelDao
.
getListByType
(
2
);
for
(
BookLabel
grade:
gradeLabelList
){
for
(
BookLabel
subject:
subjectLabelList
){
this
.
autoCreateBooklist
(
Arrays
.
asList
(
firstClassify
),
new
ArrayList
<>(),
Arrays
.
asList
(
grade
.
getId
()),
Arrays
.
asList
(
subject
.
getId
()));
}
}
return
;
}
//医疗保健
if
(
ArrayUtils
.
contains
(
RightsSettingConstant
.
MEDICAL_INSURANCE_TEMPLET_ID
,
firstClassify
))
{
List
<
Long
>
secondList
=
assistTempletConsr
.
getChildIdListByParentId
(
firstClassify
);
for
(
Long
secondId:
secondList
){
this
.
autoCreateBooklist
(
Arrays
.
asList
(
firstClassify
),
Arrays
.
asList
(
secondId
),
new
ArrayList
<>(),
new
ArrayList
<>());
}
return
;
}
this
.
autoCreateBooklist
(
Arrays
.
asList
(
firstClassify
),
new
ArrayList
<>(),
new
ArrayList
<>(),
new
ArrayList
<>());
}
private
void
autoCreateBooklist
(
List
<
Long
>
templetIds
,
List
<
Long
>
secondTempletIds
,
List
<
Long
>
graLabelIds
,
List
<
Long
>
subLabelIds
){
for
(
int
i
=
0
;
i
<
3
;
i
++)
{
Page
<
ESBookAndAdviser
>
esPage
=
esBookAndAdviserBiz
.
getESAdviserBooks4Applet
(
"1"
,
null
,
templetIds
,
graLabelIds
,
subLabelIds
,
i
,
20
,
secondTempletIds
);
if
(
ListUtils
.
isEmpty
(
esPage
.
getContent
())){
return
;
}
AssistTempletDTO
assistTempletDTO
=
assistTempletConsr
.
getTempletById
(
templetIds
.
get
(
0
));
AppletBooklist
appletBooklist
=
new
AppletBooklist
();
appletBooklist
.
setBooklistName
(
assistTempletDTO
.
getTempletName
()+
"推荐书单"
);
appletBooklist
.
setUserName
(
"小编推荐"
);
appletBooklist
.
setFirstClassify
(
templetIds
.
get
(
0
));
appletBooklist
.
setSecondClassify
(
ListUtils
.
isEmpty
(
secondTempletIds
)?
null
:
secondTempletIds
.
get
(
0
));
appletBooklist
.
setGradeLabelId
(
ListUtils
.
isEmpty
(
graLabelIds
)?
null
:
graLabelIds
.
get
(
0
));
appletBooklist
.
setSubjectLabelId
(
ListUtils
.
isEmpty
(
subLabelIds
)?
null
:
subLabelIds
.
get
(
0
));
appletBooklist
.
setDigest
((
int
)
esPage
.
getTotalElements
()+
"本"
+
assistTempletDTO
.
getTempletName
()+
"书单推荐"
);
appletBooklist
.
setDisplayPic
(
"https://oss.5rs.me/oss/uploadfe/png/39e36255426a66454037fcde86e19bf2.png"
);
appletBooklist
.
setClassifyId
(
1L
);
appletBooklist
.
setIntroduceType
(
1
);
appletBooklist
.
setIntroduceContent
(
"<p>"
+(
int
)
esPage
.
getTotalElements
()+
"本"
+
assistTempletDTO
.
getTempletName
()+
"书单推荐</p>"
);
Long
booklistId
=
addBooklist
(
appletBooklist
);
List
<
BookDTO4Booklist
>
addList
=
new
ArrayList
<>();
for
(
ESBookAndAdviser
esBookAndAdviser
:
esPage
.
getContent
()){
BookDTO4Booklist
booklist
=
new
BookDTO4Booklist
();
booklist
.
setBookId
(
Long
.
valueOf
(
esBookAndAdviser
.
getBookId
()));
booklist
.
setAdviserId
(
Long
.
valueOf
(
esBookAndAdviser
.
getAdviserId
()));
booklist
.
setChannelId
(
Long
.
valueOf
(
esBookAndAdviser
.
getChannelId
()));
addList
.
add
(
booklist
);
}
AddBookParamDTO
addBookParamDTO
=
new
AddBookParamDTO
();
addBookParamDTO
.
setBooklistId
(
booklistId
);
addBookParamDTO
.
setBookDTO4Booklists
(
addList
);
this
.
addBookToBooklist
(
addBookParamDTO
);
}
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/AppletBooklistDao.java
View file @
8a7413a2
package
com
.
pcloud
.
book
.
applet
.
dao
;
package
com
.
pcloud
.
book
.
applet
.
dao
;
import
com.pcloud.book.applet.dto.AppletBooklistDTO
;
import
com.pcloud.book.applet.dto.BookDTO4Booklist
;
import
com.pcloud.book.applet.dto.BookDTO4Booklist
;
import
com.pcloud.book.applet.entity.AppletBooklist
;
import
com.pcloud.book.applet.entity.AppletBooklist
;
import
com.pcloud.common.core.dao.BaseDao
;
import
com.pcloud.common.core.dao.BaseDao
;
...
@@ -65,4 +66,15 @@ public interface AppletBooklistDao extends BaseDao<AppletBooklist> {
...
@@ -65,4 +66,15 @@ public interface AppletBooklistDao extends BaseDao<AppletBooklist> {
* @return
* @return
*/
*/
BookDTO4Booklist
getByBookIdAdviserChannel
(
Long
adviserId
,
Long
channelId
,
Long
bookId
);
BookDTO4Booklist
getByBookIdAdviserChannel
(
Long
adviserId
,
Long
channelId
,
Long
bookId
);
/**
* 根据分类查询书单
* @author:zhuyajie
* @date:2020/8/10 10:37
* * @param null
*/
List
<
AppletBooklistDTO
>
getByLabel
(
Long
firstClassify
,
Long
secondClassify
,
Long
gradeLabelId
,
Long
subjectLabelId
,
Integer
limit
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/impl/AppletBooklistDaoImpl.java
View file @
8a7413a2
package
com
.
pcloud
.
book
.
applet
.
dao
.
impl
;
package
com
.
pcloud
.
book
.
applet
.
dao
.
impl
;
import
com.pcloud.book.applet.dao.AppletBooklistDao
;
import
com.pcloud.book.applet.dao.AppletBooklistDao
;
import
com.pcloud.book.applet.dto.AppletBooklistDTO
;
import
com.pcloud.book.applet.dto.BookDTO4Booklist
;
import
com.pcloud.book.applet.dto.BookDTO4Booklist
;
import
com.pcloud.book.applet.entity.AppletBooklist
;
import
com.pcloud.book.applet.entity.AppletBooklist
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
...
@@ -69,4 +70,16 @@ public class AppletBooklistDaoImpl extends BaseDaoImpl<AppletBooklist> implement
...
@@ -69,4 +70,16 @@ public class AppletBooklistDaoImpl extends BaseDaoImpl<AppletBooklist> implement
map
.
put
(
"bookId"
,
bookId
);
map
.
put
(
"bookId"
,
bookId
);
return
getSessionTemplate
().
selectOne
(
getStatement
(
"getByBookIdAdviserChannel"
),
map
);
return
getSessionTemplate
().
selectOne
(
getStatement
(
"getByBookIdAdviserChannel"
),
map
);
}
}
@Override
public
List
<
AppletBooklistDTO
>
getByLabel
(
Long
firstClassify
,
Long
secondClassify
,
Long
gradeLabelId
,
Long
subjectLabelId
,
Integer
limit
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"firstClassify"
,
firstClassify
);
paramMap
.
put
(
"secondClassify"
,
secondClassify
);
paramMap
.
put
(
"gradeLabelId"
,
gradeLabelId
);
paramMap
.
put
(
"subjectLabelId"
,
subjectLabelId
);
paramMap
.
put
(
"limit"
,
limit
);
return
getSessionTemplate
().
selectList
(
getStatement
(
"getByLabel"
),
paramMap
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dto/AppletBooklistDTO.java
View file @
8a7413a2
...
@@ -46,4 +46,22 @@ public class AppletBooklistDTO extends BaseDto {
...
@@ -46,4 +46,22 @@ public class AppletBooklistDTO extends BaseDto {
@ApiModelProperty
(
"图书信息"
)
@ApiModelProperty
(
"图书信息"
)
private
List
<
BookDTO4Booklist
>
bookDTO4Booklists
;
private
List
<
BookDTO4Booklist
>
bookDTO4Booklists
;
@ApiModelProperty
(
"第一级类型标识"
)
private
Long
firstClassify
;
@ApiModelProperty
(
"第二级类型标识"
)
private
Long
secondClassify
;
@ApiModelProperty
(
"年级标签id"
)
private
Long
gradeLabelId
;
@ApiModelProperty
(
"科目标签id"
)
private
Long
subjectLabelId
;
@ApiModelProperty
(
"第一级类型"
)
private
String
firstClassifyContent
;
@ApiModelProperty
(
"第二级类型"
)
private
String
secondClassifyContent
;
@ApiModelProperty
(
"年级标签"
)
private
String
gradeLabelIdContent
;
@ApiModelProperty
(
"科目标签"
)
private
String
subjectLabelIdContent
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dto/BookDTO4Booklist.java
View file @
8a7413a2
...
@@ -56,4 +56,6 @@ public class BookDTO4Booklist extends BaseDto {
...
@@ -56,4 +56,6 @@ public class BookDTO4Booklist extends BaseDto {
private
Integer
classifyId
;
private
Integer
classifyId
;
@ApiModelProperty
(
"进群方式"
)
@ApiModelProperty
(
"进群方式"
)
private
Integer
joinGroupType
;
private
Integer
joinGroupType
;
@ApiModelProperty
(
"摘要"
)
private
String
remark
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/entity/AppletBooklist.java
View file @
8a7413a2
package
com
.
pcloud
.
book
.
applet
.
entity
;
package
com
.
pcloud
.
book
.
applet
.
entity
;
import
com.pcloud.
common.entity.BaseEntit
y
;
import
com.pcloud.
book.rightsSetting.entity.BaseTempletClassif
y
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
@Data
@Data
@ApiModel
(
"小程序书单"
)
@ApiModel
(
"小程序书单"
)
public
class
AppletBooklist
extends
Base
Entit
y
{
public
class
AppletBooklist
extends
Base
TempletClassif
y
{
@ApiModelProperty
(
"书单主题名称"
)
@ApiModelProperty
(
"书单主题名称"
)
private
String
booklistName
;
private
String
booklistName
;
...
@@ -32,4 +32,13 @@ public class AppletBooklist extends BaseEntity {
...
@@ -32,4 +32,13 @@ public class AppletBooklist extends BaseEntity {
@ApiModelProperty
(
"栏目id"
)
@ApiModelProperty
(
"栏目id"
)
private
Long
classifyId
;
private
Long
classifyId
;
@ApiModelProperty
(
"第一级类型标识"
)
private
Long
firstClassify
;
@ApiModelProperty
(
"第二级类型标识"
)
private
Long
secondClassify
;
@ApiModelProperty
(
"年级标签id"
)
private
Long
gradeLabelId
;
@ApiModelProperty
(
"科目标签id"
)
private
Long
subjectLabelId
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/facade/AppletHomeFacade.java
View file @
8a7413a2
...
@@ -228,13 +228,19 @@ public class AppletHomeFacade {
...
@@ -228,13 +228,19 @@ public class AppletHomeFacade {
@RequestParam
(
"currentPage"
)
@ApiParam
(
"当前页"
)
Integer
currentPage
,
@RequestParam
(
"currentPage"
)
@ApiParam
(
"当前页"
)
Integer
currentPage
,
@RequestParam
(
"numPerPage"
)
@ApiParam
(
"每页数量"
)
Integer
numPerPage
,
@RequestParam
(
"numPerPage"
)
@ApiParam
(
"每页数量"
)
Integer
numPerPage
,
@RequestParam
(
value
=
"name"
,
required
=
false
)
@ApiParam
(
"名称查询"
)
String
name
,
@RequestParam
(
value
=
"name"
,
required
=
false
)
@ApiParam
(
"名称查询"
)
String
name
,
@RequestParam
(
value
=
"classifyId"
,
required
=
false
)
@ApiParam
(
"书单栏目id"
)
Long
classifyId
)
throws
PermissionException
{
@RequestParam
(
value
=
"classifyId"
,
required
=
false
)
@ApiParam
(
"书单栏目id"
)
Long
classifyId
,
Map
<
String
,
Object
>
map
=
SessionUtil
.
getToken4Redis
(
token
);
@RequestParam
(
value
=
"firstClassify"
,
required
=
false
)
@ApiParam
(
"一级书刊分类"
)
Long
firstClassify
,
Long
agentId
=
(
Long
)
map
.
get
(
SessionUtil
.
RAY_AGENT_ID
);
@RequestParam
(
value
=
"secondClassify"
,
required
=
false
)
@ApiParam
(
"二级书刊分类"
)
Long
secondClassify
,
@RequestParam
(
value
=
"gradeLabelId"
,
required
=
false
)
@ApiParam
(
"年级标签"
)
Long
gradeLabelId
,
@RequestParam
(
value
=
"subjectLabelId"
,
required
=
false
)
@ApiParam
(
"科目标签"
)
Long
subjectLabelId
)
throws
PermissionException
{
Map
<
String
,
Object
>
map
=
SessionUtil
.
getToken4Redis
(
token
);
Long
agentId
=
(
Long
)
map
.
get
(
SessionUtil
.
RAY_AGENT_ID
);
if
(
null
==
currentPage
||
null
==
numPerPage
){
if
(
null
==
currentPage
||
null
==
numPerPage
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少分页参数"
);
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少分页参数"
);
}
}
return
new
ResponseDto
<>(
appletBooklistBiz
.
listBooklist
(
currentPage
,
numPerPage
,
name
,
classifyId
,
agentId
));
return
new
ResponseDto
<>(
appletBooklistBiz
.
listBooklist
(
currentPage
,
numPerPage
,
name
,
classifyId
,
agentId
,
firstClassify
,
secondClassify
,
gradeLabelId
,
subjectLabelId
));
}
}
@ApiOperation
(
"书单添加图书"
)
@ApiOperation
(
"书单添加图书"
)
...
@@ -1103,6 +1109,27 @@ public class AppletHomeFacade {
...
@@ -1103,6 +1109,27 @@ public class AppletHomeFacade {
Long
agentId
=
(
Long
)
SessionUtil
.
getVlaue
(
token
,
SessionUtil
.
RAY_AGENT_ID
);
Long
agentId
=
(
Long
)
SessionUtil
.
getVlaue
(
token
,
SessionUtil
.
RAY_AGENT_ID
);
return
new
ResponseDto
<>(
appletStatisticBiz
.
getStatisticByAgent
(
agentId
));
return
new
ResponseDto
<>(
appletStatisticBiz
.
getStatisticByAgent
(
agentId
));
}
}
@ApiOperation
(
"获取推荐书单"
)
@GetMapping
(
"getRecommendBooklist"
)
public
ResponseDto
<?>
getRecommendBooklist
(
@RequestParam
(
"bookId"
)
Long
bookId
,
@RequestParam
(
"adviserId"
)
Long
adviserId
,
@RequestParam
(
"channelId"
)
Long
channelId
){
if
(
null
==
bookId
||
null
==
adviserId
||
null
==
channelId
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
return
new
ResponseDto
<>(
appletBooklistBiz
.
getRecommendBooklistByBook
(
bookId
,
adviserId
,
channelId
));
}
@ApiOperation
(
"根据书刊分类自动创建书单"
)
@GetMapping
(
"autoCreateBooklistByTemplet"
)
public
ResponseDto
<?>
autoCreateBooklistByTemplet
(
@RequestParam
(
"firstClassify"
)
Long
firstClassify
){
if
(
null
!=
firstClassify
){
appletBooklistBiz
.
autoCreateBooklistByTemplet
(
firstClassify
);
}
return
new
ResponseDto
<>();
}
}
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/consumer/app/AssistTempletConsr.java
View file @
8a7413a2
...
@@ -109,4 +109,16 @@ public class AssistTempletConsr {
...
@@ -109,4 +109,16 @@ public class AssistTempletConsr {
}
}
return
list
;
return
list
;
}
}
@ParamLog
(
"根据id查类型"
)
public
AssistTempletDTO
getTempletById
(
Long
id
){
AssistTempletDTO
assistTempletDTO
=
null
;
try
{
assistTempletDTO
=
ResponseHandleUtil
.
parseResponse
(
assistTempletService
.
getById
(
id
),
AssistTempletDTO
.
class
);
}
catch
(
Exception
e
){
LOGGER
.
error
(
"调用失败"
+
e
.
getMessage
());
}
return
assistTempletDTO
;
}
}
}
pcloud-service-book/src/main/resources/mapper/applet/AppletBooklist.xml
View file @
8a7413a2
...
@@ -13,21 +13,27 @@
...
@@ -13,21 +13,27 @@
<result
column=
"classify_id"
property=
"classifyId"
jdbcType=
"BIGINT"
/>
<result
column=
"classify_id"
property=
"classifyId"
jdbcType=
"BIGINT"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"first_classify"
property=
"firstClassify"
jdbcType=
"BIGINT"
/>
<result
column=
"second_classify"
property=
"secondClassify"
jdbcType=
"BIGINT"
/>
<result
column=
"grade_label_id"
property=
"gradeLabelId"
jdbcType=
"BIGINT"
/>
<result
column=
"subject_label_id"
property=
"subjectLabelId"
jdbcType=
"BIGINT"
/>
</resultMap>
</resultMap>
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
id, booklist_name, user_name, digest, display_pic, introduce_type, introduce_content, introduce_url,
id, booklist_name, user_name, digest, display_pic, introduce_type, introduce_content, introduce_url,
classify_id, create_time, update_time
classify_id, create_time, update_time
, first_classify, second_classify, grade_label_id, subject_label_id
</sql>
</sql>
<insert
id=
"insert"
parameterType=
"com.pcloud.book.applet.entity.AppletBooklist"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
<insert
id=
"insert"
parameterType=
"com.pcloud.book.applet.entity.AppletBooklist"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into applet_booklist (
insert into applet_booklist (
booklist_name, user_name, digest, display_pic, introduce_type, introduce_content, introduce_url,
booklist_name, user_name, digest, display_pic, introduce_type, introduce_content, introduce_url,
classify_id, create_time, update_time
classify_id, create_time, update_time, first_classify, second_classify, grade_label_id, subject_label_id
)
)
values (
values (
#{booklistName}, #{userName}, #{digest}, #{displayPic}, #{introduceType}, #{introduceContent}, #{introduceUrl},
#{booklistName}, #{userName}, #{digest}, #{displayPic}, #{introduceType}, #{introduceContent}, #{introduceUrl},
#{classifyId}, NOW(), NOW()
#{classifyId}, NOW(), NOW(), #{firstClassify,jdbcType=BIGINT}, #{secondClassify,jdbcType=BIGINT},
#{gradeLabelId,jdbcType=BIGINT}, #{subjectLabelId,jdbcType=BIGINT}
)
)
</insert>
</insert>
...
@@ -58,6 +64,10 @@
...
@@ -58,6 +64,10 @@
<if
test=
"classifyId != null"
>
<if
test=
"classifyId != null"
>
classify_id = #{classifyId},
classify_id = #{classifyId},
</if>
</if>
first_classify = #{firstClassify,jdbcType=BIGINT},
second_classify = #{secondClassify,jdbcType=BIGINT},
grade_label_id = #{gradeLabelId,jdbcType=BIGINT},
subject_label_id = #{subjectLabelId,jdbcType=BIGINT},
update_time=NOW()
update_time=NOW()
</set>
</set>
where id = #{id,jdbcType=BIGINT}
where id = #{id,jdbcType=BIGINT}
...
@@ -95,7 +105,11 @@
...
@@ -95,7 +105,11 @@
b.display_pic displayPic,
b.display_pic displayPic,
COUNT(c.id) bookCounts,
COUNT(c.id) bookCounts,
a.id classifyId,
a.id classifyId,
a.classify_name classifyName
a.classify_name classifyName,
b.first_classify firstClassify,
b.second_classify secondClassify,
b.grade_label_id gradeLabelId,
b.subject_label_id subjectLabelId
FROM applet_booklist b
FROM applet_booklist b
LEFT JOIN applet_booklist_config c ON b.id=c.booklist_id
LEFT JOIN applet_booklist_config c ON b.id=c.booklist_id
LEFT JOIN applet_booklist_classify a ON b.classify_id=a.id
LEFT JOIN applet_booklist_classify a ON b.classify_id=a.id
...
@@ -106,6 +120,18 @@
...
@@ -106,6 +120,18 @@
<if
test=
"classifyId >0"
>
<if
test=
"classifyId >0"
>
AND b.classify_id= #{classifyId}
AND b.classify_id= #{classifyId}
</if>
</if>
<if
test=
"firstClassify!=null"
>
AND b.first_classify =#{firstClassify}
</if>
<if
test=
"secondClassify!=null"
>
AND b.second_classify =#{secondClassify}
</if>
<if
test=
"gradeLabelId != null"
>
AND b.grade_label_id = #{gradeLabelId}
</if>
<if
test=
"subjectLabelId != null"
>
AND b.subject_label_id = #{subjectLabelId}
</if>
<choose>
<choose>
<when
test=
"agentId != null"
>
<when
test=
"agentId != null"
>
and a.agent_id = #{agentId}
and a.agent_id = #{agentId}
...
@@ -144,7 +170,8 @@
...
@@ -144,7 +170,8 @@
A.SECOND_TEMPLET_ID secondTempletId,
A.SECOND_TEMPLET_ID secondTempletId,
c.seq seq,
c.seq seq,
B.ISBN isbn,
B.ISBN isbn,
CONCAT('BK',A.BOOK_ID) uniqueNumber
CONCAT('BK',A.BOOK_ID) uniqueNumber,
B.REMARK remark
FROM
FROM
applet_booklist_config c
applet_booklist_config c
LEFT JOIN applet_booklist ap ON c.booklist_id=ap.id
LEFT JOIN applet_booklist ap ON c.booklist_id=ap.id
...
@@ -236,4 +263,41 @@
...
@@ -236,4 +263,41 @@
AND A.ADVISER_ID=#{adviserId}
AND A.ADVISER_ID=#{adviserId}
AND A.CHANNEL_ID=#{channelId}
AND A.CHANNEL_ID=#{channelId}
</select>
</select>
<select
id=
"getByLabel"
parameterType=
"map"
resultType=
"com.pcloud.book.applet.dto.AppletBooklistDTO"
>
SELECT
b.id id,
b.booklist_name booklistName,
b.user_name userName,
b.display_pic displayPic,
COUNT(c.id) bookCounts
FROM
applet_booklist b
LEFT JOIN applet_booklist_config c ON b.id = c.booklist_id
WHERE 1 = 1
<if
test=
"firstClassify!=null"
>
AND b.first_classify =#{firstClassify}
</if>
<if
test=
"secondClassify!=null"
>
AND b.second_classify =#{secondClassify}
</if>
<if
test=
"gradeLabelId != null"
>
AND b.grade_label_id = #{gradeLabelId}
</if>
<if
test=
"subjectLabelId != null"
>
AND b.subject_label_id = #{subjectLabelId}
</if>
GROUP BY
b.id
HAVING
COUNT(c.id) > 0
ORDER BY b.create_time DESC
<if
test=
"limit != null"
>
LIMIT #{limit}
</if>
</select>
</mapper>
</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