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
77b1b3de
Commit
77b1b3de
authored
Nov 26, 2020
by
朱亚洁
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:[1003901]系列书推荐
parent
614d55e3
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
494 additions
and
0 deletions
+494
-0
BookBiz.java
...-book/src/main/java/com/pcloud/book/book/biz/BookBiz.java
+32
-0
BookLabelBiz.java
.../src/main/java/com/pcloud/book/book/biz/BookLabelBiz.java
+8
-0
BookBizImpl.java
.../main/java/com/pcloud/book/book/biz/impl/BookBizImpl.java
+113
-0
BookLabelBizImpl.java
.../java/com/pcloud/book/book/biz/impl/BookLabelBizImpl.java
+18
-0
SeriesBookDao.java
...src/main/java/com/pcloud/book/book/dao/SeriesBookDao.java
+16
-0
SeriesBookRecordDao.java
...in/java/com/pcloud/book/book/dao/SeriesBookRecordDao.java
+16
-0
SeriesBookDaoImpl.java
...java/com/pcloud/book/book/dao/impl/SeriesBookDaoImpl.java
+28
-0
SeriesBookRecordDaoImpl.java
...om/pcloud/book/book/dao/impl/SeriesBookRecordDaoImpl.java
+18
-0
SeriesBook.java
...src/main/java/com/pcloud/book/book/entity/SeriesBook.java
+22
-0
SeriesBookRecord.java
...in/java/com/pcloud/book/book/entity/SeriesBookRecord.java
+45
-0
BookFacadeImpl.java
...java/com/pcloud/book/book/facade/impl/BookFacadeImpl.java
+30
-0
ESBookAndAdviserBiz.java
...main/java/com/pcloud/book/es/biz/ESBookAndAdviserBiz.java
+7
-0
ESBookAndAdviserBizImpl.java
.../com/pcloud/book/es/biz/impl/ESBookAndAdviserBizImpl.java
+27
-0
SeriesBook.xml
...ervice-book/src/main/resources/mapper/book/SeriesBook.xml
+49
-0
SeriesBookRecord.xml
...-book/src/main/resources/mapper/book/SeriesBookRecord.xml
+65
-0
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/BookBiz.java
View file @
77b1b3de
...
@@ -18,6 +18,8 @@ import com.pcloud.book.book.dto.QrcodeServeDto;
...
@@ -18,6 +18,8 @@ import com.pcloud.book.book.dto.QrcodeServeDto;
import
com.pcloud.book.book.dto.RelateAdviserVO
;
import
com.pcloud.book.book.dto.RelateAdviserVO
;
import
com.pcloud.book.book.entity.Book
;
import
com.pcloud.book.book.entity.Book
;
import
com.pcloud.book.book.entity.BookLabel
;
import
com.pcloud.book.book.entity.BookLabel
;
import
com.pcloud.book.book.entity.SeriesBookRecord
;
import
com.pcloud.book.book.vo.BookLabelVO
;
import
com.pcloud.book.book.vo.BookQualifyVO
;
import
com.pcloud.book.book.vo.BookQualifyVO
;
import
com.pcloud.book.book.vo.BookSaleVO
;
import
com.pcloud.book.book.vo.BookSaleVO
;
import
com.pcloud.book.book.vo.ListNoAuthBookParam
;
import
com.pcloud.book.book.vo.ListNoAuthBookParam
;
...
@@ -717,4 +719,34 @@ public interface BookBiz {
...
@@ -717,4 +719,34 @@ public interface BookBiz {
* * @param null
* * @param null
*/
*/
PageBeanNew
<
BookDto
>
getESAdviserBooks4Answer
(
Long
wechatUserId
,
BookSearchParamVO
bookSearchParamVO
);
PageBeanNew
<
BookDto
>
getESAdviserBooks4Answer
(
Long
wechatUserId
,
BookSearchParamVO
bookSearchParamVO
);
/**
* 系列书学科列表
* @author:zhuyajie
* @date:2020/11/23 15:46
* * @param null
*/
List
<
BookLabelVO
>
getSubjectLabelList4SeriesBook
(
Long
seriesBookId
);
/**
* 是否是系列书
* @author:zhuyajie
* @date:2020/11/23 17:07
* * @param null
*/
Map
<
String
,
Object
>
isSeriesBook
(
Long
bookId
,
Long
adviserId
,
Long
channelId
);
/**
* 根据学科查系列书
* @author:zhuyajie
* @date:2020/11/23 19:19
* * @param null
*/
List
<
BookDto
>
getSeriesBookList
(
Long
seriesBookId
,
Long
subLabelId
);
/**
* 系列书查询记录
* @author:zhuyajie
* @date:2020/11/25 10:23
* * @param null
*/
void
addSeriesBookRecord
(
SeriesBookRecord
seriesBookRecord
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/BookLabelBiz.java
View file @
77b1b3de
...
@@ -57,4 +57,12 @@ public interface BookLabelBiz {
...
@@ -57,4 +57,12 @@ public interface BookLabelBiz {
String
name
,
String
startTime
,
String
endTime
,
Integer
auditState
);
String
name
,
String
startTime
,
String
endTime
,
Integer
auditState
);
Map
<
Long
,
String
>
getLabelMapByIds
(
List
<
Long
>
labelIds
);
Map
<
Long
,
String
>
getLabelMapByIds
(
List
<
Long
>
labelIds
);
/**
* 查标签列表
* @author:zhuyajie
* @date:2020/11/23 16:03
* * @param null
*/
List
<
BookLabelVO
>
getLabelByIds
(
List
<
Long
>
labelIds
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/impl/BookBizImpl.java
View file @
77b1b3de
...
@@ -28,6 +28,7 @@ import com.pcloud.book.book.biz.BookAppBiz;
...
@@ -28,6 +28,7 @@ import com.pcloud.book.book.biz.BookAppBiz;
import
com.pcloud.book.book.biz.BookBiz
;
import
com.pcloud.book.book.biz.BookBiz
;
import
com.pcloud.book.book.biz.BookFreezeBiz
;
import
com.pcloud.book.book.biz.BookFreezeBiz
;
import
com.pcloud.book.book.biz.BookFundBiz
;
import
com.pcloud.book.book.biz.BookFundBiz
;
import
com.pcloud.book.book.biz.BookLabelBiz
;
import
com.pcloud.book.book.biz.BookProductBiz
;
import
com.pcloud.book.book.biz.BookProductBiz
;
import
com.pcloud.book.book.biz.BookResourceBiz
;
import
com.pcloud.book.book.biz.BookResourceBiz
;
import
com.pcloud.book.book.biz.BookSerialNumberBiz
;
import
com.pcloud.book.book.biz.BookSerialNumberBiz
;
...
@@ -38,6 +39,8 @@ import com.pcloud.book.book.dao.BookDao;
...
@@ -38,6 +39,8 @@ import com.pcloud.book.book.dao.BookDao;
import
com.pcloud.book.book.dao.BookLabelDao
;
import
com.pcloud.book.book.dao.BookLabelDao
;
import
com.pcloud.book.book.dao.BookRaysClassifyDao
;
import
com.pcloud.book.book.dao.BookRaysClassifyDao
;
import
com.pcloud.book.book.dao.QrcodeSceneErpDao
;
import
com.pcloud.book.book.dao.QrcodeSceneErpDao
;
import
com.pcloud.book.book.dao.SeriesBookDao
;
import
com.pcloud.book.book.dao.SeriesBookRecordDao
;
import
com.pcloud.book.book.dto.AdviserBookInfoDTO
;
import
com.pcloud.book.book.dto.AdviserBookInfoDTO
;
import
com.pcloud.book.book.dto.BookAdviserDto
;
import
com.pcloud.book.book.dto.BookAdviserDto
;
import
com.pcloud.book.book.dto.BookAdviserUpdateTimeDTO
;
import
com.pcloud.book.book.dto.BookAdviserUpdateTimeDTO
;
...
@@ -63,8 +66,11 @@ import com.pcloud.book.book.entity.BookAdviserErp;
...
@@ -63,8 +66,11 @@ import com.pcloud.book.book.entity.BookAdviserErp;
import
com.pcloud.book.book.entity.BookLabel
;
import
com.pcloud.book.book.entity.BookLabel
;
import
com.pcloud.book.book.entity.BookSerialNumber
;
import
com.pcloud.book.book.entity.BookSerialNumber
;
import
com.pcloud.book.book.entity.QrcodeSceneErp
;
import
com.pcloud.book.book.entity.QrcodeSceneErp
;
import
com.pcloud.book.book.entity.SeriesBook
;
import
com.pcloud.book.book.entity.SeriesBookRecord
;
import
com.pcloud.book.book.set.BookSet
;
import
com.pcloud.book.book.set.BookSet
;
import
com.pcloud.book.book.tools.BookTools
;
import
com.pcloud.book.book.tools.BookTools
;
import
com.pcloud.book.book.vo.BookLabelVO
;
import
com.pcloud.book.book.vo.BookQualifyVO
;
import
com.pcloud.book.book.vo.BookQualifyVO
;
import
com.pcloud.book.book.vo.BookSaleVO
;
import
com.pcloud.book.book.vo.BookSaleVO
;
import
com.pcloud.book.book.vo.ListNoAuthBookParam
;
import
com.pcloud.book.book.vo.ListNoAuthBookParam
;
...
@@ -289,6 +295,12 @@ public class BookBizImpl implements BookBiz {
...
@@ -289,6 +295,12 @@ public class BookBizImpl implements BookBiz {
private
String
envStr
;
private
String
envStr
;
@Autowired
@Autowired
private
AnswerSubscribeDao
answerSubscribeDao
;
private
AnswerSubscribeDao
answerSubscribeDao
;
@Autowired
private
BookLabelBiz
bookLabelBiz
;
@Autowired
private
SeriesBookDao
seriesBookDao
;
@Autowired
private
SeriesBookRecordDao
seriesBookRecordDao
;
/**
/**
* 创建书籍,同时建立与编辑的推广关系
* 创建书籍,同时建立与编辑的推广关系
...
@@ -3465,4 +3477,105 @@ public class BookBizImpl implements BookBiz {
...
@@ -3465,4 +3477,105 @@ public class BookBizImpl implements BookBiz {
PageBeanNew
<
BookDto
>
page
=
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
(
int
)
esPage
.
getTotalElements
(),
bookDtos
);
PageBeanNew
<
BookDto
>
page
=
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
(
int
)
esPage
.
getTotalElements
(),
bookDtos
);
return
page
;
return
page
;
}
}
@Override
public
List
<
BookLabelVO
>
getSubjectLabelList4SeriesBook
(
Long
seriesBookId
)
{
SeriesBook
seriesBook
=
seriesBookDao
.
getById
(
seriesBookId
);
if
(
null
==
seriesBook
){
return
new
ArrayList
<>();
}
//系列书关键词
String
[]
keywords
=
seriesBook
.
getSeriesBookKeyword
().
split
(
" "
);
List
<
String
>
keywordList
=
new
ArrayList
<
String
>(
Arrays
.
asList
(
keywords
));
//编辑id
List
<
Long
>
adviserIds
=
adviserConsr
.
getByAgentId
(
seriesBook
.
getAgentId
());
Integer
currentPage
=
0
;
Integer
numPerPage
=
50
;
Page
<
ESBookAndAdviser
>
esPage
=
esBookAndAdviserBiz
.
getAdviserBooks4SeriesBook
(
keywordList
,
currentPage
,
numPerPage
,
adviserIds
,
seriesBook
.
getAgentId
(),
null
);
List
<
ESBookAndAdviser
>
esBookAndAdvisers
=
esPage
.
getContent
();
if
(
ListUtils
.
isEmpty
(
esBookAndAdvisers
))
{
return
new
ArrayList
<>();
}
List
<
Long
>
subjectLabels
=
esBookAndAdvisers
.
stream
().
filter
(
s
->
s
.
getSubLabelId
()!=
null
).
map
(
ESBookAndAdviser:
:
getSubLabelId
).
distinct
().
collect
(
Collectors
.
toList
());
List
<
BookLabelVO
>
bookLabelList
=
bookLabelBiz
.
getLabelByIds
(
subjectLabels
);
return
bookLabelList
;
}
@Override
public
Map
<
String
,
Object
>
isSeriesBook
(
Long
bookId
,
Long
adviserId
,
Long
channelId
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Boolean
isSeriesBook
=
false
;
map
.
put
(
"isSeriesBook"
,
isSeriesBook
);
BookDto
book
=
bookBiz
.
getBaseById
(
bookId
);
if
(
null
==
book
||
StringUtil
.
isEmpty
(
book
.
getBookName
())){
return
map
;
}
BookAdviserDto
bookAdviserDto
=
bookAdviserDao
.
getBase
(
bookId
,
adviserId
,
channelId
);
if
(
null
==
bookAdviserDto
){
return
map
;
}
Long
agentId
=
adviserConsr
.
getAgentIdByAdviser
(
adviserId
);
if
(
null
==
agentId
){
return
map
;
}
List
<
SeriesBook
>
seriesBooks
=
seriesBookDao
.
getSeriesBookByAgent
(
agentId
);
if
(
ListUtils
.
isEmpty
(
seriesBooks
))
{
return
map
;
}
for
(
SeriesBook
seriesBook:
seriesBooks
){
String
[]
keywords
=
seriesBook
.
getSeriesBookKeyword
().
split
(
" "
);
Boolean
hasKeyword
=
true
;
for
(
String
keyword:
keywords
){
if
(!
book
.
getBookName
().
contains
(
keyword
)){
hasKeyword
=
false
;
break
;
}
}
if
(
hasKeyword
){
isSeriesBook
=
true
;
map
.
put
(
"seriesBookId"
,
seriesBook
.
getId
());
}
}
if
(
isSeriesBook
){
map
.
put
(
"subLabelId"
,
bookAdviserDto
.
getSubLabelId
());
}
map
.
put
(
"isSeriesBook"
,
isSeriesBook
);
return
map
;
}
@Override
public
List
<
BookDto
>
getSeriesBookList
(
Long
seriesBookId
,
Long
subLabelId
)
{
SeriesBook
seriesBook
=
seriesBookDao
.
getById
(
seriesBookId
);
if
(
null
==
seriesBook
){
return
new
ArrayList
<>();
}
//系列书关键词
String
[]
keywords
=
seriesBook
.
getSeriesBookKeyword
().
split
(
" "
);
List
<
String
>
keywordList
=
new
ArrayList
<
String
>(
Arrays
.
asList
(
keywords
));
//编辑id
List
<
Long
>
adviserIds
=
adviserConsr
.
getByAgentId
(
seriesBook
.
getAgentId
());
Integer
currentPage
=
0
;
Integer
numPerPage
=
50
;
Page
<
ESBookAndAdviser
>
esPage
=
esBookAndAdviserBiz
.
getAdviserBooks4SeriesBook
(
keywordList
,
currentPage
,
numPerPage
,
adviserIds
,
seriesBook
.
getAgentId
(),
subLabelId
);
List
<
ESBookAndAdviser
>
esBookAndAdvisers
=
esPage
.
getContent
();
if
(
ListUtils
.
isEmpty
(
esBookAndAdvisers
))
{
return
new
ArrayList
<>();
}
List
<
BookDto
>
bookDtos
=
changeToBookDto
(
esBookAndAdvisers
);
fillOtherBookInfo
(
bookDtos
);
fillBookInfo
(
bookDtos
);
return
bookDtos
;
}
@Override
public
void
addSeriesBookRecord
(
SeriesBookRecord
seriesBookRecord
){
if
(
null
==
seriesBookRecord
.
getRecordType
()
||
null
==
seriesBookRecord
.
getBookId
()){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"参数缺失"
);
}
//操作类型(1分类点击2打卡按钮3保存海报按钮4返回首页按钮)
ThreadPoolUtils
.
OTHER_THREAD_POOL
.
execute
(()->{
seriesBookRecordDao
.
insert
(
seriesBookRecord
);
});
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/impl/BookLabelBizImpl.java
View file @
77b1b3de
...
@@ -15,7 +15,9 @@ import com.pcloud.common.utils.ListUtils;
...
@@ -15,7 +15,9 @@ import com.pcloud.common.utils.ListUtils;
import
com.pcloud.common.utils.cache.redis.JedisClusterUtils
;
import
com.pcloud.common.utils.cache.redis.JedisClusterUtils
;
import
com.pcloud.common.utils.string.StringUtil
;
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.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
...
@@ -154,4 +156,20 @@ public class BookLabelBizImpl implements BookLabelBiz {
...
@@ -154,4 +156,20 @@ public class BookLabelBizImpl implements BookLabelBiz {
Map
<
Long
,
String
>
map
=
labelList
.
stream
().
collect
(
Collectors
.
toMap
(
a
->
a
.
getId
(),
a
->
a
.
getName
(),
(
k1
,
k2
)
->
(
k2
)));
Map
<
Long
,
String
>
map
=
labelList
.
stream
().
collect
(
Collectors
.
toMap
(
a
->
a
.
getId
(),
a
->
a
.
getName
(),
(
k1
,
k2
)
->
(
k2
)));
return
map
;
return
map
;
}
}
@Override
public
List
<
BookLabelVO
>
getLabelByIds
(
List
<
Long
>
labelIds
)
{
List
<
BookLabel
>
labelList
=
bookLabelDao
.
getByLabelIds
(
labelIds
);
if
(
ListUtils
.
isEmpty
(
labelList
))
{
return
new
ArrayList
<>();
}
List
<
BookLabelVO
>
labelVOS
=
new
ArrayList
<>();
for
(
BookLabel
bookLabel
:
labelList
)
{
BookLabelVO
bookLabelVO
=
new
BookLabelVO
();
BeanUtils
.
copyProperties
(
bookLabel
,
bookLabelVO
);
bookLabelVO
.
setLabelId
(
bookLabel
.
getId
());
labelVOS
.
add
(
bookLabelVO
);
}
return
labelVOS
;
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/dao/SeriesBookDao.java
0 → 100644
View file @
77b1b3de
package
com
.
pcloud
.
book
.
book
.
dao
;
import
com.pcloud.book.book.entity.SeriesBook
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.List
;
public
interface
SeriesBookDao
extends
BaseDao
<
SeriesBook
>
{
/**
* 根据书名和出版社查系列书
* @author:zhuyajie
* @date:2020/11/23 17:41
* * @param null
*/
List
<
SeriesBook
>
getSeriesBookByAgent
(
Long
agentId
);
}
pcloud-service-book/src/main/java/com/pcloud/book/book/dao/SeriesBookRecordDao.java
0 → 100644
View file @
77b1b3de
package
com
.
pcloud
.
book
.
book
.
dao
;
import
com.pcloud.book.book.entity.SeriesBookRecord
;
import
com.pcloud.common.core.dao.BaseDao
;
/**
* 系列书查询记录(SeriesBookRecord)表数据库访问层
*
* @author makejava
* @since 2020-11-25 10:04:59
*/
public
interface
SeriesBookRecordDao
extends
BaseDao
<
SeriesBookRecord
>{
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/book/dao/impl/SeriesBookDaoImpl.java
0 → 100644
View file @
77b1b3de
package
com
.
pcloud
.
book
.
book
.
dao
.
impl
;
import
com.pcloud.book.book.dao.SeriesBookDao
;
import
com.pcloud.book.book.entity.SeriesBook
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Component
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @ClassName com.pcloud.book.book.dao.impl.SeriesBookDaoImpl
* @Author zhuyajie
* @Description 系列书
* @Date 2020/11/23 17:15
* @Version 1.0
**/
@Component
public
class
SeriesBookDaoImpl
extends
BaseDaoImpl
<
SeriesBook
>
implements
SeriesBookDao
{
@Override
public
List
<
SeriesBook
>
getSeriesBookByAgent
(
Long
agentId
)
{
return
getSessionTemplate
().
selectList
(
getStatement
(
"getSeriesBookByAgent"
),
agentId
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/dao/impl/SeriesBookRecordDaoImpl.java
0 → 100644
View file @
77b1b3de
package
com
.
pcloud
.
book
.
book
.
dao
.
impl
;
import
com.pcloud.book.book.dao.SeriesBookRecordDao
;
import
com.pcloud.book.book.entity.SeriesBookRecord
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Component
;
/**
* @ClassName com.pcloud.book.book.dao.impl.SeriesBookRecordDaoImpl
* @Author zhuyajie
* @Description
* @Date 2020/11/25 10:07
* @Version 1.0
**/
@Component
public
class
SeriesBookRecordDaoImpl
extends
BaseDaoImpl
<
SeriesBookRecord
>
implements
SeriesBookRecordDao
{
}
pcloud-service-book/src/main/java/com/pcloud/book/book/entity/SeriesBook.java
0 → 100644
View file @
77b1b3de
package
com
.
pcloud
.
book
.
book
.
entity
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
"系列书"
)
public
class
SeriesBook
extends
BaseEntity
{
@ApiModelProperty
(
"出版社id"
)
private
Long
agentId
;
@ApiModelProperty
(
"系列书关键词"
)
private
String
seriesBookKeyword
;
}
pcloud-service-book/src/main/java/com/pcloud/book/book/entity/SeriesBookRecord.java
0 → 100644
View file @
77b1b3de
package
com
.
pcloud
.
book
.
book
.
entity
;
import
com.pcloud.common.entity.BaseEntity
;
import
lombok.Data
;
/**
* 系列书查询记录(SeriesBookRecord)实体类
*
* @author makejava
* @since 2020-11-25 10:04:59
*/
@Data
public
class
SeriesBookRecord
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
-
52773084357050050L
;
/**
* 主键
*/
private
Long
id
;
/**
* 用户id
*/
private
Long
userId
;
private
Long
seriesBookId
;
/**
* 书刊id
*/
private
Long
bookId
;
/**
* 渠道id
*/
private
Long
channelId
;
/**
* 编辑id
*/
private
Long
adviserId
;
/**
* 操作类型(1曝光2点击)
*/
private
Integer
recordType
;
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/book/facade/impl/BookFacadeImpl.java
View file @
77b1b3de
...
@@ -14,6 +14,7 @@ import com.pcloud.book.book.dto.BookDto;
...
@@ -14,6 +14,7 @@ import com.pcloud.book.book.dto.BookDto;
import
com.pcloud.book.book.dto.CreateBookVO
;
import
com.pcloud.book.book.dto.CreateBookVO
;
import
com.pcloud.book.book.dto.RelateAdviserVO
;
import
com.pcloud.book.book.dto.RelateAdviserVO
;
import
com.pcloud.book.book.entity.Book
;
import
com.pcloud.book.book.entity.Book
;
import
com.pcloud.book.book.entity.SeriesBookRecord
;
import
com.pcloud.book.book.facade.BookFacade
;
import
com.pcloud.book.book.facade.BookFacade
;
import
com.pcloud.book.book.vo.BookQualifyVO
;
import
com.pcloud.book.book.vo.BookQualifyVO
;
import
com.pcloud.book.book.vo.ListNoAuthBookParam
;
import
com.pcloud.book.book.vo.ListNoAuthBookParam
;
...
@@ -1193,4 +1194,33 @@ public class BookFacadeImpl implements BookFacade {
...
@@ -1193,4 +1194,33 @@ public class BookFacadeImpl implements BookFacade {
public
ResponseDto
<?>
getBookLabelsAll
()
throws
BizException
,
PermissionException
{
public
ResponseDto
<?>
getBookLabelsAll
()
throws
BizException
,
PermissionException
{
return
new
ResponseDto
<>(
bookBiz
.
getBookLabels
(
0L
));
return
new
ResponseDto
<>(
bookBiz
.
getBookLabels
(
0L
));
}
}
@ApiOperation
(
"系列书学科列表"
)
@GetMapping
(
"getSubjectLabelList4SeriesBook"
)
public
ResponseDto
<?>
getSubjectLabelList4SeriesBook
(
@RequestParam
(
"seriesBookId"
)
Long
seriesBookId
){
return
new
ResponseDto
<>(
bookBiz
.
getSubjectLabelList4SeriesBook
(
seriesBookId
));
}
@ApiOperation
(
"是否是系列书"
)
@GetMapping
(
"isSeriesBook"
)
public
ResponseDto
<?>
isSeriesBook
(
@RequestParam
(
"bookId"
)
Long
bookId
,
@RequestParam
(
"adviserId"
)
Long
adviserId
,
@RequestParam
(
"channelId"
)
Long
channelId
){
return
new
ResponseDto
<>(
bookBiz
.
isSeriesBook
(
bookId
,
adviserId
,
channelId
));
}
@ApiOperation
(
"根据学科查系列书"
)
@GetMapping
(
"getSeriesBookList"
)
public
ResponseDto
<?>
getSeriesBookList
(
@RequestParam
(
"seriesBookId"
)
Long
seriesBookId
,
@RequestParam
(
"subLabelId"
)
Long
subLabelId
){
return
new
ResponseDto
<>(
bookBiz
.
getSeriesBookList
(
seriesBookId
,
subLabelId
));
}
@ApiOperation
(
"系列书查询记录埋点"
)
@PostMapping
(
"addSeriesBookRecord"
)
public
ResponseDto
<?>
addSeriesBookRecord
(
@CookieValue
(
"userInfo"
)
String
userInfo
,
@RequestBody
SeriesBookRecord
seriesBookRecord
){
Long
wechatUserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
seriesBookRecord
.
setUserId
(
wechatUserId
);
bookBiz
.
addSeriesBookRecord
(
seriesBookRecord
);
return
new
ResponseDto
<>();
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/es/biz/ESBookAndAdviserBiz.java
View file @
77b1b3de
...
@@ -31,4 +31,11 @@ public interface ESBookAndAdviserBiz {
...
@@ -31,4 +31,11 @@ public interface ESBookAndAdviserBiz {
*/
*/
Page
<
ESBookAndAdviser
>
getESAdviserBooks4Answer
(
String
grayStatus
,
String
keyword
,
Long
graLabelId
,
Long
subLabelId
,
Long
verLabelId
,
Page
<
ESBookAndAdviser
>
getESAdviserBooks4Answer
(
String
grayStatus
,
String
keyword
,
Long
graLabelId
,
Long
subLabelId
,
Long
verLabelId
,
Integer
currentPage
,
Integer
numPerPage
,
List
<
Long
>
templetIds
);
Integer
currentPage
,
Integer
numPerPage
,
List
<
Long
>
templetIds
);
/**
* 系列书搜索
* @author:zhuyajie
* @date:2020/11/23 17:26
* * @param null
*/
Page
<
ESBookAndAdviser
>
getAdviserBooks4SeriesBook
(
List
<
String
>
keywords
,
Integer
currentPage
,
Integer
numPerPage
,
List
<
Long
>
adviserIds
,
Long
agentId
,
Long
subLabelId
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/es/biz/impl/ESBookAndAdviserBizImpl.java
View file @
77b1b3de
...
@@ -11,6 +11,7 @@ import com.pcloud.book.es.biz.ESBookAndAdviserBiz;
...
@@ -11,6 +11,7 @@ import com.pcloud.book.es.biz.ESBookAndAdviserBiz;
import
com.pcloud.book.es.entity.ESBookAndAdviser
;
import
com.pcloud.book.es.entity.ESBookAndAdviser
;
import
com.pcloud.book.es.repository.BookAndAdviserRepository
;
import
com.pcloud.book.es.repository.BookAndAdviserRepository
;
import
com.pcloud.book.group.biz.BookGroupBiz
;
import
com.pcloud.book.group.biz.BookGroupBiz
;
import
com.pcloud.book.rightsSetting.constants.RightsSettingConstant
;
import
com.pcloud.book.util.common.ThreadPoolUtils
;
import
com.pcloud.book.util.common.ThreadPoolUtils
;
import
com.pcloud.book.util.common.YesOrNoEnums
;
import
com.pcloud.book.util.common.YesOrNoEnums
;
import
com.pcloud.book.util.properties.BookProps
;
import
com.pcloud.book.util.properties.BookProps
;
...
@@ -34,6 +35,7 @@ import org.springframework.transaction.annotation.Transactional;
...
@@ -34,6 +35,7 @@ import org.springframework.transaction.annotation.Transactional;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.HashSet
;
import
java.util.HashSet
;
import
java.util.Iterator
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.List
;
...
@@ -341,4 +343,29 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz {
...
@@ -341,4 +343,29 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz {
return
search
;
return
search
;
}
}
@Override
public
Page
<
ESBookAndAdviser
>
getAdviserBooks4SeriesBook
(
List
<
String
>
keywords
,
Integer
currentPage
,
Integer
numPerPage
,
List
<
Long
>
adviserIds
,
Long
agentId
,
Long
subLabelId
)
{
//k12教育分类校验
List
<
Long
>
templetIds
=
Arrays
.
asList
(
RightsSettingConstant
.
K12_VERSION_ID
);
BoolQueryBuilder
boolQueryBuilder
=
QueryBuilders
.
boolQuery
()
.
filter
(
QueryBuilders
.
termQuery
(
"isBookDelete"
,
0
))
.
filter
(
QueryBuilders
.
termQuery
(
"isBookAdviserDelete"
,
0
))
.
filter
(
null
==
agentId
?
QueryBuilders
.
boolQuery
()
:
QueryBuilders
.
termsQuery
(
"adviserId"
,
adviserIds
))
.
filter
(
null
==
subLabelId
?
QueryBuilders
.
boolQuery
()
:
QueryBuilders
.
termQuery
(
"subLabelId"
,
subLabelId
))
.
filter
(
ListUtils
.
isEmpty
(
templetIds
)
?
QueryBuilders
.
boolQuery
()
:
QueryBuilders
.
termsQuery
(
"templetId"
,
templetIds
));
BoolQueryBuilder
should
=
QueryBuilders
.
boolQuery
();
for
(
String
keyword:
keywords
){
should
.
should
(
StringUtil
.
isEmpty
(
keyword
)
?
QueryBuilders
.
boolQuery
()
:
QueryBuilders
.
wildcardQuery
(
"bookName"
,
"*"
+
keyword
+
"*"
));
}
BoolQueryBuilder
should1
=
QueryBuilders
.
boolQuery
()
.
should
(
QueryBuilders
.
termQuery
(
"isAdviserBook"
,
1
));
boolQueryBuilder
.
must
(
should
);
boolQueryBuilder
.
must
(
should1
);
Sort
sort
=
new
Sort
(
Sort
.
Direction
.
DESC
,
"lastModifiedDate"
,
"bookId"
);
PageRequest
pageRequest
=
new
PageRequest
(
currentPage
,
numPerPage
,
sort
);
Page
<
ESBookAndAdviser
>
search
=
bookAndAdviserRepository
.
search
(
boolQueryBuilder
,
pageRequest
);
return
search
;
}
}
}
pcloud-service-book/src/main/resources/mapper/book/SeriesBook.xml
0 → 100644
View file @
77b1b3de
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.pcloud.book.book.dao.impl.SeriesBookDaoImpl"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.book.entity.SeriesBook"
>
<id
column=
"id"
property=
"id"
jdbcType=
"BIGINT"
/>
<result
column=
"agent_id"
property=
"agentId"
jdbcType=
"BIGINT"
/>
<result
column=
"series_book_keyword"
property=
"seriesBookKeyword"
jdbcType=
"VARCHAR"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id,agent_id,series_book_keyword,create_time
</sql>
<insert
id=
"insert"
parameterType=
"com.pcloud.book.book.entity.HotBook"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into series_book
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
agent_id,
series_book_keyword,
create_time
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
#{agentId,jdbcType=BIGINT},
#{seriesBookKeyword,jdbcType=INTEGER},
NOW()
</trim>
</insert>
<delete
id=
"deleteById"
parameterType=
"long"
>
delete from series_book
where id=#{id}
</delete>
<select
id=
"getById"
resultMap=
"BaseResultMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM series_book
WHERE id=#{id}
</select>
<select
id=
"getSeriesBookByAgent"
resultMap=
"BaseResultMap"
parameterType=
"long"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM series_book
WHERE agent_id=#{agentId}
ORDER BY LENGTH(series_book_keyword) DESC
</select>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/book/SeriesBookRecord.xml
0 → 100644
View file @
77b1b3de
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.pcloud.book.book.dao.impl.SeriesBookRecordDaoImpl"
>
<resultMap
type=
"com.pcloud.book.book.entity.SeriesBookRecord"
id=
"SeriesBookRecordMap"
>
<result
property=
"id"
column=
"id"
jdbcType=
"INTEGER"
/>
<result
property=
"userId"
column=
"user_id"
jdbcType=
"INTEGER"
/>
<result
property=
"seriesBookId"
column=
"series_book_id"
jdbcType=
"INTEGER"
/>
<result
property=
"bookId"
column=
"book_id"
jdbcType=
"INTEGER"
/>
<result
property=
"channelId"
column=
"channel_id"
jdbcType=
"INTEGER"
/>
<result
property=
"adviserId"
column=
"adviser_id"
jdbcType=
"INTEGER"
/>
<result
property=
"recordType"
column=
"record_type"
jdbcType=
"INTEGER"
/>
<result
property=
"createTime"
column=
"create_time"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<!--查询单个-->
<select
id=
"getById"
resultMap=
"SeriesBookRecordMap"
>
select
id, user_id, series_book_id, book_id, channel_id, adviser_id, record_type, create_time
from book.series_book_record
where id = #{id}
</select>
<!--新增所有列-->
<insert
id=
"insert"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
insert into book.series_book_record(user_id, series_book_id, book_id, channel_id, adviser_id, record_type, create_time)
values (#{userId}, #{seriesBookId}, #{bookId}, #{channelId}, #{adviserId}, #{recordType}, now())
</insert>
<!--通过主键修改数据-->
<update
id=
"update"
>
update book.series_book_record
<set>
<if
test=
"userId != null"
>
user_id = #{userId},
</if>
<if
test=
"seriesBookId != null"
>
series_book_id = #{seriesBookId},
</if>
<if
test=
"bookId != null"
>
book_id = #{bookId},
</if>
<if
test=
"channelId != null"
>
channel_id = #{channelId},
</if>
<if
test=
"adviserId != null"
>
adviser_id = #{adviserId},
</if>
<if
test=
"recordType != null"
>
record_type = #{recordType},
</if>
<if
test=
"createTime != null"
>
create_time = #{createTime},
</if>
</set>
where id = #{id}
</update>
<!--通过主键删除-->
<delete
id=
"deleteById"
>
delete from book.series_book_record where id = #{id}
</delete>
</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