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
59acfb01
Commit
59acfb01
authored
Apr 17, 2020
by
阮思源
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1002741书刊导入es
parent
9ce8fb7b
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
533 additions
and
19 deletions
+533
-19
BookAppealBizImpl.java
...va/com/pcloud/book/appeal/biz/impl/BookAppealBizImpl.java
+7
-0
BookAdviserBizImpl.java
...ava/com/pcloud/book/book/biz/impl/BookAdviserBizImpl.java
+21
-0
BookBizImpl.java
.../main/java/com/pcloud/book/book/biz/impl/BookBizImpl.java
+79
-18
BookAdviserDao.java
...rc/main/java/com/pcloud/book/book/dao/BookAdviserDao.java
+2
-0
BookDao.java
...-book/src/main/java/com/pcloud/book/book/dao/BookDao.java
+9
-0
BookAdviserDaoImpl.java
...ava/com/pcloud/book/book/dao/impl/BookAdviserDaoImpl.java
+7
-0
BookDaoImpl.java
.../main/java/com/pcloud/book/book/dao/impl/BookDaoImpl.java
+27
-0
BookFacade.java
...src/main/java/com/pcloud/book/book/facade/BookFacade.java
+1
-0
ESBookAndAdviserBiz.java
...main/java/com/pcloud/book/es/biz/ESBookAndAdviserBiz.java
+20
-0
ESBookAndAdviserBizImpl.java
.../com/pcloud/book/es/biz/impl/ESBookAndAdviserBizImpl.java
+102
-0
ESBookAndAdviser.java
...main/java/com/pcloud/book/es/entity/ESBookAndAdviser.java
+100
-0
ESBookAndAdviserFacade.java
...ava/com/pcloud/book/es/facade/ESBookAndAdviserFacade.java
+54
-0
BookAndAdviserRepository.java
...m/pcloud/book/es/repository/BookAndAdviserRepository.java
+7
-0
Book.Mapper.xml
...rvice-book/src/main/resources/mapper/book/Book.Mapper.xml
+88
-1
BookAdviser.Mapper.xml
...ook/src/main/resources/mapper/book/BookAdviser.Mapper.xml
+9
-0
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/appeal/biz/impl/BookAppealBizImpl.java
View file @
59acfb01
...
...
@@ -26,6 +26,7 @@ import com.pcloud.book.consumer.message.TemplateConsr;
import
com.pcloud.book.consumer.user.AdviserConsr
;
import
com.pcloud.book.consumer.user.BookcaseConsr
;
import
com.pcloud.book.consumer.user.ChannelConsr
;
import
com.pcloud.book.es.biz.ESBookAndAdviserBiz
;
import
com.pcloud.book.group.biz.BookGroupBiz
;
import
com.pcloud.book.util.common.ThreadPoolUtils
;
import
com.pcloud.common.core.constant.SceneCode
;
...
...
@@ -45,6 +46,7 @@ import org.springframework.stereotype.Component;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
...
...
@@ -103,6 +105,9 @@ public class BookAppealBizImpl implements BookAppealBiz {
@Autowired
private
BookGroupBiz
bookGroupBiz
;
@Autowired
private
ESBookAndAdviserBiz
esBookAndAdviserBiz
;
/**
* 书刊申诉
*/
...
...
@@ -313,6 +318,7 @@ public class BookAppealBizImpl implements BookAppealBiz {
}
// 批量修改图书编辑关联关系
bookAdviserDao
.
insert
(
bookMainAdviserDto
.
getBookAdviserList
());
esBookAndAdviserBiz
.
updateBookAndAdviserToES
(
Collections
.
singletonList
(
bookId
));
// 新增申诉编辑图书与二维码关联关系
ThreadPoolUtils
.
OTHER_THREAD_POOL
.
execute
(()
->
{
recoverBookQrcodeAssoc
(
bookId
,
bookAppealDto
.
getChannelId
(),
appealAdviserId
);
...
...
@@ -367,6 +373,7 @@ public class BookAppealBizImpl implements BookAppealBiz {
bookAdviser
.
setIsMainEditor
(
true
);
bookAdviser
.
setSecondTempletId
(
secondTempletId
);
bookAdviserDao
.
insert
(
bookAdviser
);
esBookAndAdviserBiz
.
updateBookAndAdviserToES
(
Collections
.
singletonList
(
bookId
));
// 恢复申诉编辑图书与二维码关联关系
recoverBookQrcodeAssoc
(
bookId
,
channelId
,
declarant
);
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/impl/BookAdviserBizImpl.java
View file @
59acfb01
...
...
@@ -2,6 +2,7 @@ package com.pcloud.book.book.biz.impl;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
...
...
@@ -11,6 +12,8 @@ import java.util.stream.Collectors;
import
com.pcloud.book.book.dto.BookRightsSettingDTO
;
import
com.pcloud.book.rightsSetting.biz.RightsSettingBiz
;
import
com.pcloud.book.rightsSetting.dto.RightsSettingDto
;
import
com.pcloud.book.es.biz.ESBookAndAdviserBiz
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -111,6 +114,9 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
@Autowired
private
RightsSettingBiz
rightsSettingBiz
;
@Autowired
private
ESBookAndAdviserBiz
esBookAndAdviserBiz
;
@Override
public
List
<
BookDto
>
listByAdviserId
(
Long
adviserId
)
{
if
(
null
==
adviserId
)
{
...
...
@@ -158,6 +164,7 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
// 默认是主编辑
bookAdviser
.
setIsMainEditor
(
true
);
bookAdviserDao
.
insert
(
bookAdviser
);
esBookAndAdviserBiz
.
updateBookAndAdviserToES
(
Collections
.
singletonList
(
bookAdviser
.
getBookId
()));
}
catch
(
DataIntegrityViolationException
e
)
{
throw
new
BookBizException
(
BookBizException
.
DB_DML_FAIL
,
"该书刊已经被别的编辑添加过"
);
}
catch
(
Exception
e
)
{
...
...
@@ -245,6 +252,7 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
}
LOGGER
.
info
(
"【书籍-编辑】删除编辑和书籍的推广信息,<START>.[bookId]="
+
bookId
);
bookAdviserDao
.
deleteByBook
(
bookId
);
esBookAndAdviserBiz
.
updateBookAndAdviserToES
(
Collections
.
singletonList
(
bookId
));
}
/**
...
...
@@ -260,6 +268,7 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
try
{
LOGGER
.
info
(
"【书籍-编辑】批量删除书刊的推广信息,<START>.[bookIds]="
+
bookIds
.
toString
());
bookAdviserDao
.
deleteByBooks
(
bookIds
);
esBookAndAdviserBiz
.
updateBookAndAdviserToES
(
bookIds
);
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"【书籍-编辑】批量删除书刊的推广信息,<ERROR>.[bookAdviserDao.deleteByBooks]"
+
e
.
getMessage
(),
e
);
throw
new
BookBizException
(
BookBizException
.
DB_DML_FAIL
,
"批量删除书刊的推广信息失败"
);
...
...
@@ -379,6 +388,7 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
paramMap
.
put
(
"bookId"
,
bookId
);
paramMap
.
put
(
"channelId"
,
channelId
);
bookAdviserDao
.
deleteByBookAndChannel
(
paramMap
);
esBookAndAdviserBiz
.
updateBookAndAdviserToES
(
Collections
.
singletonList
(
bookId
));
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"【编辑书刊】根据书籍和渠道删除书籍编辑关联信息,<ERROR>.[deleteByBookAndChannel]:"
+
e
.
getMessage
(),
e
);
throw
new
BookBizException
(
BookBizException
.
DB_DML_FAIL
,
"根据书籍和渠道删除书籍编辑关联信息失败"
);
...
...
@@ -487,6 +497,7 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
LOGGER
.
info
(
"【书籍-编辑】编辑设置书籍推广信息,<START>.[bookAdviser]="
+
bookAdviser
.
toString
());
// 默认是主编辑
bookAdviserDao
.
insert
(
bookAdviser
);
esBookAndAdviserBiz
.
updateBookAndAdviserToES
(
Collections
.
singletonList
(
bookAdviser
.
getBookId
()));
}
catch
(
Exception
e
)
{
LOGGER
.
warn
(
"【书籍-编辑】编辑设置书籍推广信息,<ERROR>.[BookAdviserDao.insert]"
+
e
.
getMessage
(),
e
);
}
...
...
@@ -559,6 +570,7 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
bookAdviser
.
setDepLabelId
(
book
.
getDepLabelId
());
bookAdviser
.
setPurLabelId
(
book
.
getPurLabelId
());
bookAdviserDao
.
updateBookTemplet
(
bookAdviser
);
esBookAndAdviserBiz
.
updateBookAndAdviserToES
(
Collections
.
singletonList
(
bookAdviser
.
getBookId
()));
}
/**
...
...
@@ -727,6 +739,7 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
paramMap
.
put
(
"verLabelId"
,
verLabelId
);
paramMap
.
put
(
"areaLabelId"
,
areaLabelId
);
bookAdviserDao
.
updateBook4Adviser
(
paramMap
);
esBookAndAdviserBiz
.
updateBookAndAdviserToES
(
Collections
.
singletonList
(
bookId
));
if
(
BookConstant
.
BOOK_ADVISER_DELETE
.
equals
(
deleteStatus
))
{
bookGroupBiz
.
deleteByBookId
(
bookId
,
channelId
,
adviserId
);
}
...
...
@@ -753,6 +766,7 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
public
void
setBookTemplet
(
BookAdviser
bookAdviser
)
{
LOGGER
.
info
(
"设置图书使用模板【START】bookAdviser="
+
bookAdviser
);
bookAdviserDao
.
updateBookTemplet
(
bookAdviser
);
esBookAndAdviserBiz
.
updateBookAndAdviserToES
(
Collections
.
singletonList
(
bookAdviser
.
getBookId
()));
}
@Override
@ParamLog
(
value
=
"获取图书基本信息"
,
isBefore
=
false
,
isAfterReturn
=
false
)
...
...
@@ -777,6 +791,13 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
public
void
refactorData
(
Long
parentId
,
Long
originTempletId
,
Long
secondTempletId
)
{
LOGGER
.
info
(
"begin refactorData"
);
int
effectRows
=
bookAdviserDao
.
updateBookBySecondTempletId
(
parentId
,
originTempletId
,
secondTempletId
);
try
{
List
<
Long
>
bookIds
=
bookAdviserDao
.
getBookIdsByTempletId
(
originTempletId
);
esBookAndAdviserBiz
.
updateBookAndAdviserToES
(
bookIds
);
}
catch
(
Exception
e
){
LOGGER
.
error
(
"更新编辑和书es失败"
+
originTempletId
);
}
LOGGER
.
info
(
"refactorData effect rows : {}"
,
effectRows
);
LOGGER
.
info
(
"end refactorData"
);
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/impl/BookBizImpl.java
View file @
59acfb01
This diff is collapsed.
Click to expand it.
pcloud-service-book/src/main/java/com/pcloud/book/book/dao/BookAdviserDao.java
View file @
59acfb01
...
...
@@ -252,4 +252,6 @@ public interface BookAdviserDao extends BaseDao<BookAdviser> {
* @return
*/
long
setIsPrint
(
BookAdviser
bookAdviser
);
List
<
Long
>
getBookIdsByTempletId
(
Long
templetId
);
}
pcloud-service-book/src/main/java/com/pcloud/book/book/dao/BookDao.java
View file @
59acfb01
...
...
@@ -9,6 +9,7 @@ import com.pcloud.book.book.dto.BookInfoAnalysicsDTO;
import
com.pcloud.book.book.entity.Book
;
import
com.pcloud.book.book.vo.BookSaleVO
;
import
com.pcloud.book.book.vo.SearchBookVO
;
import
com.pcloud.book.es.entity.ESBookAndAdviser
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.List
;
...
...
@@ -337,4 +338,12 @@ public interface BookDao extends BaseDao<Book> {
void
updateBookQualifyInfo
(
Map
<
String
,
Object
>
map
);
SearchBookVO
getBookInfoByBookGroupId
(
Map
<
String
,
Object
>
paramMap
);
Integer
count
();
List
<
ESBookAndAdviser
>
findAllBookAndAdviser
(
Long
maxId
,
Integer
offset
);
List
<
ESBookAndAdviser
>
findBookAndAdviserByBookIds
(
List
<
Long
>
bookIds
);
Map
<
Long
,
BookDto
>
getMapByBookIds
(
List
<
Long
>
bookIds
);
}
pcloud-service-book/src/main/java/com/pcloud/book/book/dao/impl/BookAdviserDaoImpl.java
View file @
59acfb01
...
...
@@ -251,4 +251,11 @@ public class BookAdviserDaoImpl extends BaseDaoImpl<BookAdviser> implements Book
public
long
setIsPrint
(
BookAdviser
bookAdviser
)
{
return
super
.
getSqlSession
().
update
(
getStatement
(
"setIsPrint"
),
bookAdviser
);
}
@Override
public
List
<
Long
>
getBookIdsByTempletId
(
Long
templetId
)
{
Map
<
String
,
Object
>
map
=
Maps
.
newHashMap
();
map
.
put
(
"templetId"
,
templetId
);
return
getSqlSession
().
selectList
(
getStatement
(
"getBookIdsByTempletId"
),
map
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/dao/impl/BookDaoImpl.java
View file @
59acfb01
...
...
@@ -11,6 +11,7 @@ import com.pcloud.book.book.dto.BookInfoAnalysicsDTO;
import
com.pcloud.book.book.entity.Book
;
import
com.pcloud.book.book.vo.BookSaleVO
;
import
com.pcloud.book.book.vo.SearchBookVO
;
import
com.pcloud.book.es.entity.ESBookAndAdviser
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Repository
;
...
...
@@ -344,4 +345,30 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao {
public
SearchBookVO
getBookInfoByBookGroupId
(
Map
<
String
,
Object
>
paramMap
)
{
return
super
.
getSqlSession
().
selectOne
(
super
.
getStatement
(
"getBookInfoByBookGroupId"
),
paramMap
);
}
@Override
public
Integer
count
()
{
return
super
.
getSqlSession
().
selectOne
(
getStatement
(
"count"
));
}
@Override
public
List
<
ESBookAndAdviser
>
findAllBookAndAdviser
(
Long
maxId
,
Integer
offset
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"maxId"
,
maxId
);
map
.
put
(
"offset"
,
offset
);
return
super
.
getSqlSession
().
selectList
(
getStatement
(
"findAllBookAndAdviser"
),
map
);
}
@Override
public
List
<
ESBookAndAdviser
>
findBookAndAdviserByBookIds
(
List
<
Long
>
bookIds
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"bookIds"
,
bookIds
);
return
super
.
getSqlSession
().
selectList
(
getStatement
(
"findBookAndAdviserByBookIds"
),
map
);
}
@Override
public
Map
<
Long
,
BookDto
>
getMapByBookIds
(
List
<
Long
>
bookIds
)
{
return
super
.
getSqlSession
().
selectMap
(
super
.
getStatement
(
"getMapByBookIds"
),
bookIds
,
"bookId"
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/facade/BookFacade.java
View file @
59acfb01
...
...
@@ -741,4 +741,5 @@ public interface BookFacade {
public
ResponseDto
<?>
getBookInfoByBookGroupId
(
@RequestParam
(
value
=
"bookGroupId"
)
Long
bookGroupId
)
throws
PermissionException
,
JsonParseException
,
BizException
;
}
pcloud-service-book/src/main/java/com/pcloud/book/es/biz/ESBookAndAdviserBiz.java
0 → 100644
View file @
59acfb01
package
com
.
pcloud
.
book
.
es
.
biz
;
import
com.pcloud.book.es.entity.ESBookAndAdviser
;
import
org.springframework.data.domain.Page
;
import
java.util.List
;
/**
* @Description
* @Author ruansiyuan
* @Date 2020/4/13 12:21
**/
public
interface
ESBookAndAdviserBiz
{
void
addAllBookAndAdviserToES
();
void
updateBookAndAdviserToES
(
List
<
Long
>
bookIds
);
Page
<
ESBookAndAdviser
>
getAdviserBooks4ES
(
String
keyword
,
Long
templetId
,
Long
secondTempletId
,
Integer
currentPage
,
Integer
numPerPage
);
}
pcloud-service-book/src/main/java/com/pcloud/book/es/biz/impl/ESBookAndAdviserBizImpl.java
0 → 100644
View file @
59acfb01
package
com
.
pcloud
.
book
.
es
.
biz
.
impl
;
import
com.pcloud.book.book.dao.BookDao
;
import
com.pcloud.book.es.biz.ESBookAndAdviserBiz
;
import
com.pcloud.book.es.entity.ESBookAndAdviser
;
import
com.pcloud.book.es.repository.BookAndAdviserRepository
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.string.StringUtil
;
import
org.elasticsearch.index.query.BoolQueryBuilder
;
import
org.elasticsearch.index.query.QueryBuilders
;
import
org.elasticsearch.index.query.TermQueryBuilder
;
import
org.elasticsearch.index.query.WildcardQueryBuilder
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.stereotype.Component
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
import
java.util.Objects
;
/**
* @Description
* @Author ruansiyuan
* @Date 2020/4/13 12:21
**/
@Component
(
"esBookAndAdviserBiz"
)
public
class
ESBookAndAdviserBizImpl
implements
ESBookAndAdviserBiz
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
ESBookAndAdviserBizImpl
.
class
);
@Autowired
private
BookDao
bookDao
;
@Autowired
private
BookAndAdviserRepository
bookAndAdviserRepository
;
@ParamLog
(
"导入全部book和bookAdviser"
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
addAllBookAndAdviserToES
()
{
Integer
count
=
bookDao
.
count
();
LOGGER
.
info
(
"总数:"
+
count
);
if
(
null
==
count
||
count
<=
0
)
{
return
;
}
Long
maxId
=
0L
;
Integer
index
=
0
;
Integer
offset
=
10000
;
while
(
index
*
offset
<
count
)
{
List
<
ESBookAndAdviser
>
list
=
bookDao
.
findAllBookAndAdviser
(
maxId
,
offset
);
if
(
ListUtils
.
isEmpty
(
list
))
{
break
;
}
bookAndAdviserRepository
.
save
(
list
);
maxId
=
Long
.
valueOf
(
list
.
get
(
list
.
size
()
-
1
).
getBookId
());
index
+=
1
;
}
}
@ParamLog
(
"更新书和编辑书"
)
@Override
public
void
updateBookAndAdviserToES
(
List
<
Long
>
bookIds
)
{
if
(
bookIds
==
null
){
return
;
}
try
{
List
<
ESBookAndAdviser
>
list
=
bookDao
.
findBookAndAdviserByBookIds
(
bookIds
);
if
(
ListUtils
.
isEmpty
(
list
)){
return
;
}
bookAndAdviserRepository
.
save
(
list
);
}
catch
(
Exception
e
){
LOGGER
.
error
(
"更新书和编辑书出错:"
+
bookIds
.
toString
());
}
}
@Override
public
Page
<
ESBookAndAdviser
>
getAdviserBooks4ES
(
String
keyword
,
Long
templetId
,
Long
secondTempletId
,
Integer
currentPage
,
Integer
numPerPage
)
{
BoolQueryBuilder
boolQueryBuilder
=
QueryBuilders
.
boolQuery
()
.
filter
(
QueryBuilders
.
termQuery
(
"isBookDelete"
,
0
))
.
filter
(
Objects
.
isNull
(
templetId
)
?
QueryBuilders
.
boolQuery
()
:
QueryBuilders
.
termQuery
(
"templetId"
,
templetId
))
.
filter
(
Objects
.
isNull
(
secondTempletId
)
?
QueryBuilders
.
boolQuery
()
:
QueryBuilders
.
termQuery
(
"secondTempletId"
,
secondTempletId
));
BoolQueryBuilder
should
=
QueryBuilders
.
boolQuery
()
.
should
(
StringUtil
.
isEmpty
(
keyword
)
?
QueryBuilders
.
boolQuery
()
:
QueryBuilders
.
wildcardQuery
(
"bookName"
,
"*"
+
keyword
+
"*"
))
.
should
(
StringUtil
.
isEmpty
(
keyword
)
?
QueryBuilders
.
boolQuery
()
:
QueryBuilders
.
wildcardQuery
(
"isbn"
,
"*"
+
keyword
+
"*"
));
BoolQueryBuilder
should1
=
QueryBuilders
.
boolQuery
()
.
should
(
QueryBuilders
.
termQuery
(
"isBookAdviserDelete"
,
0
))
.
should
(
QueryBuilders
.
termQuery
(
"isAdviserBook"
,
0
));
boolQueryBuilder
.
must
(
should
);
boolQueryBuilder
.
must
(
should1
);
Sort
sort
=
new
Sort
(
Sort
.
Direction
.
DESC
,
"isAdviserBook"
,
"lastModifiedDate"
,
"bookId"
);
PageRequest
pageRequest
=
new
PageRequest
(
currentPage
,
numPerPage
,
sort
);
Page
<
ESBookAndAdviser
>
search
=
bookAndAdviserRepository
.
search
(
boolQueryBuilder
,
pageRequest
);
return
search
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/es/entity/ESBookAndAdviser.java
0 → 100644
View file @
59acfb01
package
com
.
pcloud
.
book
.
es
.
entity
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
org.springframework.data.annotation.Id
;
import
org.springframework.data.elasticsearch.annotations.Document
;
import
org.springframework.data.elasticsearch.annotations.Field
;
import
org.springframework.data.elasticsearch.annotations.FieldIndex
;
import
org.springframework.data.elasticsearch.annotations.FieldType
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @Description
* @Author ruansiyuan
* @Date 2020/4/13 14:29
**/
@Data
@Document
(
indexName
=
"book"
,
type
=
"book_and_adviser"
)
public
class
ESBookAndAdviser
{
/**
* 书籍标识
*/
@Id
private
String
bookId
;
/**
* 编辑书id
*/
private
String
bookAdviserId
;
/**
* 编辑标识
*/
private
String
adviserId
;
/**
* 渠道标识
*/
private
String
channelId
;
/**
* 模板标识
*/
private
String
templetId
;
/**
* 第二级类型
*/
private
String
secondTempletId
;
/**
* 是否是主编辑
*/
private
Boolean
isMainEditor
;
/**
* 类型编码
*/
private
String
typeCode
;
/**
* 书籍ISBN码
*/
@Field
(
type
=
FieldType
.
String
,
index
=
FieldIndex
.
not_analyzed
)
private
String
isbn
;
/**
* 书籍名称
*/
@Field
(
type
=
FieldType
.
String
,
index
=
FieldIndex
.
not_analyzed
)
private
String
bookName
;
/**
* 是否删除(书)
*/
private
String
isBookDelete
;
/**
* 是否删除(编辑书)
*/
private
String
isBookAdviserDelete
;
/**
* 最后更新时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
lastModifiedDate
;
/**
* 是否编辑书刊
*/
private
String
isAdviserBook
;
}
pcloud-service-book/src/main/java/com/pcloud/book/es/facade/ESBookAndAdviserFacade.java
0 → 100644
View file @
59acfb01
package
com
.
pcloud
.
book
.
es
.
facade
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.es.biz.ESBookAndAdviserBiz
;
import
com.pcloud.book.es.entity.ESBookAndAdviser
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.exceptions.BizException
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Page
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
/**
* @Description
* @Author ruansiyuan
* @Date 2019/6/13 16:43
**/
@RestController
(
"eesBookAndAdviserFacade"
)
@RequestMapping
(
"esBookAndAdviser"
)
public
class
ESBookAndAdviserFacade
{
@Autowired
private
ESBookAndAdviserBiz
esBookAndAdviserBiz
;
@ApiOperation
(
"添加所有的书和编辑书到es"
)
@PostMapping
(
"addAllBookAndAdviserToES"
)
public
ResponseDto
<?>
addAllBookAndAdviserToES
()
throws
BizException
{
esBookAndAdviserBiz
.
addAllBookAndAdviserToES
();
return
new
ResponseDto
<>();
}
@ApiOperation
(
"从es中获取编辑书"
)
@GetMapping
(
"getAdviserBooks4ES"
)
public
List
<
ESBookAndAdviser
>
getAdviserBooks4ES
(
@RequestParam
(
value
=
"keyword"
,
required
=
false
)
String
keyword
,
@RequestParam
(
value
=
"templetId"
,
required
=
false
)
Long
templetId
,
@RequestParam
(
value
=
"secondTempletId"
,
required
=
false
)
Long
secondTempletId
,
@RequestParam
(
value
=
"currentPage"
)
Integer
currentPage
,
@RequestParam
(
value
=
"numPerPage"
)
Integer
numPerPage
)
throws
BizException
{
if
(
currentPage
==
null
||
numPerPage
==
null
||
currentPage
<
0
||
numPerPage
<
0
)
{
throw
BookBizException
.
PAGE_PARAM_DELETION
;
}
return
esBookAndAdviserBiz
.
getAdviserBooks4ES
(
keyword
,
templetId
,
secondTempletId
,
currentPage
,
numPerPage
).
getContent
();
}
}
pcloud-service-book/src/main/java/com/pcloud/book/es/repository/BookAndAdviserRepository.java
0 → 100644
View file @
59acfb01
package
com
.
pcloud
.
book
.
es
.
repository
;
import
com.pcloud.book.es.entity.ESBookAndAdviser
;
import
org.springframework.data.elasticsearch.repository.ElasticsearchRepository
;
public
interface
BookAndAdviserRepository
extends
ElasticsearchRepository
<
ESBookAndAdviser
,
String
>
{
}
pcloud-service-book/src/main/resources/mapper/book/Book.Mapper.xml
View file @
59acfb01
...
...
@@ -71,7 +71,7 @@
<collection
property=
"bookFunds"
column=
"BOOK_ID"
ofType=
"bookFundDto"
select=
"com.pcloud.book.book.dao.impl.BookFundDaoImpl.getByBookId"
/>
</resultMap>
<!-- 新增书籍信息-->
<insert
id=
"insert"
parameterType=
"book"
useGeneratedKeys=
"true"
keyProperty=
"bookId"
flushCache=
"true"
>
INSERT INTO `BOOK` (
...
...
@@ -2237,4 +2237,90 @@
limit 1
</select>
<!--获取全表数量-->
<select
id=
"count"
resultType=
"Integer"
>
select count(1) from BOOK
</select>
<!--查询所有-->
<select
id=
"findAllBookAndAdviser"
parameterType=
"map"
resultType=
"com.pcloud.book.es.entity.ESBookAndAdviser"
>
SELECT
B.BOOK_ID bookId,
B.ISBN isbn,
B.BOOK_NAME bookName,
B.IS_DELETE isBookDelete,
B.TYPE_CODE typeCode,
IF(A.IS_DELETE is NULL, 0, A.IS_DELETE) isBookAdviserDelete,
IF(A.CHANNEL_ID is NULL, 0, A.CHANNEL_ID) channelId,
IF(A.ADVISER_ID is NULL, 0, A.ADVISER_ID) adviserId,
IF(A.IS_MAIN_EDITOR is NULL, "", A.IS_MAIN_EDITOR) isMainEditor,
IF(A.TEMPLET_ID is NULL, 0, A.TEMPLET_ID) templetId,
IF(A.SECOND_TEMPLET_ID is NULL, 0, A.SECOND_TEMPLET_ID) secondTempletId,
IF(A.LAST_MODIFIED_DATE is NULL, "2001-01-01 00:00:00", A.LAST_MODIFIED_DATE) lastModifiedDate,
IF(A.BOOK_ADVISER_ID is NULL, 0, A.BOOK_ADVISER_ID) bookAdviserId,
IF(A.BOOK_ADVISER_ID is NULL, 0, 1) isAdviserBook
FROM
BOOK B
LEFT JOIN BOOK_ADVISER A ON A.BOOK_ID = B.BOOK_ID and A.IS_MAIN_EDITOR=1
WHERE B.BOOK_ID>#{maxId}
GROUP BY B.BOOK_ID
limit #{offset}
</select>
<!--根据书id集合查询-->
<select
id=
"findBookAndAdviserByBookIds"
parameterType=
"map"
resultType=
"com.pcloud.book.es.entity.ESBookAndAdviser"
>
SELECT
B.BOOK_ID bookId,
B.ISBN isbn,
B.BOOK_NAME bookName,
B.IS_DELETE isBookDelete,
B.TYPE_CODE typeCode,
IF(A.IS_DELETE is NULL, 0, A.IS_DELETE) isBookAdviserDelete,
IF(A.CHANNEL_ID is NULL, 0, A.CHANNEL_ID) channelId,
IF(A.ADVISER_ID is NULL, 0, A.ADVISER_ID) adviserId,
IF(A.IS_MAIN_EDITOR is NULL, "", A.IS_MAIN_EDITOR) isMainEditor,
IF(A.TEMPLET_ID is NULL, 0, A.TEMPLET_ID) templetId,
IF(A.SECOND_TEMPLET_ID is NULL, 0, A.SECOND_TEMPLET_ID) secondTempletId,
IF(A.LAST_MODIFIED_DATE is NULL, "2001-01-01 00:00:00", A.LAST_MODIFIED_DATE) lastModifiedDate,
IF(A.BOOK_ADVISER_ID is NULL, 0, A.BOOK_ADVISER_ID) bookAdviserId,
IF(A.BOOK_ADVISER_ID is NULL, 0, 1) isAdviserBook
FROM
BOOK B
LEFT JOIN BOOK_ADVISER A ON A.BOOK_ID = B.BOOK_ID and A.IS_MAIN_EDITOR=1
WHERE B.BOOK_ID in
<foreach
collection=
"bookIds"
index=
"i"
item=
"item"
open=
"("
separator=
","
close=
")"
>
${item}
</foreach>
GROUP BY B.BOOK_ID
</select>
<!-- 批量获取书籍信息 -->
<select
id=
"getMapByBookIds"
resultMap=
"bookMap"
parameterType=
"list"
>
SELECT
b.BOOK_ID,
b.ISBN,
b.ISSN,
b.BOOK_NAME,
b.REMARK,
b.AUTHOR,
b.PUBLISH,
b.PUBLISH_DATE,
b.COVER_IMG,
b.AD_IMG,
b.ORIGIN_NAME,
b.BOOK_PRICE,
b.TYPE_CODE,
b.SERIAL_NUMBER,
b.CREATED_DATE,
t.TYPE_NAME
FROM
BOOK b
INNER JOIN BOOK_TYPE t ON b.TYPE_CODE = t.TYPE_CODE
WHERE
b.BOOK_ID IN
<foreach
collection=
"list"
index=
"i"
item=
"item"
open=
"("
separator=
","
close=
")"
>
${item}
</foreach>
</select>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/book/BookAdviser.Mapper.xml
View file @
59acfb01
...
...
@@ -633,4 +633,12 @@
and CHANNEL_ID = #{channelId}
</if>
</update>
<!--根据模板id查询bookId集合-->
<select
id=
"getBookIdsByTempletId"
parameterType=
"map"
>
select distinct book_id
from book_adviser
WHERE
TEMPLET_ID = #{templetId}
</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