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
31ef5afc
Commit
31ef5afc
authored
Apr 08, 2020
by
zhuyajie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1002666小程序首页
parent
8d9b72d2
Show whitespace changes
Inline
Side-by-side
Showing
50 changed files
with
3401 additions
and
1 deletions
+3401
-1
AppletBannerBiz.java
...main/java/com/pcloud/book/applet/biz/AppletBannerBiz.java
+45
-0
AppletBooklistBiz.java
...in/java/com/pcloud/book/applet/biz/AppletBooklistBiz.java
+127
-0
AppletNewsBiz.java
...c/main/java/com/pcloud/book/applet/biz/AppletNewsBiz.java
+114
-0
AppletUserBookcaseBiz.java
...ava/com/pcloud/book/applet/biz/AppletUserBookcaseBiz.java
+43
-0
AppletBannerBizImpl.java
.../com/pcloud/book/applet/biz/impl/AppletBannerBizImpl.java
+67
-0
AppletBooklistBizImpl.java
...om/pcloud/book/applet/biz/impl/AppletBooklistBizImpl.java
+269
-0
AppletNewsBizImpl.java
...va/com/pcloud/book/applet/biz/impl/AppletNewsBizImpl.java
+225
-0
AppletUserBookcaseBizImpl.java
...cloud/book/applet/biz/impl/AppletUserBookcaseBizImpl.java
+146
-0
AppletBannerDao.java
...main/java/com/pcloud/book/applet/dao/AppletBannerDao.java
+13
-0
AppletBooklistClassifyDao.java
...com/pcloud/book/applet/dao/AppletBooklistClassifyDao.java
+21
-0
AppletBooklistDao.java
...in/java/com/pcloud/book/applet/dao/AppletBooklistDao.java
+68
-0
AppletNewsClassifyDao.java
...ava/com/pcloud/book/applet/dao/AppletNewsClassifyDao.java
+22
-0
AppletNewsCommentDao.java
...java/com/pcloud/book/applet/dao/AppletNewsCommentDao.java
+11
-0
AppletNewsDao.java
...c/main/java/com/pcloud/book/applet/dao/AppletNewsDao.java
+26
-0
AppletUserBookcaseDao.java
...ava/com/pcloud/book/applet/dao/AppletUserBookcaseDao.java
+40
-0
AppletBannerDaoImpl.java
.../com/pcloud/book/applet/dao/impl/AppletBannerDaoImpl.java
+15
-0
AppletBooklistClassifyDaoImpl.java
...d/book/applet/dao/impl/AppletBooklistClassifyDaoImpl.java
+28
-0
AppletBooklistDaoImpl.java
...om/pcloud/book/applet/dao/impl/AppletBooklistDaoImpl.java
+72
-0
AppletNewsClassifyDaoImpl.java
...cloud/book/applet/dao/impl/AppletNewsClassifyDaoImpl.java
+26
-0
AppletNewsCommentDaoImpl.java
...pcloud/book/applet/dao/impl/AppletNewsCommentDaoImpl.java
+13
-0
AppletNewsDaoImpl.java
...va/com/pcloud/book/applet/dao/impl/AppletNewsDaoImpl.java
+25
-0
AppletUserBookcaseDaoImpl.java
...cloud/book/applet/dao/impl/AppletUserBookcaseDaoImpl.java
+48
-0
AddBookParamDTO.java
...main/java/com/pcloud/book/applet/dto/AddBookParamDTO.java
+22
-0
AppletBannerDTO.java
...main/java/com/pcloud/book/applet/dto/AppletBannerDTO.java
+29
-0
AppletBooklistClassifyDTO.java
...com/pcloud/book/applet/dto/AppletBooklistClassifyDTO.java
+26
-0
AppletBooklistDTO.java
...in/java/com/pcloud/book/applet/dto/AppletBooklistDTO.java
+49
-0
AppletNewsClassifyDTO.java
...ava/com/pcloud/book/applet/dto/AppletNewsClassifyDTO.java
+28
-0
AppletNewsCommentDTO.java
...java/com/pcloud/book/applet/dto/AppletNewsCommentDTO.java
+39
-0
AppletNewsDTO.java
...c/main/java/com/pcloud/book/applet/dto/AppletNewsDTO.java
+56
-0
AppletUserBookcaseDTO.java
...ava/com/pcloud/book/applet/dto/AppletUserBookcaseDTO.java
+53
-0
BookDTO4Booklist.java
...ain/java/com/pcloud/book/applet/dto/BookDTO4Booklist.java
+55
-0
AppletBanner.java
...main/java/com/pcloud/book/applet/entity/AppletBanner.java
+26
-0
AppletBooklist.java
...in/java/com/pcloud/book/applet/entity/AppletBooklist.java
+35
-0
AppletBooklistClassify.java
...com/pcloud/book/applet/entity/AppletBooklistClassify.java
+20
-0
AppletNews.java
...c/main/java/com/pcloud/book/applet/entity/AppletNews.java
+38
-0
AppletNewsClassify.java
...ava/com/pcloud/book/applet/entity/AppletNewsClassify.java
+20
-0
AppletNewsComment.java
...java/com/pcloud/book/applet/entity/AppletNewsComment.java
+20
-0
AppletUserBookcase.java
...ava/com/pcloud/book/applet/entity/AppletUserBookcase.java
+23
-0
AppletUserClickRecord.java
.../com/pcloud/book/applet/entity/AppletUserClickRecord.java
+29
-0
BannerJumpTypeEnum.java
...java/com/pcloud/book/applet/enums/BannerJumpTypeEnum.java
+22
-0
IntroduceTypeEnum.java
.../java/com/pcloud/book/applet/enums/IntroduceTypeEnum.java
+22
-0
AppletHomeFacade.java
.../java/com/pcloud/book/applet/facade/AppletHomeFacade.java
+578
-0
QrcodeSceneConsr.java
...va/com/pcloud/book/consumer/channel/QrcodeSceneConsr.java
+13
-1
AppletBanner.xml
...ce-book/src/main/resources/mapper/applet/AppletBanner.xml
+83
-0
AppletBooklist.xml
...-book/src/main/resources/mapper/applet/AppletBooklist.xml
+213
-0
AppletBooklistClassify.xml
...c/main/resources/mapper/applet/AppletBooklistClassify.xml
+88
-0
AppletNews.xml
...vice-book/src/main/resources/mapper/applet/AppletNews.xml
+140
-0
AppletNewsClassify.xml
...k/src/main/resources/mapper/applet/AppletNewsClassify.xml
+88
-0
AppletNewsComment.xml
...ok/src/main/resources/mapper/applet/AppletNewsComment.xml
+35
-0
AppletUserBookcase.xml
...k/src/main/resources/mapper/applet/AppletUserBookcase.xml
+87
-0
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/AppletBannerBiz.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
biz
;
import
com.pcloud.book.applet.dto.AppletBannerDTO
;
import
com.pcloud.book.applet.entity.AppletBanner
;
import
com.pcloud.common.page.PageBeanNew
;
/**
* 小程序banner
*/
public
interface
AppletBannerBiz
{
/**
* 新增banner
* @param appletBanner
* @return
*/
Long
addBanner
(
AppletBanner
appletBanner
);
/**
* 修改banner
* @param appletBanner
*/
void
updateBanner
(
AppletBanner
appletBanner
);
/**
* 删除banner
* @param id
*/
void
deleteBanner
(
Long
id
);
/**
* 根据id查banner
* @param id
* @return
*/
AppletBannerDTO
getBannerById
(
Long
id
);
/**
* banner列表
* @param currentPage
* @param numPerPage
* @return
*/
PageBeanNew
<
AppletBannerDTO
>
listBanner
(
Integer
currentPage
,
Integer
numPerPage
,
Boolean
showState
);
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/AppletBooklistBiz.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
biz
;
import
com.pcloud.book.applet.dto.AddBookParamDTO
;
import
com.pcloud.book.applet.dto.AppletBooklistClassifyDTO
;
import
com.pcloud.book.applet.dto.AppletBooklistDTO
;
import
com.pcloud.book.applet.dto.BookDTO4Booklist
;
import
com.pcloud.book.applet.entity.AppletBooklist
;
import
com.pcloud.book.applet.entity.AppletBooklistClassify
;
import
com.pcloud.common.page.PageBeanNew
;
import
java.util.List
;
/**
* 小程序书单
*/
public
interface
AppletBooklistBiz
{
/**
* 新增书单栏目
* @param appletBooklistClassify
*/
Long
addBooklistClassify
(
AppletBooklistClassify
appletBooklistClassify
);
/**
* 删除书单栏目
* @param id
*/
void
deleteBooklistClassifyById
(
Long
id
);
/**
* 修改书单栏目
* @param appletBooklistClassify
*/
void
updateBooklistClassify
(
AppletBooklistClassify
appletBooklistClassify
);
/**
* 书单栏目列表
* @param currentPage
* @param numPerPage
* @return
*/
PageBeanNew
<
AppletBooklistClassifyDTO
>
listBooklistClassify
(
Integer
currentPage
,
Integer
numPerPage
,
String
name
);
/**
* 新增书单
* @param appletBooklist
* @return
*/
Long
addBooklist
(
AppletBooklist
appletBooklist
);
/**
* 删除书单
* @param id
*/
void
deleteBooklistById
(
Long
id
);
/**
* 修改书单
* @param appletBooklist
*/
void
updateBooklist
(
AppletBooklist
appletBooklist
);
/**
* 根据id查书单
*/
AppletBooklistDTO
getBooklistById
(
Long
id
);
/**
* 书单管理列表
* @param currentPage
* @param numPerPage
* @return
*/
PageBeanNew
<
AppletBooklistDTO
>
listBooklist
(
Integer
currentPage
,
Integer
numPerPage
,
String
name
);
/**
* 书单添加图书
* @param addBookParamDTO
*/
void
addBookToBooklist
(
AddBookParamDTO
addBookParamDTO
);
/**
*获取书单下书籍列表
* @param booklistId
* @param currentPage
* @param numPerPage
* @return
*/
PageBeanNew
<
BookDTO4Booklist
>
listPageBook4AppletBooklist
(
Long
booklistId
,
Integer
currentPage
,
Integer
numPerPage
);
/**
* 更新书籍排序
* @param configId
* @param seq
*/
void
updateBookSeq
(
Long
configId
,
Integer
seq
);
/**
* 获取所有书单栏目
* @return
*/
List
<
AppletBooklistClassifyDTO
>
getAllBooklistClassify
(
Boolean
showState
);
/**
* 客户端获取书单列表
* @param classifyId
* @param currentPage
* @param numPerPage
* @return
*/
PageBeanNew
<
AppletBooklistDTO
>
listBooklist4Wechat
(
Long
classifyId
,
Integer
currentPage
,
Integer
numPerPage
);
/**
* 客户端根据id获取书单
* @param booklistId
* @return
*/
AppletBooklistDTO
getBooklistById4Wechat
(
Long
booklistId
);
/**
* 图书详情-出版作者分类书名
* @param adviserId
* @param channelId
* @param bookId
* @return
*/
BookDTO4Booklist
getByBookIdAdviserChannel
(
Long
adviserId
,
Long
channelId
,
Long
bookId
);
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/AppletNewsBiz.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
biz
;
import
com.pcloud.book.applet.dto.AppletNewsClassifyDTO
;
import
com.pcloud.book.applet.dto.AppletNewsCommentDTO
;
import
com.pcloud.book.applet.dto.AppletNewsDTO
;
import
com.pcloud.book.applet.entity.AppletNews
;
import
com.pcloud.book.applet.entity.AppletNewsClassify
;
import
com.pcloud.book.applet.entity.AppletNewsComment
;
import
com.pcloud.common.page.PageBeanNew
;
import
java.util.List
;
/**
* 小程序资讯
*/
public
interface
AppletNewsBiz
{
/**
* 新增资讯分类
* @param appletNewsClassify
* @return
*/
Long
addAppletNewsClassify
(
AppletNewsClassify
appletNewsClassify
);
/**
* 修改资讯分类
* @param appletNewsClassify
*/
void
updateAppletNewsClassify
(
AppletNewsClassify
appletNewsClassify
);
/**
* 删除资讯分类
* @param id
*/
void
deleteNewsClassifyById
(
Long
id
);
/**
* 资讯栏目列表
* @param currentPage
* @param numPerPage
* @return
*/
PageBeanNew
<
AppletNewsClassifyDTO
>
listNewsClassify
(
Integer
currentPage
,
Integer
numPerPage
,
String
name
);
/**
* 添加资讯
* @param appletNews
* @return
*/
Long
addAppletNews
(
AppletNews
appletNews
);
/**
* 修改资讯
* @param appletNews
*/
void
updateAppletNews
(
AppletNews
appletNews
);
/**
* 删除资讯
* @param id
*/
void
deleteAppletNewsById
(
Long
id
);
/**
* 资讯列表
* @param currentPage
* @param numPerPage
* @param name
* @return
*/
PageBeanNew
<
AppletNewsDTO
>
listAppletNews
(
Integer
currentPage
,
Integer
numPerPage
,
String
name
);
/**
* 获取所有资讯栏目
* @return
*/
List
<
AppletNewsClassifyDTO
>
getAllNewsClassify
(
Boolean
showState
);
/**
* 客户端资讯列表
* @param currentPage
* @param numPerPage
* @param newsClassifyId
* @return
*/
PageBeanNew
<
AppletNewsDTO
>
listAppletNews4Wechat
(
Integer
currentPage
,
Integer
numPerPage
,
Long
newsClassifyId
);
/**
* 添加资讯评论
* @param appletNewsComment
*/
void
addAppletNewsComment
(
AppletNewsComment
appletNewsComment
,
Long
wechatUserId
);
/**
* 查询资讯评论
* @param currentPage
* @param numPerPage
* @return
*/
PageBeanNew
<
AppletNewsCommentDTO
>
listNewsCommentByNewsId
(
Integer
currentPage
,
Integer
numPerPage
,
Long
newsId
);
/**
* 根据id查资讯详情
* @param id
* @return
*/
AppletNewsDTO
getNewsById
(
Long
id
);
/**
* 更新上架状态
* @param appletNews
*/
void
updateNewsShowState
(
AppletNews
appletNews
);
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/AppletUserBookcaseBiz.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
biz
;
import
com.pcloud.book.applet.dto.AppletUserBookcaseDTO
;
import
com.pcloud.book.applet.entity.AppletUserBookcase
;
import
com.pcloud.book.applet.entity.AppletUserClickRecord
;
import
com.pcloud.common.page.PageBeanNew
;
import
java.util.Map
;
/**
* 小程序用户书架
*/
public
interface
AppletUserBookcaseBiz
{
/**
* 添加图书到书架
* @param appletUserBookcase
*/
void
addUserBook
(
AppletUserBookcase
appletUserBookcase
);
/**
* 查用户书架列表
* @param wechatUserId
* @param currentPage
* @param numPerPage
* @return
*/
PageBeanNew
<
AppletUserBookcaseDTO
>
listByWechatUserId
(
Long
wechatUserId
,
Integer
currentPage
,
Integer
numPerPage
);
/**
* 新增用户资源点击记录
* @param appletUserClickRecord
*/
void
addUserClickRecord
(
AppletUserClickRecord
appletUserClickRecord
);
/**
* 用户图书资源点击统计
* @param wechatUserId
* @param bookId
* @return
*/
Map
<
String
,
Object
>
getUserClickStatistic
(
Long
wechatUserId
,
Long
bookId
,
Long
channelId
,
Long
adviserId
);
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/impl/AppletBannerBizImpl.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
biz
.
impl
;
import
com.pcloud.book.applet.biz.AppletBannerBiz
;
import
com.pcloud.book.applet.dao.AppletBannerDao
;
import
com.pcloud.book.applet.dto.AppletBannerDTO
;
import
com.pcloud.book.applet.entity.AppletBanner
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageParam
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* 小程序banner
*/
@Component
public
class
AppletBannerBizImpl
implements
AppletBannerBiz
{
@Autowired
private
AppletBannerDao
appletBannerDao
;
@Override
public
Long
addBanner
(
AppletBanner
appletBanner
)
{
Integer
seq
=
appletBannerDao
.
getMaxSeq
();
appletBanner
.
setSeq
(
seq
+
1
);
appletBanner
.
setShowState
(
false
);
appletBannerDao
.
insert
(
appletBanner
);
return
appletBanner
.
getId
();
}
@Override
public
void
updateBanner
(
AppletBanner
appletBanner
)
{
if
(
null
==
appletBanner
.
getId
()){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少id"
);
}
appletBannerDao
.
update
(
appletBanner
);
}
@Override
public
void
deleteBanner
(
Long
id
)
{
appletBannerDao
.
deleteById
(
id
);
}
@Override
public
AppletBannerDTO
getBannerById
(
Long
id
)
{
AppletBanner
appletBanner
=
appletBannerDao
.
getById
(
id
);
AppletBannerDTO
appletBannerDTO
=
new
AppletBannerDTO
();
if
(
null
!=
appletBanner
){
BeanUtils
.
copyProperties
(
appletBanner
,
appletBannerDTO
);
}
return
appletBannerDTO
;
}
@Override
public
PageBeanNew
<
AppletBannerDTO
>
listBanner
(
Integer
currentPage
,
Integer
numPerPage
,
Boolean
showState
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"showState"
,
showState
);
PageBeanNew
<
AppletBannerDTO
>
pageBeanNew
=
appletBannerDao
.
listPageNew
(
new
PageParam
(
currentPage
,
numPerPage
),
map
,
"listBanner"
);
return
pageBeanNew
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/impl/AppletBooklistBizImpl.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
biz
.
impl
;
import
com.pcloud.appcenter.assist.dto.AssistTempletDTO
;
import
com.pcloud.book.applet.biz.AppletBooklistBiz
;
import
com.pcloud.book.applet.dao.AppletBooklistClassifyDao
;
import
com.pcloud.book.applet.dao.AppletBooklistDao
;
import
com.pcloud.book.applet.dto.AddBookParamDTO
;
import
com.pcloud.book.applet.dto.AppletBooklistClassifyDTO
;
import
com.pcloud.book.applet.dto.AppletBooklistDTO
;
import
com.pcloud.book.applet.dto.BookDTO4Booklist
;
import
com.pcloud.book.applet.entity.AppletBooklist
;
import
com.pcloud.book.applet.entity.AppletBooklistClassify
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.book.biz.BookBiz
;
import
com.pcloud.book.book.dto.BookDto
;
import
com.pcloud.book.consumer.app.AssistTempletConsr
;
import
com.pcloud.book.consumer.user.AdviserConsr
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.cache.redis.JedisClusterUtils
;
import
com.pcloud.usercenter.party.adviser.dto.AdviserBaseInfoDto
;
import
org.apache.commons.collections.MapUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
/**
* 小程序书单
*/
@Component
public
class
AppletBooklistBizImpl
implements
AppletBooklistBiz
{
@Autowired
private
AppletBooklistClassifyDao
appletBooklistClassifyDao
;
@Autowired
private
AppletBooklistDao
appletBooklistDao
;
@Autowired
private
AdviserConsr
adviserConsr
;
@Autowired
private
AssistTempletConsr
assistTempletConsr
;
@Autowired
private
BookBiz
bookBiz
;
@Override
public
Long
addBooklistClassify
(
AppletBooklistClassify
appletBooklistClassify
)
{
Integer
seq
=
appletBooklistClassifyDao
.
getMaxSeq
();
appletBooklistClassify
.
setSeq
(
seq
+
1
);
appletBooklistClassify
.
setShowState
(
false
);
appletBooklistClassifyDao
.
insert
(
appletBooklistClassify
);
return
appletBooklistClassify
.
getId
();
}
@Override
public
void
deleteBooklistClassifyById
(
Long
id
)
{
List
<
AppletBooklist
>
booklists
=
appletBooklistDao
.
getByClassifyId
(
id
);
if
(!
ListUtils
.
isEmpty
(
booklists
)){
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"请先删除关联书单"
);
}
appletBooklistClassifyDao
.
deleteById
(
id
);
}
@Override
public
void
updateBooklistClassify
(
AppletBooklistClassify
appletBooklistClassify
)
{
if
(
null
==
appletBooklistClassify
.
getId
()){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少id"
);
}
appletBooklistClassifyDao
.
update
(
appletBooklistClassify
);
}
@Override
public
PageBeanNew
<
AppletBooklistClassifyDTO
>
listBooklistClassify
(
Integer
currentPage
,
Integer
numPerPage
,
String
name
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"name"
,
name
);
PageBeanNew
<
AppletBooklistClassifyDTO
>
pageBeanNew
=
appletBooklistClassifyDao
.
listPageNew
(
new
PageParam
(
currentPage
,
numPerPage
)
,
paramMap
,
"listBooklistClassify"
);
return
pageBeanNew
;
}
@Override
public
Long
addBooklist
(
AppletBooklist
appletBooklist
)
{
appletBooklistDao
.
insert
(
appletBooklist
);
return
appletBooklist
.
getId
();
}
@Override
public
void
deleteBooklistById
(
Long
id
)
{
appletBooklistDao
.
deleteById
(
id
);
appletBooklistDao
.
deleteConfigByBooklistId
(
id
);
//删除客户端缓存
JedisClusterUtils
.
del
(
"BOOK:APPLET:listBooklist4Wechat_"
+
id
);
}
@Override
public
void
updateBooklist
(
AppletBooklist
appletBooklist
)
{
if
(
null
==
appletBooklist
.
getId
()){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少id"
);
}
appletBooklistDao
.
update
(
appletBooklist
);
}
@Override
public
AppletBooklistDTO
getBooklistById
(
Long
id
)
{
AppletBooklist
appletBooklist
=
appletBooklistDao
.
getById
(
id
);
AppletBooklistDTO
dto
=
new
AppletBooklistDTO
();
if
(
null
!=
appletBooklist
){
BeanUtils
.
copyProperties
(
appletBooklist
,
dto
);
}
return
dto
;
}
@Override
public
PageBeanNew
<
AppletBooklistDTO
>
listBooklist
(
Integer
currentPage
,
Integer
numPerPage
,
String
name
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"name"
,
name
);
PageBeanNew
<
AppletBooklistDTO
>
pageBeanNew
=
appletBooklistDao
.
listPageNew
(
new
PageParam
(
currentPage
,
numPerPage
),
paramMap
,
"listBooklist"
);
if
(
null
==
pageBeanNew
||
ListUtils
.
isEmpty
(
pageBeanNew
.
getRecordList
())){
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
<
BookDTO4Booklist
>
booklists
=
appletBooklistDao
.
getConfigByBooklistIds
(
booklistIds
);
Map
<
Long
,
List
<
BookDTO4Booklist
>>
map
=
new
HashMap
<>();
if
(!
ListUtils
.
isEmpty
(
booklists
)){
map
=
booklists
.
stream
().
collect
(
Collectors
.
groupingBy
(
BookDTO4Booklist:
:
getBooklistId
));
}
for
(
AppletBooklistDTO
booklistDTO:
pageBeanNew
.
getRecordList
()){
if
(!
MapUtils
.
isEmpty
(
map
)
&&
map
.
containsKey
(
booklistDTO
.
getId
())){
List
<
BookDTO4Booklist
>
bookDTO4Booklists
=
map
.
get
(
booklistDTO
.
getId
());
booklistDTO
.
setBookDTO4Booklists
(
bookDTO4Booklists
);
}
}
return
pageBeanNew
;
}
@Override
public
void
addBookToBooklist
(
AddBookParamDTO
addBookParamDTO
)
{
Long
booklistId
=
addBookParamDTO
.
getBooklistId
();
List
<
BookDTO4Booklist
>
configDTOS
=
addBookParamDTO
.
getBookDTO4Booklists
();
for
(
BookDTO4Booklist
bookDTO4Booklist:
configDTOS
){
bookDTO4Booklist
.
setBooklistId
(
booklistId
);
bookDTO4Booklist
.
setSeq
(
configDTOS
.
indexOf
(
bookDTO4Booklist
));
}
appletBooklistDao
.
deleteConfigByBooklistId
(
booklistId
);
appletBooklistDao
.
addBooklistConfig
(
configDTOS
);
//删除客户端缓存
JedisClusterUtils
.
del
(
"BOOK:APPLET:listBooklist4Wechat_"
+
booklistId
);
}
@Override
public
PageBeanNew
<
BookDTO4Booklist
>
listPageBook4AppletBooklist
(
Long
booklistId
,
Integer
currentPage
,
Integer
numPerPage
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"booklistId"
,
booklistId
);
PageBeanNew
<
BookDTO4Booklist
>
pageBeanNew
=
appletBooklistDao
.
listPageNew
(
new
PageParam
(
currentPage
,
numPerPage
),
paramMap
,
"listPageBook4AppletBooklist"
);
if
(
null
==
pageBeanNew
||
ListUtils
.
isEmpty
(
pageBeanNew
.
getRecordList
())){
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
0
,
new
ArrayList
<>());
}
fillAgentTempletName
(
pageBeanNew
.
getRecordList
());
return
pageBeanNew
;
}
private
void
fillAgentTempletName
(
List
<
BookDTO4Booklist
>
list
)
{
List
<
Long
>
adviserIds
=
list
.
stream
().
filter
(
s
->
s
.
getAdviserId
()!=
null
).
map
(
BookDTO4Booklist:
:
getAdviserId
).
distinct
().
collect
(
Collectors
.
toList
());
Map
<
Long
,
AdviserBaseInfoDto
>
infoDtoMap
=
adviserConsr
.
getAdviserId2AdviserInfoDtoMap
(
adviserIds
);
List
<
Long
>
templetIds
=
new
ArrayList
<>();
list
.
forEach
(
dto4Booklist
->
{
if
(
Objects
.
nonNull
(
dto4Booklist
.
getTempletId
()))
{
templetIds
.
add
(
dto4Booklist
.
getTempletId
());
}
if
(
Objects
.
nonNull
(
dto4Booklist
.
getSecondTempletId
()))
{
templetIds
.
add
(
dto4Booklist
.
getSecondTempletId
());
}
});
Map
<
Long
,
AssistTempletDTO
>
assistTempletDTOMap
=
assistTempletConsr
.
mapByIds
(
templetIds
);
list
.
forEach
(
dto4Booklist
->
{
Long
secondTempletId
=
dto4Booklist
.
getSecondTempletId
();
Long
templetId
=
dto4Booklist
.
getTempletId
();
if
(
secondTempletId
!=
null
&&
assistTempletDTOMap
!=
null
)
{
AssistTempletDTO
templetDTO
=
assistTempletDTOMap
.
get
(
secondTempletId
);
dto4Booklist
.
setSecondTempletName
(
Optional
.
ofNullable
(
templetDTO
).
map
(
AssistTempletDTO:
:
getTempletName
).
orElse
(
null
));
}
if
(
templetId
!=
null
&&
assistTempletDTOMap
!=
null
)
{
AssistTempletDTO
templetDTO
=
assistTempletDTOMap
.
get
(
templetId
);
dto4Booklist
.
setTempletName
(
Optional
.
ofNullable
(
templetDTO
).
map
(
AssistTempletDTO:
:
getTempletName
).
orElse
(
null
));
}
Long
adviserId
=
dto4Booklist
.
getAdviserId
();
if
(!
MapUtils
.
isEmpty
(
infoDtoMap
)){
AdviserBaseInfoDto
infoDto
=
infoDtoMap
.
get
(
adviserId
);
if
(
infoDto
!=
null
){
dto4Booklist
.
setAgentName
(
infoDto
.
getAgentName
());
}
}
});
}
@Override
public
void
updateBookSeq
(
Long
configId
,
Integer
seq
)
{
appletBooklistDao
.
updateBookSeq
(
configId
,
seq
);
}
@Override
public
List
<
AppletBooklistClassifyDTO
>
getAllBooklistClassify
(
Boolean
showState
){
return
appletBooklistClassifyDao
.
getAllBooklistClassify
(
showState
);
}
@Override
public
PageBeanNew
<
AppletBooklistDTO
>
listBooklist4Wechat
(
Long
classifyId
,
Integer
currentPage
,
Integer
numPerPage
){
if
(
null
==
classifyId
){
//没有栏目id取第一个
List
<
AppletBooklistClassifyDTO
>
classifyDTOS
=
getAllBooklistClassify
(
true
);
if
(
ListUtils
.
isEmpty
(
classifyDTOS
)){
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"没有书单栏目"
);
}
classifyId
=
classifyDTOS
.
get
(
0
).
getId
();
}
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"classifyId"
,
classifyId
);
PageBeanNew
<
AppletBooklistDTO
>
pageBeanNew
=
appletBooklistDao
.
listPageNew
(
new
PageParam
(
currentPage
,
numPerPage
),
map
,
"listBooklist4Wechat"
);
if
(
null
==
pageBeanNew
||
ListUtils
.
isEmpty
(
pageBeanNew
.
getRecordList
())){
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
0
,
new
ArrayList
<>());
}
for
(
AppletBooklistDTO
booklistDTO
:
pageBeanNew
.
getRecordList
()){
Long
booklistId
=
booklistDTO
.
getId
();
String
key
=
"BOOK:APPLET:listBooklist4Wechat_"
+
booklistId
;
List
<
BookDTO4Booklist
>
bookList
=
JedisClusterUtils
.
getJsonList
(
key
,
BookDTO4Booklist
.
class
);
if
(
ListUtils
.
isEmpty
(
bookList
)){
bookList
=
appletBooklistDao
.
getBookBaseByBooklistId
(
booklistId
,
0
,
3
);
JedisClusterUtils
.
setJson
(
key
,
bookList
);
}
booklistDTO
.
setBookDTO4Booklists
(
bookList
);
}
return
pageBeanNew
;
}
@Override
public
AppletBooklistDTO
getBooklistById4Wechat
(
Long
booklistId
){
AppletBooklistDTO
booklistDTO
=
getBooklistById
(
booklistId
);
if
(
null
==
booklistDTO
){
return
new
AppletBooklistDTO
();
}
List
<
BookDTO4Booklist
>
bookList
=
appletBooklistDao
.
listPageBook4AppletBooklist
(
booklistId
);
if
(!
ListUtils
.
isEmpty
(
bookList
)){
fillAgentTempletName
(
bookList
);
booklistDTO
.
setBookDTO4Booklists
(
bookList
);
booklistDTO
.
setBookCounts
(
bookList
.
size
());
}
return
booklistDTO
;
}
@Override
public
BookDTO4Booklist
getByBookIdAdviserChannel
(
Long
adviserId
,
Long
channelId
,
Long
bookId
)
{
BookDTO4Booklist
bookDTO4Booklist
=
appletBooklistDao
.
getByBookIdAdviserChannel
(
adviserId
,
channelId
,
bookId
);
if
(
null
!=
bookDTO4Booklist
){
fillAgentTempletName
(
Arrays
.
asList
(
bookDTO4Booklist
));
}
return
bookDTO4Booklist
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/impl/AppletNewsBizImpl.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
biz
.
impl
;
import
com.pcloud.book.applet.biz.AppletNewsBiz
;
import
com.pcloud.book.applet.dao.AppletNewsClassifyDao
;
import
com.pcloud.book.applet.dao.AppletNewsCommentDao
;
import
com.pcloud.book.applet.dao.AppletNewsDao
;
import
com.pcloud.book.applet.dto.AppletBooklistClassifyDTO
;
import
com.pcloud.book.applet.dto.AppletNewsClassifyDTO
;
import
com.pcloud.book.applet.dto.AppletNewsCommentDTO
;
import
com.pcloud.book.applet.dto.AppletNewsDTO
;
import
com.pcloud.book.applet.entity.AppletNews
;
import
com.pcloud.book.applet.entity.AppletNewsClassify
;
import
com.pcloud.book.applet.entity.AppletNewsComment
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.consumer.label.LabelConsr
;
import
com.pcloud.book.consumer.reader.ReaderConsr
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.readercenter.wechat.entity.WechatUser
;
import
org.apache.commons.collections.MapUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* 小程序资讯
*/
@Component
public
class
AppletNewsBizImpl
implements
AppletNewsBiz
{
@Autowired
private
AppletNewsClassifyDao
appletNewsClassifyDao
;
@Autowired
private
AppletNewsDao
appletNewsDao
;
@Autowired
private
LabelConsr
labelConsr
;
@Autowired
private
AppletNewsCommentDao
appletNewsCommentDao
;
@Autowired
private
ReaderConsr
readerConsr
;
@Override
public
Long
addAppletNewsClassify
(
AppletNewsClassify
appletNewsClassify
)
{
Integer
seq
=
appletNewsClassifyDao
.
getMaxSeq
();
appletNewsClassify
.
setSeq
(
seq
+
1
);
appletNewsClassify
.
setShowState
(
false
);
appletNewsClassifyDao
.
insert
(
appletNewsClassify
);
return
appletNewsClassify
.
getId
();
}
@Override
public
void
updateAppletNewsClassify
(
AppletNewsClassify
appletNewsClassify
)
{
if
(
null
==
appletNewsClassify
.
getId
()){
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"id为空"
);
}
appletNewsClassifyDao
.
update
(
appletNewsClassify
);
}
@Override
public
void
deleteNewsClassifyById
(
Long
id
)
{
List
<
AppletNews
>
newsList
=
appletNewsDao
.
getByNewsClassifyId
(
id
);
if
(!
ListUtils
.
isEmpty
(
newsList
)){
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"请先清空资讯"
);
}
appletNewsClassifyDao
.
deleteById
(
id
);
}
@Override
public
PageBeanNew
<
AppletNewsClassifyDTO
>
listNewsClassify
(
Integer
currentPage
,
Integer
numPerPage
,
String
name
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"name"
,
name
);
PageBeanNew
<
AppletNewsClassifyDTO
>
pageBeanNew
=
appletNewsClassifyDao
.
listPageNew
(
new
PageParam
(
currentPage
,
numPerPage
)
,
paramMap
,
"listNewsClassify"
);
return
pageBeanNew
;
}
@Override
public
Long
addAppletNews
(
AppletNews
appletNews
)
{
appletNews
.
setShowState
(
false
);
appletNewsDao
.
insert
(
appletNews
);
return
appletNews
.
getId
();
}
@Override
public
void
updateAppletNews
(
AppletNews
appletNews
)
{
if
(
null
==
appletNews
.
getId
()){
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"id为空"
);
}
appletNewsDao
.
update
(
appletNews
);
}
@Override
public
void
deleteAppletNewsById
(
Long
id
)
{
appletNewsDao
.
deleteById
(
id
);
}
@Override
public
PageBeanNew
<
AppletNewsDTO
>
listAppletNews
(
Integer
currentPage
,
Integer
numPerPage
,
String
name
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"name"
,
name
);
PageBeanNew
<
AppletNewsDTO
>
pageBeanNew
=
appletNewsDao
.
listPageNew
(
new
PageParam
(
currentPage
,
numPerPage
)
,
paramMap
,
"listAppletNews"
);
if
(
null
==
pageBeanNew
||
ListUtils
.
isEmpty
(
pageBeanNew
.
getRecordList
())){
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
0
,
new
ArrayList
<>());
}
fillLabel
(
pageBeanNew
.
getRecordList
());
return
pageBeanNew
;
}
private
void
fillLabel
(
List
<
AppletNewsDTO
>
recordList
)
{
if
(
ListUtils
.
isEmpty
(
recordList
)){
return
;
}
List
<
Long
>
labelIds
=
new
ArrayList
<>();
for
(
AppletNewsDTO
appletNewsDTO
:
recordList
){
if
(
null
!=
appletNewsDTO
.
getProLabelId
())
{
labelIds
.
add
(
appletNewsDTO
.
getProLabelId
());
}
if
(
null
!=
appletNewsDTO
.
getDepLabelId
())
{
labelIds
.
add
(
appletNewsDTO
.
getDepLabelId
());
}
if
(
null
!=
appletNewsDTO
.
getPurLabelId
())
{
labelIds
.
add
(
appletNewsDTO
.
getPurLabelId
());
}
}
if
(!
ListUtils
.
isEmpty
(
labelIds
)){
Map
<
Long
,
String
>
labelMap
=
labelConsr
.
getLabelName
(
labelIds
);
if
(!
MapUtils
.
isEmpty
(
labelMap
))
{
for
(
AppletNewsDTO
appletNewsDTO
:
recordList
){
if
(
null
!=
appletNewsDTO
.
getProLabelId
()
&&
labelMap
.
containsKey
(
appletNewsDTO
.
getProLabelId
()))
{
appletNewsDTO
.
setProLabelName
(
labelMap
.
get
(
appletNewsDTO
.
getProLabelId
()));
}
if
(
null
!=
appletNewsDTO
.
getDepLabelId
()
&&
labelMap
.
containsKey
(
appletNewsDTO
.
getDepLabelId
()))
{
appletNewsDTO
.
setDepLabelName
(
labelMap
.
get
(
appletNewsDTO
.
getDepLabelId
()));
}
if
(
null
!=
appletNewsDTO
.
getPurLabelId
()
&&
labelMap
.
containsKey
(
appletNewsDTO
.
getPurLabelId
()))
{
appletNewsDTO
.
setPurLabelName
(
labelMap
.
get
(
appletNewsDTO
.
getPurLabelId
()));
}
}
}
}
}
@Override
public
List
<
AppletNewsClassifyDTO
>
getAllNewsClassify
(
Boolean
showState
)
{
return
appletNewsClassifyDao
.
getAllNewsClassify
(
showState
);
}
@Override
public
PageBeanNew
<
AppletNewsDTO
>
listAppletNews4Wechat
(
Integer
currentPage
,
Integer
numPerPage
,
Long
newsClassifyId
)
{
if
(
null
==
newsClassifyId
){
//没有栏目id取第一个
List
<
AppletNewsClassifyDTO
>
classifyDTOS
=
getAllNewsClassify
(
true
);
if
(
ListUtils
.
isEmpty
(
classifyDTOS
)){
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"没有资讯栏目"
);
}
newsClassifyId
=
classifyDTOS
.
get
(
0
).
getId
();
}
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"newsClassifyId"
,
newsClassifyId
);
paramMap
.
put
(
"showState"
,
true
);
PageBeanNew
<
AppletNewsDTO
>
pageBeanNew
=
appletNewsDao
.
listPageNew
(
new
PageParam
(
currentPage
,
numPerPage
)
,
paramMap
,
"listAppletNews"
);
if
(
null
==
pageBeanNew
||
ListUtils
.
isEmpty
(
pageBeanNew
.
getRecordList
())){
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
0
,
new
ArrayList
<>());
}
fillLabel
(
pageBeanNew
.
getRecordList
());
return
pageBeanNew
;
}
@Override
public
void
addAppletNewsComment
(
AppletNewsComment
appletNewsComment
,
Long
wechatUserId
)
{
appletNewsComment
.
setWechatUserId
(
wechatUserId
);
appletNewsCommentDao
.
insert
(
appletNewsComment
);
}
@Override
public
PageBeanNew
<
AppletNewsCommentDTO
>
listNewsCommentByNewsId
(
Integer
currentPage
,
Integer
numPerPage
,
Long
newsId
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"newsId"
,
newsId
);
PageBeanNew
<
AppletNewsCommentDTO
>
pageBeanNew
=
appletNewsCommentDao
.
listPageNew
(
new
PageParam
(
currentPage
,
numPerPage
),
paramMap
,
"listNewsCommentByNewsId"
);
if
(
null
==
pageBeanNew
||
ListUtils
.
isEmpty
(
pageBeanNew
.
getRecordList
())){
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
0
,
new
ArrayList
<>());
}
//用户信息
List
<
Long
>
wechatUserIds
=
pageBeanNew
.
getRecordList
().
stream
().
filter
(
s
->
s
.
getWechatUserId
()!=
null
).
map
(
AppletNewsCommentDTO:
:
getWechatUserId
).
distinct
().
collect
(
Collectors
.
toList
());
if
(!
ListUtils
.
isEmpty
(
wechatUserIds
)){
Map
<
Long
,
WechatUser
>
wechatUserMap
=
readerConsr
.
getUserList
(
wechatUserIds
);
for
(
AppletNewsCommentDTO
commentDTO:
pageBeanNew
.
getRecordList
()){
Long
wechatUserId
=
commentDTO
.
getWechatUserId
();
if
(!
MapUtils
.
isEmpty
(
wechatUserMap
)
&&
null
!=
wechatUserId
&&
wechatUserMap
.
containsKey
(
wechatUserId
)){
WechatUser
wechatUser
=
wechatUserMap
.
get
(
wechatUserId
);
commentDTO
.
setNickName
(
null
==
wechatUser
?
""
:
wechatUser
.
getWechatUserNickname
());
commentDTO
.
setHeadPic
(
null
==
wechatUser
?
""
:
wechatUser
.
getWechatUserHeadurl
());
}
}
}
return
pageBeanNew
;
}
@Override
public
AppletNewsDTO
getNewsById
(
Long
id
)
{
AppletNews
appletNews
=
appletNewsDao
.
getById
(
id
);
AppletNewsDTO
appletNewsDTO
=
new
AppletNewsDTO
();
if
(
null
!=
appletNews
){
BeanUtils
.
copyProperties
(
appletNews
,
appletNewsDTO
);
}
fillLabel
(
Arrays
.
asList
(
appletNewsDTO
));
return
appletNewsDTO
;
}
@Override
public
void
updateNewsShowState
(
AppletNews
appletNews
)
{
appletNewsDao
.
updateNewsShowState
(
appletNews
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/impl/AppletUserBookcaseBizImpl.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
biz
.
impl
;
import
com.pcloud.appcenter.assist.dto.AssistTempletDTO
;
import
com.pcloud.book.applet.biz.AppletUserBookcaseBiz
;
import
com.pcloud.book.applet.dao.AppletUserBookcaseDao
;
import
com.pcloud.book.applet.dto.AppletUserBookcaseDTO
;
import
com.pcloud.book.applet.entity.AppletUserBookcase
;
import
com.pcloud.book.applet.entity.AppletUserClickRecord
;
import
com.pcloud.book.consumer.app.AssistTempletConsr
;
import
com.pcloud.book.consumer.channel.QrcodeSceneConsr
;
import
com.pcloud.book.consumer.user.AdviserConsr
;
import
com.pcloud.channelcenter.wechat.dto.BookServeParamVO
;
import
com.pcloud.channelcenter.wechat.vo.BookServeVO
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.utils.DateUtils
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.usercenter.party.adviser.dto.AdviserBaseInfoDto
;
import
org.apache.commons.collections.MapUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
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.Optional
;
import
java.util.stream.Collectors
;
/**
* 小程序用户书架
*/
@Component
public
class
AppletUserBookcaseBizImpl
implements
AppletUserBookcaseBiz
{
@Autowired
private
AppletUserBookcaseDao
appletUserBookcaseDao
;
@Autowired
private
AdviserConsr
adviserConsr
;
@Autowired
private
AssistTempletConsr
assistTempletConsr
;
@Autowired
private
QrcodeSceneConsr
qrcodeSceneConsr
;
@Override
public
void
addUserBook
(
AppletUserBookcase
appletUserBookcase
)
{
appletUserBookcaseDao
.
insert
(
appletUserBookcase
);
}
@Override
public
PageBeanNew
<
AppletUserBookcaseDTO
>
listByWechatUserId
(
Long
wechatUserId
,
Integer
currentPage
,
Integer
numPerPage
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"wechatUserId"
,
wechatUserId
);
PageBeanNew
<
AppletUserBookcaseDTO
>
pageBeanNew
=
appletUserBookcaseDao
.
listPageNew
(
new
PageParam
(
currentPage
,
numPerPage
),
map
,
"listByWechatUserId"
);
if
(
null
==
pageBeanNew
||
ListUtils
.
isEmpty
(
pageBeanNew
.
getRecordList
())){
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
0
,
new
ArrayList
<>());
}
fillTempletNameAgentName
(
pageBeanNew
.
getRecordList
());
return
pageBeanNew
;
}
@Override
public
void
addUserClickRecord
(
AppletUserClickRecord
appletUserClickRecord
)
{
appletUserBookcaseDao
.
insertClickRecord
(
appletUserClickRecord
);
}
@Override
public
Map
<
String
,
Object
>
getUserClickStatistic
(
Long
wechatUserId
,
Long
bookId
,
Long
channelId
,
Long
adviserId
)
{
//书刊下所有资源
BookServeParamVO
serveParamVO
=
new
BookServeParamVO
();
serveParamVO
.
setBookId
(
bookId
);
serveParamVO
.
setAdviserId
(
adviserId
);
serveParamVO
.
setChannelId
(
channelId
);
List
<
BookServeVO
>
serveVOList
=
qrcodeSceneConsr
.
listBookServeIds
(
serveParamVO
);
if
(
ListUtils
.
isEmpty
(
serveVOList
)){
return
new
HashMap
<>();
}
Integer
clickCount
=
0
;
String
startDate
=
DateUtils
.
formatDate
(
new
Date
(),
DateUtils
.
DATE_FORMAT_DATEONLY
);
List
<
Long
>
appIds
=
serveVOList
.
stream
().
filter
(
s
->
s
.
getTypeCode
().
equalsIgnoreCase
(
"APP"
)).
map
(
BookServeVO:
:
getServeId
).
distinct
().
collect
(
Collectors
.
toList
());
List
<
Long
>
productIds
=
serveVOList
.
stream
().
filter
(
s
->
s
.
getTypeCode
().
equalsIgnoreCase
(
"PRODUCT"
)).
map
(
BookServeVO:
:
getServeId
).
distinct
().
collect
(
Collectors
.
toList
());
if
(!
ListUtils
.
isEmpty
(
appIds
)){
Integer
appCount
=
appletUserBookcaseDao
.
getUserClickServerCount
(
wechatUserId
,
bookId
,
channelId
,
adviserId
,
appIds
,
"APP"
);
if
(
appCount
>
0
){
clickCount
=
clickCount
+
appCount
;
startDate
=
appletUserBookcaseDao
.
getMinClickTime
(
wechatUserId
,
bookId
,
channelId
,
adviserId
,
appIds
,
"APP"
);
}
}
if
(!
ListUtils
.
isEmpty
(
productIds
)){
Integer
productCount
=
appletUserBookcaseDao
.
getUserClickServerCount
(
wechatUserId
,
bookId
,
channelId
,
adviserId
,
productIds
,
"PRODUCT"
);
if
(
productCount
>
0
){
clickCount
=
clickCount
+
productCount
;
String
dateStr
=
appletUserBookcaseDao
.
getMinClickTime
(
wechatUserId
,
bookId
,
channelId
,
adviserId
,
productIds
,
"PRODUCT"
);
if
(!
StringUtil
.
isEmpty
(
dateStr
)
&&
DateUtils
.
getDateByStr
(
dateStr
).
before
(
DateUtils
.
getDateByStr
(
startDate
))){
startDate
=
dateStr
;
}
}
}
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"startDate"
,
startDate
);
map
.
put
(
"clickCount"
,
clickCount
);
return
map
;
}
private
void
fillTempletNameAgentName
(
List
<
AppletUserBookcaseDTO
>
recordList
)
{
List
<
Long
>
adviserIds
=
recordList
.
stream
().
filter
(
s
->
s
.
getAdviserId
()!=
null
).
map
(
AppletUserBookcaseDTO:
:
getAdviserId
).
distinct
().
collect
(
Collectors
.
toList
());
Map
<
Long
,
AdviserBaseInfoDto
>
infoDtoMap
=
adviserConsr
.
getAdviserId2AdviserInfoDtoMap
(
adviserIds
);
List
<
Long
>
templetIds
=
new
ArrayList
<>();
recordList
.
forEach
(
dto
->
{
if
(
Objects
.
nonNull
(
dto
.
getTempletId
()))
{
templetIds
.
add
(
dto
.
getTempletId
());
}
if
(
Objects
.
nonNull
(
dto
.
getSecondTempletId
()))
{
templetIds
.
add
(
dto
.
getSecondTempletId
());
}
});
Map
<
Long
,
AssistTempletDTO
>
assistTempletDTOMap
=
assistTempletConsr
.
mapByIds
(
templetIds
);
for
(
AppletUserBookcaseDTO
bookcaseDTO:
recordList
){
Long
secondTempletId
=
bookcaseDTO
.
getSecondTempletId
();
Long
templetId
=
bookcaseDTO
.
getTempletId
();
if
(
secondTempletId
!=
null
&&
assistTempletDTOMap
!=
null
)
{
AssistTempletDTO
templetDTO
=
assistTempletDTOMap
.
get
(
secondTempletId
);
bookcaseDTO
.
setSecondTempletName
(
Optional
.
ofNullable
(
templetDTO
).
map
(
AssistTempletDTO:
:
getTempletName
).
orElse
(
null
));
}
if
(
templetId
!=
null
&&
assistTempletDTOMap
!=
null
)
{
AssistTempletDTO
templetDTO
=
assistTempletDTOMap
.
get
(
templetId
);
bookcaseDTO
.
setTempletName
(
Optional
.
ofNullable
(
templetDTO
).
map
(
AssistTempletDTO:
:
getTempletName
).
orElse
(
null
));
}
Long
adviserId
=
bookcaseDTO
.
getAdviserId
();
if
(!
MapUtils
.
isEmpty
(
infoDtoMap
)
&&
infoDtoMap
.
containsKey
(
adviserId
)){
AdviserBaseInfoDto
infoDto
=
infoDtoMap
.
get
(
adviserId
);
if
(
infoDto
!=
null
){
bookcaseDTO
.
setAgentName
(
infoDto
.
getAgentName
());
}
}
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/AppletBannerDao.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
dao
;
import
com.pcloud.book.applet.entity.AppletBanner
;
import
com.pcloud.common.core.dao.BaseDao
;
public
interface
AppletBannerDao
extends
BaseDao
<
AppletBanner
>
{
/**
* 获取最大排序值
* @return
*/
Integer
getMaxSeq
();
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/AppletBooklistClassifyDao.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
dao
;
import
com.pcloud.book.applet.dto.AppletBooklistClassifyDTO
;
import
com.pcloud.book.applet.entity.AppletBooklistClassify
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.List
;
public
interface
AppletBooklistClassifyDao
extends
BaseDao
<
AppletBooklistClassify
>
{
/**
* 获取最大排序值
* @return
*/
Integer
getMaxSeq
();
/**
* 获取所有书单栏目
* @return
*/
List
<
AppletBooklistClassifyDTO
>
getAllBooklistClassify
(
Boolean
showState
);
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/AppletBooklistDao.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
dao
;
import
com.pcloud.book.applet.dto.BookDTO4Booklist
;
import
com.pcloud.book.applet.entity.AppletBooklist
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.List
;
public
interface
AppletBooklistDao
extends
BaseDao
<
AppletBooklist
>
{
/**
* 删除书单配置
*
* @param booklistId
*/
void
deleteConfigByBooklistId
(
Long
booklistId
);
/**
* 添加书单配置
*
* @param bookDTO4Booklists
*/
void
addBooklistConfig
(
List
<
BookDTO4Booklist
>
bookDTO4Booklists
);
/**
* 根据栏目id查询
* @param classifyId
* @return
*/
List
<
AppletBooklist
>
getByClassifyId
(
Long
classifyId
);
/**
* 更新书籍排序
* @param configId
* @param seq
*/
void
updateBookSeq
(
Long
configId
,
Integer
seq
);
/**
* 查配置书籍(书名、封面)
* @param booklistId
* @return
*/
List
<
BookDTO4Booklist
>
getBookBaseByBooklistId
(
Long
booklistId
,
Integer
currentPage
,
Integer
numPerPage
);
/**
* 查配置书籍(包含书籍分类)
* @param booklistId
* @return
*/
List
<
BookDTO4Booklist
>
listPageBook4AppletBooklist
(
Long
booklistId
);
/**
* 基本配置(adviserid bookid channelid)
* @param booklistIds
* @return
*/
List
<
BookDTO4Booklist
>
getConfigByBooklistIds
(
List
<
Long
>
booklistIds
);
/**
* 图书详情-出版作者分类书名
* @param adviserId
* @param channelId
* @param bookId
* @return
*/
BookDTO4Booklist
getByBookIdAdviserChannel
(
Long
adviserId
,
Long
channelId
,
Long
bookId
);
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/AppletNewsClassifyDao.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
dao
;
import
com.pcloud.book.applet.dto.AppletNewsClassifyDTO
;
import
com.pcloud.book.applet.entity.AppletNewsClassify
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.List
;
public
interface
AppletNewsClassifyDao
extends
BaseDao
<
AppletNewsClassify
>
{
/**
* 获取最大排序值
* @return
*/
Integer
getMaxSeq
();
/**
* 获取所有书单栏目
* @return
*/
List
<
AppletNewsClassifyDTO
>
getAllNewsClassify
(
Boolean
showState
);
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/AppletNewsCommentDao.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
dao
;
import
com.pcloud.book.applet.entity.AppletNewsComment
;
import
com.pcloud.common.core.dao.BaseDao
;
/**
* 资讯评论
*/
public
interface
AppletNewsCommentDao
extends
BaseDao
<
AppletNewsComment
>
{
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/AppletNewsDao.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
dao
;
import
com.pcloud.book.applet.entity.AppletNews
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.List
;
/**
* 小程序资讯
*/
public
interface
AppletNewsDao
extends
BaseDao
<
AppletNews
>
{
/**
* 根据分类查询
* @param newsClassifyId
* @return
*/
List
<
AppletNews
>
getByNewsClassifyId
(
Long
newsClassifyId
);
/**
* 更新上架状态
* @param appletNews
*/
void
updateNewsShowState
(
AppletNews
appletNews
);
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/AppletUserBookcaseDao.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
dao
;
import
com.pcloud.book.applet.dto.AppletUserBookcaseDTO
;
import
com.pcloud.book.applet.entity.AppletUserBookcase
;
import
com.pcloud.book.applet.entity.AppletUserClickRecord
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.List
;
/**
* 小程序用户书架
*/
public
interface
AppletUserBookcaseDao
extends
BaseDao
<
AppletUserBookcase
>
{
/**
* 新增用户资源点击记录
* @param appletUserClickRecord
*/
void
insertClickRecord
(
AppletUserClickRecord
appletUserClickRecord
);
/**
* 用户点击的服务id
* @param wechatUserId
* @param bookId
* @param channelId
* @param adviserId
* @return
*/
Integer
getUserClickServerCount
(
Long
wechatUserId
,
Long
bookId
,
Long
channelId
,
Long
adviserId
,
List
<
Long
>
serveIds
,
String
fromType
);
/**
* 最早资源点击日期
* @param wechatUserId
* @param bookId
* @param channelId
* @param adviserId
* @return
*/
String
getMinClickTime
(
Long
wechatUserId
,
Long
bookId
,
Long
channelId
,
Long
adviserId
,
List
<
Long
>
serveIds
,
String
fromType
);
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/impl/AppletBannerDaoImpl.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
dao
.
impl
;
import
com.pcloud.book.applet.dao.AppletBannerDao
;
import
com.pcloud.book.applet.entity.AppletBanner
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Component
;
@Component
public
class
AppletBannerDaoImpl
extends
BaseDaoImpl
<
AppletBanner
>
implements
AppletBannerDao
{
@Override
public
Integer
getMaxSeq
()
{
return
getSessionTemplate
().
selectOne
(
getStatement
(
"getMaxSeq"
));
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/impl/AppletBooklistClassifyDaoImpl.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
dao
.
impl
;
import
com.pcloud.book.applet.dao.AppletBooklistClassifyDao
;
import
com.pcloud.book.applet.dto.AppletBooklistClassifyDTO
;
import
com.pcloud.book.applet.entity.AppletBooklistClassify
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Component
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Component
public
class
AppletBooklistClassifyDaoImpl
extends
BaseDaoImpl
<
AppletBooklistClassify
>
implements
AppletBooklistClassifyDao
{
@Override
public
Integer
getMaxSeq
()
{
return
getSessionTemplate
().
selectOne
(
getStatement
(
"getMaxSeq"
));
}
@Override
public
List
<
AppletBooklistClassifyDTO
>
getAllBooklistClassify
(
Boolean
showState
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"showState"
,
showState
);
return
getSessionTemplate
().
selectList
(
getStatement
(
"getAllBooklistClassify"
),
map
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/impl/AppletBooklistDaoImpl.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
dao
.
impl
;
import
com.pcloud.book.applet.dao.AppletBooklistDao
;
import
com.pcloud.book.applet.dto.BookDTO4Booklist
;
import
com.pcloud.book.applet.entity.AppletBooklist
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Component
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Component
(
"appletBooklistDao"
)
public
class
AppletBooklistDaoImpl
extends
BaseDaoImpl
<
AppletBooklist
>
implements
AppletBooklistDao
{
@Override
public
void
deleteConfigByBooklistId
(
Long
booklistId
)
{
getSessionTemplate
().
delete
(
getStatement
(
"deleteConfigByBooklistId"
),
booklistId
);
}
@Override
public
void
addBooklistConfig
(
List
<
BookDTO4Booklist
>
bookDTO4Booklists
)
{
getSessionTemplate
().
insert
(
getStatement
(
"addBooklistConfig"
),
bookDTO4Booklists
);
}
@Override
public
List
<
AppletBooklist
>
getByClassifyId
(
Long
classifyId
)
{
return
getSessionTemplate
().
selectList
(
getStatement
(
"getByClassifyId"
),
classifyId
);
}
@Override
public
void
updateBookSeq
(
Long
configId
,
Integer
seq
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"id"
,
configId
);
map
.
put
(
"seq"
,
seq
);
getSessionTemplate
().
update
(
getStatement
(
"updateBookSeq"
),
map
);
}
@Override
public
List
<
BookDTO4Booklist
>
getBookBaseByBooklistId
(
Long
booklistId
,
Integer
currentPage
,
Integer
numPerPage
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"booklistId"
,
booklistId
);
if
(
currentPage
>=
0
&&
numPerPage
>
0
){
map
.
put
(
"pageNum"
,
currentPage
*
numPerPage
);
map
.
put
(
"numPerPage"
,
numPerPage
);
}
return
getSessionTemplate
().
selectList
(
getStatement
(
"getBookBaseByBooklistId"
),
map
);
}
@Override
public
List
<
BookDTO4Booklist
>
listPageBook4AppletBooklist
(
Long
booklistId
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"booklistId"
,
booklistId
);
return
getSessionTemplate
().
selectList
(
getStatement
(
"listPageBook4AppletBooklist"
),
map
);
}
@Override
public
List
<
BookDTO4Booklist
>
getConfigByBooklistIds
(
List
<
Long
>
booklistIds
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"list"
,
booklistIds
);
return
getSessionTemplate
().
selectList
(
getStatement
(
"getConfigByBooklistIds"
),
map
);
}
@Override
public
BookDTO4Booklist
getByBookIdAdviserChannel
(
Long
adviserId
,
Long
channelId
,
Long
bookId
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"adviserId"
,
adviserId
);
map
.
put
(
"channelId"
,
channelId
);
map
.
put
(
"bookId"
,
bookId
);
return
getSessionTemplate
().
selectOne
(
getStatement
(
"getByBookIdAdviserChannel"
),
map
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/impl/AppletNewsClassifyDaoImpl.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
dao
.
impl
;
import
com.pcloud.book.applet.dao.AppletNewsClassifyDao
;
import
com.pcloud.book.applet.dto.AppletNewsClassifyDTO
;
import
com.pcloud.book.applet.entity.AppletNewsClassify
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Component
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Component
public
class
AppletNewsClassifyDaoImpl
extends
BaseDaoImpl
<
AppletNewsClassify
>
implements
AppletNewsClassifyDao
{
@Override
public
Integer
getMaxSeq
()
{
return
getSessionTemplate
().
selectOne
(
getStatement
(
"getMaxSeq"
));
}
@Override
public
List
<
AppletNewsClassifyDTO
>
getAllNewsClassify
(
Boolean
showState
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"showState"
,
showState
);
return
getSessionTemplate
().
selectList
(
getStatement
(
"getAllNewsClassify"
),
map
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/impl/AppletNewsCommentDaoImpl.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
dao
.
impl
;
import
com.pcloud.book.applet.dao.AppletNewsCommentDao
;
import
com.pcloud.book.applet.entity.AppletNewsComment
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Component
;
/**
* 资讯评论
*/
@Component
public
class
AppletNewsCommentDaoImpl
extends
BaseDaoImpl
<
AppletNewsComment
>
implements
AppletNewsCommentDao
{
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/impl/AppletNewsDaoImpl.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
dao
.
impl
;
import
com.pcloud.book.applet.dao.AppletNewsDao
;
import
com.pcloud.book.applet.entity.AppletNews
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
/**
* 小程序资讯
*/
@Component
public
class
AppletNewsDaoImpl
extends
BaseDaoImpl
<
AppletNews
>
implements
AppletNewsDao
{
@Override
public
List
<
AppletNews
>
getByNewsClassifyId
(
Long
newsClassifyId
)
{
return
getSessionTemplate
().
selectList
(
getStatement
(
"getByNewsClassifyId"
),
newsClassifyId
);
}
@Override
public
void
updateNewsShowState
(
AppletNews
appletNews
)
{
getSessionTemplate
().
update
(
getStatement
(
"updateNewsShowState"
),
appletNews
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/impl/AppletUserBookcaseDaoImpl.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
dao
.
impl
;
import
com.pcloud.book.applet.dao.AppletUserBookcaseDao
;
import
com.pcloud.book.applet.entity.AppletUserBookcase
;
import
com.pcloud.book.applet.entity.AppletUserClickRecord
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Component
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* 小程序用户书架
*/
@Component
public
class
AppletUserBookcaseDaoImpl
extends
BaseDaoImpl
<
AppletUserBookcase
>
implements
AppletUserBookcaseDao
{
@Override
public
void
insertClickRecord
(
AppletUserClickRecord
appletUserClickRecord
)
{
getSessionTemplate
().
insert
(
getStatement
(
"insertClickRecord"
),
appletUserClickRecord
);
}
@Override
public
Integer
getUserClickServerCount
(
Long
wechatUserId
,
Long
bookId
,
Long
channelId
,
Long
adviserId
,
List
<
Long
>
serveIds
,
String
fromType
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"wechatUserId"
,
wechatUserId
);
map
.
put
(
"bookId"
,
bookId
);
map
.
put
(
"channelId"
,
channelId
);
map
.
put
(
"adviserId"
,
adviserId
);
map
.
put
(
"list"
,
serveIds
);
map
.
put
(
"fromType"
,
fromType
);
return
getSessionTemplate
().
selectOne
(
getStatement
(
"getUserClickServerCount"
),
map
);
}
@Override
public
String
getMinClickTime
(
Long
wechatUserId
,
Long
bookId
,
Long
channelId
,
Long
adviserId
,
List
<
Long
>
serveIds
,
String
fromType
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"wechatUserId"
,
wechatUserId
);
map
.
put
(
"bookId"
,
bookId
);
map
.
put
(
"channelId"
,
channelId
);
map
.
put
(
"adviserId"
,
adviserId
);
map
.
put
(
"list"
,
serveIds
);
map
.
put
(
"fromType"
,
fromType
);
return
getSessionTemplate
().
selectOne
(
getStatement
(
"getMinClickTime"
),
map
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dto/AddBookParamDTO.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
dto
;
import
lombok.Data
;
import
java.util.List
;
/**
* 书单添加书刊
*/
@Data
public
class
AddBookParamDTO
{
/**
* 书单id
*/
private
Long
booklistId
;
/**
* 图书基本信息
*/
private
List
<
BookDTO4Booklist
>
bookDTO4Booklists
;
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dto/AppletBannerDTO.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
dto
;
import
com.pcloud.common.dto.BaseDto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
"小程序banner"
)
public
class
AppletBannerDTO
extends
BaseDto
{
@ApiModelProperty
(
"id"
)
private
Long
id
;
@ApiModelProperty
(
"banner图"
)
private
String
bannerPic
;
@ApiModelProperty
(
"跳转类型(1指定页面2web页面)"
)
private
Integer
jumpType
;
@ApiModelProperty
(
"跳转地址"
)
private
String
jumpUrl
;
@ApiModelProperty
(
"排序值"
)
private
Integer
seq
;
@ApiModelProperty
(
"是否展示"
)
private
Boolean
showState
;
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dto/AppletBooklistClassifyDTO.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
dto
;
import
com.pcloud.common.dto.BaseDto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
"小程序书单栏目"
)
public
class
AppletBooklistClassifyDTO
extends
BaseDto
{
@ApiModelProperty
(
"id"
)
private
Long
id
;
@ApiModelProperty
(
"分类名称"
)
private
String
classifyName
;
@ApiModelProperty
(
"排序值"
)
private
Integer
seq
;
@ApiModelProperty
(
"书单数量"
)
private
Integer
booklistCount
;
@ApiModelProperty
(
"是否展示"
)
private
Boolean
showState
;
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dto/AppletBooklistDTO.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
dto
;
import
com.pcloud.common.dto.BaseDto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
@Data
@ApiModel
(
"小程序书单"
)
public
class
AppletBooklistDTO
extends
BaseDto
{
@ApiModelProperty
(
"id"
)
private
Long
id
;
@ApiModelProperty
(
"书单主题名称"
)
private
String
booklistName
;
@ApiModelProperty
(
"创建者名称"
)
private
String
userName
;
@ApiModelProperty
(
"摘要"
)
private
String
digest
;
@ApiModelProperty
(
"展示图"
)
private
String
displayPic
;
@ApiModelProperty
(
"推荐介绍类型(1编辑介绍2外部链接)"
)
private
Integer
introduceType
;
@ApiModelProperty
(
"推荐介绍内容"
)
private
String
introduceContent
;
@ApiModelProperty
(
"推荐介绍-外部链接"
)
private
String
introduceUrl
;
@ApiModelProperty
(
"书籍数量"
)
private
Integer
bookCounts
;
@ApiModelProperty
(
"分类id"
)
private
Long
classifyId
;
@ApiModelProperty
(
"分类名称"
)
private
String
classifyName
;
@ApiModelProperty
(
"图书信息"
)
private
List
<
BookDTO4Booklist
>
bookDTO4Booklists
;
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dto/AppletNewsClassifyDTO.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
dto
;
import
com.pcloud.common.dto.BaseDto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
"小程序资讯栏目"
)
public
class
AppletNewsClassifyDTO
extends
BaseDto
{
@ApiModelProperty
(
"id"
)
private
Long
id
;
@ApiModelProperty
(
"分类名称"
)
private
String
newsClassify
;
@ApiModelProperty
(
"排序值"
)
private
Integer
seq
;
@ApiModelProperty
(
"是否展示"
)
private
Boolean
showState
;
@ApiModelProperty
(
"资讯数量"
)
private
Integer
newsCount
;
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dto/AppletNewsCommentDTO.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.pcloud.common.dto.BaseDto
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
@Data
@ApiModel
(
"小程序资讯评论"
)
public
class
AppletNewsCommentDTO
extends
BaseDto
{
@ApiModelProperty
(
"id"
)
private
Long
id
;
@ApiModelProperty
(
"资讯id"
)
private
Long
newsId
;
@ApiModelProperty
(
"评论"
)
private
String
comment
;
@ApiModelProperty
(
"用户"
)
private
Long
wechatUserId
;
@ApiModelProperty
(
"昵称"
)
private
String
nickName
;
@ApiModelProperty
(
"头像"
)
private
String
headPic
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
protected
Date
createTime
;
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dto/AppletNewsDTO.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.pcloud.common.dto.BaseDto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
@Data
@ApiModel
(
"小程序资讯"
)
public
class
AppletNewsDTO
extends
BaseDto
{
@ApiModelProperty
(
"id"
)
private
Long
id
;
@ApiModelProperty
(
"资讯"
)
private
String
newsName
;
@ApiModelProperty
(
"来源"
)
private
String
source
;
@ApiModelProperty
(
"栏目id"
)
private
Long
newsClassifyId
;
@ApiModelProperty
(
"专业标签ID"
)
private
Long
proLabelId
;
@ApiModelProperty
(
"深度标签ID"
)
private
Long
depLabelId
;
@ApiModelProperty
(
"目的标签ID"
)
private
Long
purLabelId
;
@ApiModelProperty
(
"专业标签"
)
private
String
proLabelName
;
@ApiModelProperty
(
"深度标签"
)
private
String
depLabelName
;
@ApiModelProperty
(
"目的标签"
)
private
String
purLabelName
;
@ApiModelProperty
(
"文章版式(1多图文2单图文3纯图片4纯文本)"
)
private
Integer
type
;
@ApiModelProperty
(
"内容摘要"
)
private
String
digest
;
@ApiModelProperty
(
"预览图片1"
)
private
String
pic1
;
@ApiModelProperty
(
"预览图片2"
)
private
String
pic2
;
@ApiModelProperty
(
"预览图片3"
)
private
String
pic3
;
@ApiModelProperty
(
"文章内容"
)
private
String
content
;
@ApiModelProperty
(
"是否展示"
)
private
Boolean
showState
;
@ApiModelProperty
(
"分类名称"
)
private
String
newsClassify
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
protected
Date
createTime
;
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dto/AppletUserBookcaseDTO.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.pcloud.common.dto.BaseDto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
@Data
@ApiModel
(
"小程序用户书架栏目"
)
public
class
AppletUserBookcaseDTO
extends
BaseDto
{
@ApiModelProperty
(
"图书id"
)
private
Long
bookId
;
@ApiModelProperty
(
"运营id"
)
private
Long
channelId
;
@ApiModelProperty
(
"编辑id"
)
private
Long
adviserId
;
@ApiModelProperty
(
"书名"
)
private
String
bookName
;
@ApiModelProperty
(
"封面"
)
private
String
coverImg
;
@ApiModelProperty
(
"出版名称"
)
private
String
agentName
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
protected
Date
createTime
;
@ApiModelProperty
(
"作者"
)
private
String
author
;
@ApiModelProperty
(
"出版社"
)
private
String
publish
;
@ApiModelProperty
(
"一级分类id"
)
private
Long
templetId
;
@ApiModelProperty
(
"一级分类名称"
)
private
String
templetName
;
@ApiModelProperty
(
"二级分类id"
)
private
Long
secondTempletId
;
@ApiModelProperty
(
"二级分类名"
)
private
String
secondTempletName
;
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dto/BookDTO4Booklist.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
dto
;
import
com.pcloud.common.dto.BaseDto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
"书单配置的书籍"
)
public
class
BookDTO4Booklist
extends
BaseDto
{
@ApiModelProperty
(
"配置id"
)
private
Long
id
;
@ApiModelProperty
(
"书单id"
)
private
Long
booklistId
;
@ApiModelProperty
(
"书单名称"
)
private
String
booklistName
;
@ApiModelProperty
(
"图书id"
)
private
Long
bookId
;
@ApiModelProperty
(
"编辑id"
)
private
Long
adviserId
;
@ApiModelProperty
(
"运营id"
)
private
Long
channelId
;
@ApiModelProperty
(
"书名"
)
private
String
bookName
;
@ApiModelProperty
(
"封面"
)
private
String
coverImg
;
@ApiModelProperty
(
"出版名称"
)
private
String
agentName
;
@ApiModelProperty
(
"作者"
)
private
String
author
;
@ApiModelProperty
(
"出版社"
)
private
String
publish
;
@ApiModelProperty
(
"一级分类id"
)
private
Long
templetId
;
@ApiModelProperty
(
"一级分类名称"
)
private
String
templetName
;
@ApiModelProperty
(
"二级分类id"
)
private
Long
secondTempletId
;
@ApiModelProperty
(
"二级分类名"
)
private
String
secondTempletName
;
@ApiModelProperty
(
"排序值"
)
private
Integer
seq
;
@ApiModelProperty
(
"isbn"
)
private
String
isbn
;
@ApiModelProperty
(
"唯一编号"
)
private
String
uniqueNumber
;
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/entity/AppletBanner.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
entity
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
"小程序banner"
)
public
class
AppletBanner
extends
BaseEntity
{
@ApiModelProperty
(
"banner图"
)
private
String
bannerPic
;
@ApiModelProperty
(
"跳转类型(1指定页面2web页面)"
)
private
Integer
jumpType
;
@ApiModelProperty
(
"跳转地址"
)
private
String
jumpUrl
;
@ApiModelProperty
(
"排序值"
)
private
Integer
seq
;
@ApiModelProperty
(
"是否展示"
)
private
Boolean
showState
;
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/entity/AppletBooklist.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
entity
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
"小程序书单"
)
public
class
AppletBooklist
extends
BaseEntity
{
@ApiModelProperty
(
"书单主题名称"
)
private
String
booklistName
;
@ApiModelProperty
(
"创建者名称"
)
private
String
userName
;
@ApiModelProperty
(
"摘要"
)
private
String
digest
;
@ApiModelProperty
(
"展示图"
)
private
String
displayPic
;
@ApiModelProperty
(
"推荐介绍类型(1编辑介绍2外部链接)"
)
private
Integer
introduceType
;
@ApiModelProperty
(
"推荐介绍内容"
)
private
String
introduceContent
;
@ApiModelProperty
(
"推荐介绍-外部链接"
)
private
String
introduceUrl
;
@ApiModelProperty
(
"栏目id"
)
private
Long
classifyId
;
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/entity/AppletBooklistClassify.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
entity
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
"小程序书单栏目"
)
public
class
AppletBooklistClassify
extends
BaseEntity
{
@ApiModelProperty
(
"分类名称"
)
private
String
classifyName
;
@ApiModelProperty
(
"排序值"
)
private
Integer
seq
;
@ApiModelProperty
(
"是否展示"
)
private
Boolean
showState
;
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/entity/AppletNews.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
entity
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
"小程序资讯"
)
public
class
AppletNews
extends
BaseEntity
{
@ApiModelProperty
(
"资讯"
)
private
String
newsName
;
@ApiModelProperty
(
"来源"
)
private
String
source
;
@ApiModelProperty
(
"栏目id"
)
private
Long
newsClassifyId
;
@ApiModelProperty
(
"专业标签ID"
)
private
Long
proLabelId
;
@ApiModelProperty
(
"深度标签ID"
)
private
Long
depLabelId
;
@ApiModelProperty
(
"目的标签ID"
)
private
Long
purLabelId
;
@ApiModelProperty
(
"文章版式(1多图文2单图文3纯图片4纯文本)"
)
private
Integer
type
;
@ApiModelProperty
(
"内容摘要"
)
private
String
digest
;
@ApiModelProperty
(
"预览图片1"
)
private
String
pic1
;
@ApiModelProperty
(
"预览图片2"
)
private
String
pic2
;
@ApiModelProperty
(
"预览图片3"
)
private
String
pic3
;
@ApiModelProperty
(
"文章内容"
)
private
String
content
;
@ApiModelProperty
(
"是否展示"
)
private
Boolean
showState
;
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/entity/AppletNewsClassify.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
entity
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
"小程序资讯栏目"
)
public
class
AppletNewsClassify
extends
BaseEntity
{
@ApiModelProperty
(
"分类名称"
)
private
String
newsClassify
;
@ApiModelProperty
(
"排序值"
)
private
Integer
seq
;
@ApiModelProperty
(
"是否展示"
)
private
Boolean
showState
;
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/entity/AppletNewsComment.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
entity
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
"小程序资讯评论"
)
public
class
AppletNewsComment
extends
BaseEntity
{
@ApiModelProperty
(
"资讯id"
)
private
Long
newsId
;
@ApiModelProperty
(
"评论"
)
private
String
comment
;
@ApiModelProperty
(
"用户"
)
private
Long
wechatUserId
;
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/entity/AppletUserBookcase.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
entity
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
"小程序用户书架栏目"
)
public
class
AppletUserBookcase
extends
BaseEntity
{
@ApiModelProperty
(
"用户id"
)
private
Long
wechatUserId
;
@ApiModelProperty
(
"图书id"
)
private
Long
bookId
;
@ApiModelProperty
(
"运营id"
)
private
Long
channelId
;
@ApiModelProperty
(
"编辑id"
)
private
Long
adviserId
;
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/entity/AppletUserClickRecord.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
entity
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
"小程序用户资源点击记录"
)
public
class
AppletUserClickRecord
extends
BaseEntity
{
@ApiModelProperty
(
"用户id"
)
private
Long
wechatUserId
;
@ApiModelProperty
(
"图书id"
)
private
Long
bookId
;
@ApiModelProperty
(
"运营id"
)
private
Long
fromId
;
@ApiModelProperty
(
"编辑id"
)
private
String
fromType
;
@ApiModelProperty
(
"运营id"
)
private
Long
channelId
;
@ApiModelProperty
(
"编辑id"
)
private
Long
adviserId
;
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/enums/BannerJumpTypeEnum.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
enums
;
/**
* banner跳转类型
*/
public
enum
BannerJumpTypeEnum
{
/**
* 指定页面
*/
appoint
(
1
),
/**
* web链接
*/
web_link
(
2
);
public
Integer
code
;
BannerJumpTypeEnum
(
Integer
code
)
{
this
.
code
=
code
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/enums/IntroduceTypeEnum.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
enums
;
/**
* 书单介绍类型
*/
public
enum
IntroduceTypeEnum
{
/**
* 编辑介绍
*/
edit_introduct
(
1
),
/**
* 使用外部链接
*/
web_introduct
(
2
);
public
Integer
code
;
IntroduceTypeEnum
(
Integer
code
)
{
this
.
code
=
code
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/facade/AppletHomeFacade.java
0 → 100644
View file @
31ef5afc
package
com
.
pcloud
.
book
.
applet
.
facade
;
import
com.pcloud.book.applet.biz.AppletBannerBiz
;
import
com.pcloud.book.applet.biz.AppletBooklistBiz
;
import
com.pcloud.book.applet.biz.AppletNewsBiz
;
import
com.pcloud.book.applet.biz.AppletUserBookcaseBiz
;
import
com.pcloud.book.applet.dto.AddBookParamDTO
;
import
com.pcloud.book.applet.dto.AppletBannerDTO
;
import
com.pcloud.book.applet.dto.AppletBooklistClassifyDTO
;
import
com.pcloud.book.applet.dto.AppletBooklistDTO
;
import
com.pcloud.book.applet.dto.AppletNewsClassifyDTO
;
import
com.pcloud.book.applet.dto.AppletNewsCommentDTO
;
import
com.pcloud.book.applet.dto.AppletNewsDTO
;
import
com.pcloud.book.applet.dto.AppletUserBookcaseDTO
;
import
com.pcloud.book.applet.dto.BookDTO4Booklist
;
import
com.pcloud.book.applet.entity.AppletBanner
;
import
com.pcloud.book.applet.entity.AppletBooklist
;
import
com.pcloud.book.applet.entity.AppletBooklistClassify
;
import
com.pcloud.book.applet.entity.AppletNews
;
import
com.pcloud.book.applet.entity.AppletNewsClassify
;
import
com.pcloud.book.applet.entity.AppletNewsComment
;
import
com.pcloud.book.applet.entity.AppletUserBookcase
;
import
com.pcloud.book.applet.entity.AppletUserClickRecord
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.permission.PermissionException
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.SessionUtil
;
import
com.pcloud.common.utils.cookie.Cookie
;
import
com.pcloud.common.utils.string.StringUtil
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.CookieValue
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestHeader
;
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
;
import
java.util.Map
;
@Api
(
"小睿小程序首页"
)
@RestController
(
"appletHomeFacade"
)
@RequestMapping
(
"appletHome"
)
public
class
AppletHomeFacade
{
@Autowired
private
AppletBooklistBiz
appletBooklistBiz
;
@Autowired
private
AppletBannerBiz
appletBannerBiz
;
@Autowired
private
AppletNewsBiz
appletNewsBiz
;
@Autowired
private
AppletUserBookcaseBiz
appletUserBookcaseBiz
;
@ApiOperation
(
"新增书单栏目"
)
@PostMapping
(
"addBooklistClassify"
)
public
ResponseDto
<
Long
>
addBooklistClassify
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
@ApiParam
(
"书单栏目"
)
AppletBooklistClassify
appletBooklistClassify
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
appletBooklistClassify
||
StringUtil
.
isEmpty
(
appletBooklistClassify
.
getClassifyName
())){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少栏目名称"
);
}
Long
id
=
appletBooklistBiz
.
addBooklistClassify
(
appletBooklistClassify
);
return
new
ResponseDto
<>(
id
);
}
@ApiOperation
(
"删除书单栏目"
)
@GetMapping
(
"deleteBooklistClassifyById"
)
public
ResponseDto
<?>
deleteBooklistClassifyById
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
"id"
)
@ApiParam
(
"书刊栏目id"
)
Long
id
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
id
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少栏目id"
);
}
appletBooklistBiz
.
deleteBooklistClassifyById
(
id
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
"修改书单栏目"
)
@PostMapping
(
"updateBooklistClassify"
)
public
ResponseDto
<?>
updateBooklistClassify
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
@ApiParam
(
"书单栏目"
)
AppletBooklistClassify
appletBooklistClassify
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
appletBooklistClassify
||
null
==
appletBooklistClassify
.
getId
()){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
appletBooklistBiz
.
updateBooklistClassify
(
appletBooklistClassify
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
"书单栏目列表"
)
@GetMapping
(
"listBooklistClassify"
)
public
ResponseDto
<
PageBeanNew
<
AppletBooklistClassifyDTO
>>
listBooklistClassify
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
"currentPage"
)
@ApiParam
(
"当前页"
)
Integer
currentPage
,
@RequestParam
(
"numPerPage"
)
@ApiParam
(
"每页数量"
)
Integer
numPerPage
,
@RequestParam
(
value
=
"name"
,
required
=
false
)
@ApiParam
(
"名称查询"
)
String
name
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
currentPage
||
null
==
numPerPage
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少分页参数"
);
}
return
new
ResponseDto
<>(
appletBooklistBiz
.
listBooklistClassify
(
currentPage
,
numPerPage
,
name
));
}
@ApiOperation
(
"新增书单"
)
@PostMapping
(
"addBooklist"
)
public
ResponseDto
<
Long
>
addBooklist
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
@ApiParam
(
"书单"
)
AppletBooklist
appletBooklist
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
appletBooklist
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
Long
id
=
appletBooklistBiz
.
addBooklist
(
appletBooklist
);
return
new
ResponseDto
<>(
id
);
}
@ApiOperation
(
"删除书单"
)
@GetMapping
(
"deleteBooklistById"
)
public
ResponseDto
<?>
deleteBooklistById
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
"id"
)
@ApiParam
(
"书刊id"
)
Long
id
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
id
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少书刊id"
);
}
appletBooklistBiz
.
deleteBooklistById
(
id
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
"修改书单"
)
@PostMapping
(
"updateBooklist"
)
public
ResponseDto
<?>
updateBooklist
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
@ApiParam
(
"书单"
)
AppletBooklist
appletBooklist
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
appletBooklist
||
null
==
appletBooklist
.
getId
()){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
appletBooklistBiz
.
updateBooklist
(
appletBooklist
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
"根据id查书单"
)
@GetMapping
(
"getBooklistById"
)
public
ResponseDto
<
AppletBooklistDTO
>
getBooklistById
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
"id"
)
@ApiParam
(
"书刊id"
)
Long
id
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
id
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少书刊id"
);
}
return
new
ResponseDto
<>(
appletBooklistBiz
.
getBooklistById
(
id
));
}
@ApiOperation
(
"书单管理列表"
)
@GetMapping
(
"listBooklist"
)
public
ResponseDto
<
PageBeanNew
<
AppletBooklistDTO
>>
listBooklist
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
"currentPage"
)
@ApiParam
(
"当前页"
)
Integer
currentPage
,
@RequestParam
(
"numPerPage"
)
@ApiParam
(
"每页数量"
)
Integer
numPerPage
,
@RequestParam
(
value
=
"name"
,
required
=
false
)
@ApiParam
(
"名称查询"
)
String
name
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
currentPage
||
null
==
numPerPage
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少分页参数"
);
}
return
new
ResponseDto
<>(
appletBooklistBiz
.
listBooklist
(
currentPage
,
numPerPage
,
name
));
}
@ApiOperation
(
"书单添加图书"
)
@PostMapping
(
"addBookToBooklist"
)
public
ResponseDto
<?>
addBookToBooklist
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
@ApiParam
(
"添加图书参数"
)
AddBookParamDTO
addBookParamDTO
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
addBookParamDTO
||
null
==
addBookParamDTO
.
getBooklistId
()
||
ListUtils
.
isEmpty
(
addBookParamDTO
.
getBookDTO4Booklists
())){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
for
(
BookDTO4Booklist
bookDTO
:
addBookParamDTO
.
getBookDTO4Booklists
()){
if
(
null
==
bookDTO
.
getBookId
()
||
null
==
bookDTO
.
getAdviserId
()
||
null
==
bookDTO
.
getChannelId
()){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少bookId/adviserId/channelId"
);
}
}
appletBooklistBiz
.
addBookToBooklist
(
addBookParamDTO
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
"新增banner"
)
@PostMapping
(
"addBanner"
)
public
ResponseDto
<
Long
>
addBanner
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
@ApiParam
(
"banner"
)
AppletBanner
appletBanner
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
appletBanner
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
Long
id
=
appletBannerBiz
.
addBanner
(
appletBanner
);
return
new
ResponseDto
<>(
id
);
}
@ApiOperation
(
"修改banner"
)
@PostMapping
(
"updateBanner"
)
public
ResponseDto
<?>
updateBanner
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
@ApiParam
(
"banner"
)
AppletBanner
appletBanner
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
appletBanner
||
null
==
appletBanner
.
getId
()){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
appletBannerBiz
.
updateBanner
(
appletBanner
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
"删除banner"
)
@GetMapping
(
"deleteBanner"
)
public
ResponseDto
<?>
deleteBanner
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
"id"
)
@ApiParam
(
"bannerId"
)
Long
id
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
id
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少bannerId"
);
}
appletBannerBiz
.
deleteBanner
(
id
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
"根据id查banner"
)
@GetMapping
(
"getBannerById"
)
public
ResponseDto
<
AppletBannerDTO
>
getBannerById
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
"bannerId"
)
@ApiParam
(
"bannerId"
)
Long
id
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
id
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少bannerId"
);
}
return
new
ResponseDto
<>(
appletBannerBiz
.
getBannerById
(
id
));
}
@ApiOperation
(
"banner列表"
)
@GetMapping
(
"listBanner"
)
public
ResponseDto
<
PageBeanNew
<
AppletBannerDTO
>>
listBanner
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
"currentPage"
)
@ApiParam
(
"当前页"
)
Integer
currentPage
,
@RequestParam
(
"numPerPage"
)
@ApiParam
(
"每页数量"
)
Integer
numPerPage
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
currentPage
||
null
==
numPerPage
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少分页参数"
);
}
return
new
ResponseDto
<>(
appletBannerBiz
.
listBanner
(
currentPage
,
numPerPage
,
null
));
}
@ApiOperation
(
"客户端banner列表"
)
@GetMapping
(
"listBanner4Wechat"
)
public
ResponseDto
<
PageBeanNew
<
AppletBannerDTO
>>
listBanner4Wechat
(
@RequestParam
(
"currentPage"
)
@ApiParam
(
"当前页"
)
Integer
currentPage
,
@RequestParam
(
"numPerPage"
)
@ApiParam
(
"每页数量"
)
Integer
numPerPage
)
{
if
(
null
==
currentPage
||
null
==
numPerPage
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少分页参数"
);
}
return
new
ResponseDto
<>(
appletBannerBiz
.
listBanner
(
currentPage
,
numPerPage
,
true
));
}
@ApiOperation
(
"获取书单下书籍列表"
)
@GetMapping
(
"listPageBook4AppletBooklist"
)
public
ResponseDto
<
PageBeanNew
<
BookDTO4Booklist
>>
listPageBook4AppletBooklist
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
"booklistId"
)
@ApiParam
(
"书单id"
)
Long
booklistId
,
@RequestParam
(
"currentPage"
)
@ApiParam
(
"当前页"
)
Integer
currentPage
,
@RequestParam
(
"numPerPage"
)
@ApiParam
(
"每页数量"
)
Integer
numPerPage
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
booklistId
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少书单id"
);
}
if
(
null
==
currentPage
||
null
==
numPerPage
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少分页参数"
);
}
return
new
ResponseDto
<>(
appletBooklistBiz
.
listPageBook4AppletBooklist
(
booklistId
,
currentPage
,
numPerPage
));
}
@ApiOperation
(
"更新书籍排序"
)
@GetMapping
(
"updateBookSeq"
)
public
ResponseDto
<?>
updateBookSeq
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
"configId"
)
@ApiParam
(
"配置id"
)
Long
configId
,
@RequestParam
(
"seq"
)
@ApiParam
(
"排序值"
)
Integer
seq
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
configId
||
null
==
seq
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
appletBooklistBiz
.
updateBookSeq
(
configId
,
seq
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
"获取所有书单栏目"
)
@GetMapping
(
"getAllBooklistClassify"
)
public
ResponseDto
<
List
<
AppletBooklistClassifyDTO
>>
getAllBooklistClassify
(
@RequestParam
(
value
=
"showState"
,
required
=
false
)
@ApiParam
(
"是否展示"
)
Boolean
showState
){
return
new
ResponseDto
<>(
appletBooklistBiz
.
getAllBooklistClassify
(
showState
));
}
@ApiOperation
(
"客户端获取书单列表"
)
@GetMapping
(
"listBooklist4Wechat"
)
public
ResponseDto
<
PageBeanNew
<
AppletBooklistDTO
>>
listBooklist4Wechat
(
@RequestParam
(
value
=
"classifyId"
,
required
=
false
)
@ApiParam
(
"书单栏目id"
)
Long
classifyId
,
@RequestParam
(
"currentPage"
)
@ApiParam
(
"当前页"
)
Integer
currentPage
,
@RequestParam
(
"numPerPage"
)
@ApiParam
(
"每页数量"
)
Integer
numPerPage
){
if
(
null
==
currentPage
||
null
==
numPerPage
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少分页参数"
);
}
return
new
ResponseDto
<>(
appletBooklistBiz
.
listBooklist4Wechat
(
classifyId
,
currentPage
,
numPerPage
));
}
@ApiOperation
(
"客户端根据id获取书单"
)
@GetMapping
(
"getBooklistById4Wechat"
)
public
ResponseDto
<
AppletBooklistDTO
>
getBooklistById4Wechat
(
@RequestParam
(
"booklistId"
)
@ApiParam
(
"书单id"
)
Long
booklistId
){
if
(
null
==
booklistId
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
return
new
ResponseDto
<>(
appletBooklistBiz
.
getBooklistById4Wechat
(
booklistId
));
}
@ApiOperation
(
"新增资讯栏目"
)
@PostMapping
(
"addAppletNewsClassify"
)
public
ResponseDto
<
Long
>
addAppletNewsClassify
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
@ApiParam
(
"资讯栏目"
)
AppletNewsClassify
appletNewsClassify
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
appletNewsClassify
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
return
new
ResponseDto
<>(
appletNewsBiz
.
addAppletNewsClassify
(
appletNewsClassify
));
}
@ApiOperation
(
"修改资讯栏目"
)
@PostMapping
(
"updateAppletNewsClassify"
)
public
ResponseDto
<?>
updateAppletNewsClassify
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
@ApiParam
(
"资讯栏目"
)
AppletNewsClassify
appletNewsClassify
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
appletNewsClassify
||
null
==
appletNewsClassify
.
getId
()){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
appletNewsBiz
.
updateAppletNewsClassify
(
appletNewsClassify
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
"删除资讯栏目"
)
@GetMapping
(
"deleteNewsClassifyById"
)
public
ResponseDto
<?>
deleteNewsClassifyById
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
"id"
)
@ApiParam
(
"资讯栏目"
)
Long
id
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
id
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
appletNewsBiz
.
deleteNewsClassifyById
(
id
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
"资讯栏目列表"
)
@GetMapping
(
"listNewsClassify"
)
public
ResponseDto
<
PageBeanNew
<
AppletNewsClassifyDTO
>>
listNewsClassify
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
"currentPage"
)
@ApiParam
(
"当前页"
)
Integer
currentPage
,
@RequestParam
(
"numPerPage"
)
@ApiParam
(
"每页数量"
)
Integer
numPerPage
,
@RequestParam
(
value
=
"name"
,
required
=
false
)
@ApiParam
(
"名称查询"
)
String
name
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
currentPage
||
null
==
numPerPage
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少分页参数"
);
}
return
new
ResponseDto
<>(
appletNewsBiz
.
listNewsClassify
(
currentPage
,
numPerPage
,
name
));
}
@ApiOperation
(
"获取所有资讯栏目"
)
@GetMapping
(
"getAllNewsClassify"
)
public
ResponseDto
<
List
<
AppletNewsClassifyDTO
>>
getAllNewsClassify
(
@RequestParam
(
value
=
"showState"
,
required
=
false
)
@ApiParam
(
"是否展示"
)
Boolean
showState
){
return
new
ResponseDto
<>(
appletNewsBiz
.
getAllNewsClassify
(
showState
));
}
@ApiOperation
(
"添加资讯"
)
@PostMapping
(
"addAppletNews"
)
public
ResponseDto
<
Long
>
addAppletNews
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
@ApiParam
(
"资讯"
)
AppletNews
appletNews
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
appletNews
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
return
new
ResponseDto
<>(
appletNewsBiz
.
addAppletNews
(
appletNews
));
}
@ApiOperation
(
"修改资讯"
)
@PostMapping
(
"updateAppletNews"
)
public
ResponseDto
<?>
updateAppletNews
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
@ApiParam
(
"资讯"
)
AppletNews
appletNews
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
appletNews
||
null
==
appletNews
.
getId
()){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
appletNewsBiz
.
updateAppletNews
(
appletNews
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
"删除资讯"
)
@GetMapping
(
"deleteAppletNewsById"
)
public
ResponseDto
<?>
deleteAppletNewsById
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
"id"
)
@ApiParam
(
"资讯id"
)
Long
id
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
id
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
appletNewsBiz
.
deleteAppletNewsById
(
id
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
"资讯列表"
)
@GetMapping
(
"listAppletNews"
)
public
ResponseDto
<
PageBeanNew
<
AppletNewsDTO
>>
listAppletNews
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
"currentPage"
)
@ApiParam
(
"当前页"
)
Integer
currentPage
,
@RequestParam
(
"numPerPage"
)
@ApiParam
(
"每页数量"
)
Integer
numPerPage
,
@RequestParam
(
value
=
"name"
,
required
=
false
)
@ApiParam
(
"名称查询"
)
String
name
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
currentPage
||
null
==
numPerPage
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少分页参数"
);
}
return
new
ResponseDto
<>(
appletNewsBiz
.
listAppletNews
(
currentPage
,
numPerPage
,
name
));
}
@ApiOperation
(
"客户端资讯列表"
)
@GetMapping
(
"listAppletNews4Wechat"
)
public
ResponseDto
<
PageBeanNew
<
AppletNewsDTO
>>
listAppletNews4Wechat
(
@RequestParam
(
"currentPage"
)
@ApiParam
(
"当前页"
)
Integer
currentPage
,
@RequestParam
(
"numPerPage"
)
@ApiParam
(
"每页数量"
)
Integer
numPerPage
,
@RequestParam
(
value
=
"newsClassifyId"
,
required
=
false
)
@ApiParam
(
"资讯栏目id"
)
Long
newsClassifyId
)
{
if
(
null
==
currentPage
||
null
==
numPerPage
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少分页参数"
);
}
return
new
ResponseDto
<>(
appletNewsBiz
.
listAppletNews4Wechat
(
currentPage
,
numPerPage
,
newsClassifyId
));
}
@ApiOperation
(
"添加资讯评论"
)
@PostMapping
(
"addAppletNewsComment"
)
public
ResponseDto
<?>
addAppletNewsComment
(
@CookieValue
(
"userInfo"
)
String
userInfo
,
@RequestBody
@ApiParam
(
"资讯评论"
)
AppletNewsComment
appletNewsComment
){
Long
wechatUserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
if
(
null
==
appletNewsComment
||
null
==
appletNewsComment
.
getNewsId
()
||
StringUtil
.
isEmpty
(
appletNewsComment
.
getComment
())){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
appletNewsBiz
.
addAppletNewsComment
(
appletNewsComment
,
wechatUserId
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
"查询资讯评论列表"
)
@GetMapping
(
"listNewsCommentByNewsId"
)
public
ResponseDto
<
PageBeanNew
<
AppletNewsCommentDTO
>>
listNewsCommentByNewsId
(
@RequestParam
(
"currentPage"
)
@ApiParam
(
"当前页"
)
Integer
currentPage
,
@RequestParam
(
"numPerPage"
)
@ApiParam
(
"每页数量"
)
Integer
numPerPage
,
@RequestParam
(
"newsId"
)
@ApiParam
(
"资讯id"
)
Long
newsId
){
if
(
null
==
currentPage
||
null
==
numPerPage
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少分页参数"
);
}
if
(
null
==
newsId
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少资讯id"
);
}
return
new
ResponseDto
<>(
appletNewsBiz
.
listNewsCommentByNewsId
(
currentPage
,
numPerPage
,
newsId
));
}
@ApiOperation
(
"添加图书到书架"
)
@PostMapping
(
"addUserBook"
)
public
ResponseDto
<?>
addUserBook
(
@CookieValue
(
"userInfo"
)
String
userInfo
,
@RequestBody
@ApiParam
(
"图书"
)
AppletUserBookcase
appletUserBookcase
){
Long
wechatUserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
if
(
null
==
appletUserBookcase
||
null
==
appletUserBookcase
.
getBookId
()
||
null
==
appletUserBookcase
.
getAdviserId
()
||
null
==
appletUserBookcase
.
getChannelId
()){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
appletUserBookcase
.
setWechatUserId
(
wechatUserId
);
appletUserBookcaseBiz
.
addUserBook
(
appletUserBookcase
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
"查用户书架列表"
)
@GetMapping
(
"listUserBookcaseByWechatUserId"
)
public
ResponseDto
<
PageBeanNew
<
AppletUserBookcaseDTO
>>
listUserBookcaseByWechatUserId
(
@CookieValue
(
"userInfo"
)
String
userInfo
,
@RequestParam
(
"currentPage"
)
@ApiParam
(
"当前页"
)
Integer
currentPage
,
@RequestParam
(
"numPerPage"
)
@ApiParam
(
"每页数量"
)
Integer
numPerPage
){
Long
wechatUserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
if
(
null
==
currentPage
||
null
==
numPerPage
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少分页参数"
);
}
return
new
ResponseDto
<>(
appletUserBookcaseBiz
.
listByWechatUserId
(
wechatUserId
,
currentPage
,
numPerPage
));
}
@ApiOperation
(
"新增用户资源点击记录"
)
@PostMapping
(
"addUserClickRecord"
)
public
ResponseDto
<?>
addUserClickRecord
(
@CookieValue
(
"userInfo"
)
String
userInfo
,
@RequestBody
@ApiParam
(
"资源点击记录"
)
AppletUserClickRecord
appletUserClickRecord
){
Long
wechatUserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
if
(
null
==
appletUserClickRecord
||
null
==
appletUserClickRecord
.
getBookId
()
||
null
==
appletUserClickRecord
.
getFromId
()
||
StringUtil
.
isEmpty
(
appletUserClickRecord
.
getFromType
())){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
appletUserClickRecord
.
setWechatUserId
(
wechatUserId
);
appletUserBookcaseBiz
.
addUserClickRecord
(
appletUserClickRecord
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
"用户图书资源点击统计"
)
@GetMapping
(
"getUserClickStatistic"
)
public
ResponseDto
<
Map
<
String
,
Object
>>
getUserClickStatistic
(
@CookieValue
(
"userInfo"
)
String
userInfo
,
@RequestParam
(
"bookId"
)
@ApiParam
(
"图书id"
)
Long
bookId
,
@RequestParam
(
"channelId"
)
@ApiParam
(
"运营id"
)
Long
channelId
,
@RequestParam
(
"adviserId"
)
@ApiParam
(
"编辑id"
)
Long
adviserId
){
Long
wechatUserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
if
(
null
==
bookId
||
null
==
channelId
||
null
==
adviserId
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
return
new
ResponseDto
<>(
appletUserBookcaseBiz
.
getUserClickStatistic
(
wechatUserId
,
bookId
,
channelId
,
adviserId
));
}
@ApiOperation
(
"根据ID查资讯详情"
)
@GetMapping
(
"getAppletNewsById"
)
public
ResponseDto
<
AppletNewsDTO
>
getAppletNewsById
(
@RequestParam
(
"newsId"
)
@ApiParam
(
"资讯id"
)
Long
newsId
){
if
(
null
==
newsId
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
return
new
ResponseDto
<>(
appletNewsBiz
.
getNewsById
(
newsId
));
}
@ApiOperation
(
"查图书详情-出版作者分类书名"
)
@GetMapping
(
"getByBookIdAdviserChannel"
)
public
ResponseDto
<
BookDTO4Booklist
>
getByBookIdAdviserChannel
(
@RequestParam
(
"adviserId"
)
@ApiParam
(
"编辑id"
)
Long
adviserId
,
@RequestParam
(
"channelId"
)
@ApiParam
(
"运营id"
)
Long
channelId
,
@RequestParam
(
"bookId"
)
@ApiParam
(
"图书id"
)
Long
bookId
){
if
(
null
==
bookId
||
null
==
channelId
||
null
==
adviserId
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
return
new
ResponseDto
<>(
appletBooklistBiz
.
getByBookIdAdviserChannel
(
adviserId
,
channelId
,
bookId
));
}
@ApiOperation
(
"更新资讯上架状态"
)
@PostMapping
(
"updateNewsShowState"
)
public
ResponseDto
<?>
updateNewsShowState
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
@ApiParam
(
"资讯"
)
AppletNews
appletNews
)
throws
PermissionException
{
SessionUtil
.
getInfoToken4Redis
(
token
);
if
(
null
==
appletNews
||
null
==
appletNews
.
getId
()
||
null
==
appletNews
.
getShowState
()){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
appletNewsBiz
.
updateNewsShowState
(
appletNews
);
return
new
ResponseDto
<>();
}
}
pcloud-service-book/src/main/java/com/pcloud/book/consumer/channel/QrcodeSceneConsr.java
View file @
31ef5afc
...
...
@@ -342,7 +342,7 @@ public class QrcodeSceneConsr {
}
}
@ParamLog
(
"获取书刊下所有服务"
)
@ParamLog
(
"获取书刊下所有服务
-书刊特配资源
"
)
public
List
<
BookServeVO
>
listBookServe
(
BookServeParamVO
bookServeParamVO
){
List
<
BookServeVO
>
list
=
new
ArrayList
<>();
try
{
...
...
@@ -353,4 +353,16 @@ public class QrcodeSceneConsr {
}
return
list
;
}
@ParamLog
(
"获取书刊下所有服务id"
)
public
List
<
BookServeVO
>
listBookServeIds
(
BookServeParamVO
bookServeParamVO
){
List
<
BookServeVO
>
list
=
new
ArrayList
<>();
try
{
list
=
ResponseHandleUtil
.
parseList
(
messageService
.
listBookServeIds
(
bookServeParamVO
),
BookServeVO
.
class
);
}
catch
(
Exception
e
){
LOGGER
.
error
(
"调用messageService.listBookServeIds失败"
+
e
.
getMessage
(),
e
);
}
return
list
;
}
}
pcloud-service-book/src/main/resources/mapper/applet/AppletBanner.xml
0 → 100644
View file @
31ef5afc
<?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.applet.dao.impl.AppletBannerDaoImpl"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.applet.entity.AppletBanner"
>
<id
column=
"id"
property=
"id"
jdbcType=
"BIGINT"
/>
<result
column=
"banner_pic"
property=
"bannerPic"
jdbcType=
"VARCHAR"
/>
<result
column=
"jump_type"
property=
"jumpType"
jdbcType=
"INTEGER"
/>
<result
column=
"jump_url"
property=
"jumpUrl"
jdbcType=
"VARCHAR"
/>
<result
column=
"seq"
property=
"seq"
jdbcType=
"INTEGER"
/>
<result
column=
"show_state"
property=
"showState"
jdbcType=
"BOOLEAN"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, banner_pic, jump_type, jump_url, seq, show_state, create_time, update_time
</sql>
<insert
id=
"insert"
parameterType=
"com.pcloud.book.applet.entity.AppletBanner"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into applet_banner(
banner_pic, jump_type, jump_url, seq, show_state, create_time, update_time
)
values (
#{bannerPic}, #{jumpType}, #{jumpUrl}, #{seq}, #{showState}, NOW(), NOW()
)
</insert>
<update
id=
"update"
parameterType=
"com.pcloud.book.applet.entity.AppletBanner"
>
update applet_banner
<set>
<if
test=
"bannerPic != null"
>
banner_pic = #{bannerPic},
</if>
<if
test=
"jumpType != null"
>
jump_type = #{jumpType,jdbcType=INTEGER},
</if>
<if
test=
"jumpUrl != null"
>
jump_url = #{jumpUrl},
</if>
<if
test=
"seq != null"
>
seq = #{seq,jdbcType=INTEGER},
</if>
<if
test=
"showState != null"
>
show_state = #{showState,jdbcType=BOOLEAN},
</if>
update_time=NOW()
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<select
id=
"getById"
parameterType=
"long"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from applet_banner
where id=#{id}
</select>
<delete
id=
"deleteById"
parameterType=
"long"
>
delete from applet_banner
where id=#{id}
</delete>
<select
id=
"listBanner"
resultType=
"com.pcloud.book.applet.dto.AppletBannerDTO"
parameterType=
"map"
>
SELECT
id id,
banner_pic bannerPic,
seq seq,
show_state showState,
jump_type jumpType,
jump_url jumpUrl
FROM applet_banner
where 1=1
<if
test=
"showState != null"
>
and show_state = #{showState}
</if>
ORDER BY seq ASC
</select>
<select
id=
"getMaxSeq"
resultType=
"Integer"
>
SELECT IFNULL(MAX(seq),0) FROM applet_banner
</select>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/applet/AppletBooklist.xml
0 → 100644
View file @
31ef5afc
<?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.applet.dao.impl.AppletBooklistDaoImpl"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.applet.entity.AppletBooklist"
>
<id
column=
"id"
property=
"id"
jdbcType=
"BIGINT"
/>
<result
column=
"booklist_name"
property=
"booklistName"
jdbcType=
"VARCHAR"
/>
<result
column=
"user_name"
property=
"userName"
jdbcType=
"VARCHAR"
/>
<result
column=
"digest"
property=
"digest"
jdbcType=
"VARCHAR"
/>
<result
column=
"display_pic"
property=
"displayPic"
jdbcType=
"VARCHAR"
/>
<result
column=
"introduce_type"
property=
"introduceType"
jdbcType=
"INTEGER"
/>
<result
column=
"introduce_content"
property=
"introduceContent"
jdbcType=
"VARCHAR"
/>
<result
column=
"introduce_url"
property=
"introduceUrl"
jdbcType=
"VARCHAR"
/>
<result
column=
"classify_id"
property=
"classifyId"
jdbcType=
"BIGINT"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, booklist_name, user_name, digest, display_pic, introduce_type, introduce_content, introduce_url,
classify_id, create_time, update_time
</sql>
<insert
id=
"insert"
parameterType=
"com.pcloud.book.applet.entity.AppletBooklist"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into applet_booklist (
booklist_name, user_name, digest, display_pic, introduce_type, introduce_content, introduce_url,
classify_id, create_time, update_time
)
values (
#{booklistName}, #{userName}, #{digest}, #{displayPic}, #{introduceType}, #{introduceContent}, #{introduceUrl},
#{classifyId}, NOW(), NOW()
)
</insert>
<update
id=
"update"
parameterType=
"com.pcloud.book.applet.entity.AppletBooklist"
>
update applet_booklist
<set>
<if
test=
"booklistName != null"
>
booklist_name = #{booklistName},
</if>
<if
test=
"userName != null"
>
user_name = #{userName},
</if>
<if
test=
"digest != null"
>
digest = #{digest},
</if>
<if
test=
"displayPic != null"
>
display_pic = #{displayPic},
</if>
<if
test=
"introduceType != null"
>
introduce_type = #{introduceType},
</if>
<if
test=
"introduceContent != null"
>
introduce_content = #{introduceContent},
</if>
<if
test=
"introduceUrl != null"
>
introduce_url = #{introduceUrl},
</if>
<if
test=
"classifyId != null"
>
classify_id = #{classifyId},
</if>
update_time=NOW()
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<select
id=
"getById"
parameterType=
"long"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from applet_booklist
where id=#{id}
</select>
<delete
id=
"deleteById"
parameterType=
"long"
>
delete from applet_booklist
where id=#{id}
</delete>
<delete
id=
"deleteConfigByBooklistId"
parameterType=
"long"
>
delete from applet_booklist_config WHERE booklist_id = #{booklistId}
</delete>
<insert
id=
"addBooklistConfig"
parameterType=
"list"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into applet_booklist_config (
booklist_id, book_id, adviser_id, channel_id,seq, create_time)
values
<foreach
collection=
"list"
item=
"item"
index=
"index"
separator=
","
>
( #{item.booklistId}, #{item.bookId}, #{item.adviserId}, #{item.channelId}, #{item.seq}, NOW() )
</foreach>
</insert>
<select
id=
"listBooklist"
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,
a.id classifyId,
a.classify_name classifyName
FROM applet_booklist b
LEFT JOIN applet_booklist_config c ON b.id=c.booklist_id
LEFT JOIN applet_booklist_classify a ON b.classify_id=a.id
WHERE 1=1
<if
test=
"name != null"
>
AND b.booklist_name LIKE CONCAT("%", #{name} ,"%")
</if>
GROUP BY b.id
order by b.create_time desc
</select>
<select
id=
"getByClassifyId"
parameterType=
"long"
resultMap=
"BaseResultMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM applet_booklist WHERE classify_id=#{classifyId}
</select>
<update
id=
"updateBookSeq"
parameterType=
"map"
>
update applet_booklist_config
set seq = #{seq}
where id = #{id}
</update>
<select
id=
"listPageBook4AppletBooklist"
parameterType=
"map"
resultType=
"com.pcloud.book.applet.dto.BookDTO4Booklist"
>
SELECT
c.id id,
c.booklist_id booklistId,
ap.booklist_name booklistName,
A.BOOK_ID bookId,
A.CHANNEL_ID channelId,
A.ADVISER_ID adviserId,
B.BOOK_NAME bookName,
B.AUTHOR author,
B.PUBLISH publish,
B.COVER_IMG coverImg,
A.TEMPLET_ID templetId,
A.SECOND_TEMPLET_ID secondTempletId,
c.seq seq,
B.ISBN isbn,
CONCAT('BK',A.BOOK_ID) uniqueNumber
FROM
applet_booklist_config c
LEFT JOIN applet_booklist ap ON c.booklist_id=ap.id
LEFT JOIN BOOK_ADVISER A ON c.book_id=a.BOOK_ID AND c.adviser_id=a.ADVISER_ID AND c.channel_id=a.CHANNEL_ID
INNER JOIN BOOK B ON A.BOOK_ID = B.BOOK_ID AND A.IS_DELETE = 0 AND B.IS_DELETE = 0
WHERE
c.booklist_id=#{booklistId}
ORDER BY c.seq ASC
</select>
<select
id=
"listBooklist4Wechat"
parameterType=
"map"
resultType=
"com.pcloud.book.applet.dto.AppletBooklistDTO"
>
SELECT
b.id id,
b.booklist_name booklistName,
b.user_name userName,
COUNT(c.id) bookCounts
FROM applet_booklist b
LEFT JOIN applet_booklist_config c ON b.id=c.booklist_id
WHERE 1=1
AND b.classify_id= #{classifyId}
GROUP BY b.id
HAVING COUNT(c.id)>0
order by b.create_time desc
</select>
<select
id=
"getBookBaseByBooklistId"
parameterType=
"map"
resultType=
"com.pcloud.book.applet.dto.BookDTO4Booklist"
>
SELECT
c.book_id bookId,
c.channel_id channelId,
c.adviser_id adviserId,
b.BOOK_NAME bookName,
b.COVER_IMG coverImg
FROM applet_booklist_config c
INNER JOIN book b ON c.book_id=b.BOOK_ID
WHERE c.booklist_id=#{booklistId}
ORDER BY c.seq ASC
<if
test=
"pageNum>=0 and numPerPage>0"
>
limit #{pageNum}, #{numPerPage}
</if>
</select>
<select
id=
"getConfigByBooklistIds"
parameterType=
"map"
resultType=
"com.pcloud.book.applet.dto.BookDTO4Booklist"
>
SELECT
booklist_id booklistId,
book_id bookId,
adviser_id adviserId,
channel_id channelId
FROM applet_booklist_config
WHERE booklist_id in
<foreach
collection=
"list"
item=
"item"
index=
"index"
separator=
","
open=
"("
close=
")"
>
#{item}
</foreach>
</select>
<select
id=
"getByBookIdAdviserChannel"
parameterType=
"map"
resultType=
"com.pcloud.book.applet.dto.BookDTO4Booklist"
>
SELECT
A.BOOK_ID bookId,
A.CHANNEL_ID channelId,
A.ADVISER_ID adviserId,
B.BOOK_NAME bookName,
B.AUTHOR author,
B.PUBLISH publish,
B.COVER_IMG coverImg,
A.TEMPLET_ID templetId,
A.SECOND_TEMPLET_ID secondTempletId,
B.ISBN isbn,
CONCAT('BK',A.BOOK_ID) uniqueNumber
FROM
BOOK_ADVISER A
INNER JOIN BOOK B ON A.BOOK_ID = B.BOOK_ID AND A.IS_DELETE = 0 AND B.IS_DELETE = 0
WHERE
A.BOOK_ID=#{bookId}
AND A.ADVISER_ID=#{adviserId}
AND A.CHANNEL_ID=#{channelId}
</select>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/applet/AppletBooklistClassify.xml
0 → 100644
View file @
31ef5afc
<?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.applet.dao.impl.AppletBooklistClassifyDaoImpl"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.applet.entity.AppletBooklistClassify"
>
<id
column=
"id"
property=
"id"
jdbcType=
"BIGINT"
/>
<result
column=
"classify_name"
property=
"classifyName"
jdbcType=
"VARCHAR"
/>
<result
column=
"seq"
property=
"seq"
jdbcType=
"INTEGER"
/>
<result
column=
"show_state"
property=
"showState"
jdbcType=
"BOOLEAN"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, classify_name, seq, show_state, create_time,update_time
</sql>
<insert
id=
"insert"
parameterType=
"com.pcloud.book.applet.entity.AppletBooklistClassify"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into applet_booklist_classify (
classify_name, seq, show_state, create_time, update_time
)
values (
#{classifyName}, #{seq}, #{showState}, NOW(), NOW()
)
</insert>
<update
id=
"update"
parameterType=
"com.pcloud.book.applet.entity.AppletBooklistClassify"
>
update applet_booklist_classify
<set>
<if
test=
"classifyName != null"
>
classify_name = #{classifyName,jdbcType=BIGINT},
</if>
<if
test=
"seq != null"
>
seq = #{seq},
</if>
<if
test=
"showState != null"
>
show_state = #{showState},
</if>
update_time=NOW()
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<select
id=
"getById"
parameterType=
"long"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from applet_booklist_classify
where id=#{id}
</select>
<delete
id=
"deleteById"
parameterType=
"long"
>
delete from applet_booklist_classify
where id=#{id}
</delete>
<select
id=
"listBooklistClassify"
parameterType=
"map"
resultType=
"com.pcloud.book.applet.dto.AppletBooklistClassifyDTO"
>
SELECT
b.id id,
b.classify_name classifyName,
b.seq seq,
COUNT(c.id) booklistCount,
b.show_state showState
FROM applet_booklist_classify b
LEFT JOIN applet_booklist c ON b.id=c.classify_id
WHERE 1=1
<if
test=
"name != null"
>
AND b.classify_name LIKE CONCAT("%",#{name},"%")
</if>
GROUP BY b.id
order by b.seq asc
</select>
<select
id=
"getMaxSeq"
resultType=
"Integer"
>
SELECT IFNULL(MAX(seq),0) FROM applet_booklist_classify
</select>
<select
id=
"getAllBooklistClassify"
parameterType=
"map"
resultType=
"com.pcloud.book.applet.dto.AppletBooklistClassifyDTO"
>
SELECT
id, classify_name classifyName, seq, show_state showState
FROM applet_booklist_classify
where 1=1
<if
test=
"showState != null"
>
AND show_state = #{showState}
</if>
ORDER BY seq ASC
</select>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/applet/AppletNews.xml
0 → 100644
View file @
31ef5afc
<?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.applet.dao.impl.AppletNewsDaoImpl"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.applet.entity.AppletNews"
>
<id
column=
"id"
property=
"id"
jdbcType=
"BIGINT"
/>
<result
column=
"news_name"
property=
"newsName"
jdbcType=
"VARCHAR"
/>
<result
column=
"source"
property=
"source"
jdbcType=
"VARCHAR"
/>
<result
column=
"news_classify_id"
property=
"newsClassifyId"
jdbcType=
"BIGINT"
/>
<result
column=
"pro_label_id"
property=
"proLabelId"
jdbcType=
"BIGINT"
/>
<result
column=
"dep_label_id"
property=
"depLabelId"
jdbcType=
"BIGINT"
/>
<result
column=
"pur_label_id"
property=
"purLabelId"
jdbcType=
"BIGINT"
/>
<result
column=
"type"
property=
"type"
jdbcType=
"INTEGER"
/>
<result
column=
"digest"
property=
"digest"
jdbcType=
"VARCHAR"
/>
<result
column=
"pic1"
property=
"pic1"
jdbcType=
"VARCHAR"
/>
<result
column=
"pic2"
property=
"pic2"
jdbcType=
"VARCHAR"
/>
<result
column=
"pic3"
property=
"pic3"
jdbcType=
"VARCHAR"
/>
<result
column=
"content"
property=
"content"
jdbcType=
"VARCHAR"
/>
<result
column=
"show_state"
property=
"showState"
jdbcType=
"BOOLEAN"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, news_name, source, news_classify_id, pro_label_id, dep_label_id, pur_label_id, type, digest,
pic1, pic2, pic3, content, show_state, create_time, update_time
</sql>
<insert
id=
"insert"
parameterType=
"com.pcloud.book.applet.entity.AppletNews"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into applet_news(
news_name, source, news_classify_id, pro_label_id, dep_label_id, pur_label_id, type, digest,
pic1, pic2, pic3, content, show_state, create_time, update_time
)
values (
#{newsName}, #{source}, #{newsClassifyId}, #{proLabelId}, #{depLabelId}, #{purLabelId}, #{type}, #{digest},
#{pic1}, #{pic2}, #{pic3}, #{content}, #{showState}, NOW(), NOW()
)
</insert>
<update
id=
"update"
parameterType=
"com.pcloud.book.applet.entity.AppletNews"
>
update applet_news
<set>
<if
test=
"newsName != null"
>
news_name = #{newsName},
</if>
<if
test=
"source != null"
>
source = #{source},
</if>
<if
test=
"newsClassifyId != null"
>
news_classify_id = #{newsClassifyId},
</if>
<if
test=
"proLabelId != null"
>
pro_label_id = #{proLabelId},
</if>
<if
test=
"depLabelId != null"
>
dep_label_id = #{depLabelId},
</if>
<if
test=
"purLabelId != null"
>
pur_label_id = #{purLabelId},
</if>
<if
test=
"type != null"
>
type = #{type},
</if>
<if
test=
"source != null"
>
source = #{source},
</if>
digest = #{digest},
pic1 = #{pic1},
pic2 = #{pic2},
pic3 = #{pic3},
<if
test=
"content != null"
>
content = #{content},
</if>
<if
test=
"showState != null"
>
show_state = #{showState,jdbcType=BOOLEAN},
</if>
update_time=NOW()
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update
id=
"updateNewsShowState"
parameterType=
"com.pcloud.book.applet.entity.AppletNews"
>
update applet_news
set show_state = #{showState,jdbcType=BOOLEAN}
where id = #{id,jdbcType=BIGINT}
</update>
<select
id=
"getById"
parameterType=
"long"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from applet_news
where id=#{id}
</select>
<delete
id=
"deleteById"
parameterType=
"long"
>
delete from applet_news
where id=#{id}
</delete>
<select
id=
"listAppletNews"
parameterType=
"map"
resultType=
"com.pcloud.book.applet.dto.AppletNewsDTO"
>
SELECT
n.id,
n.news_name newsName,
n.source,
n.news_classify_id newsClassifyId,
n.pro_label_id proLabelId,
n.dep_label_id depLabelId,
n.pur_label_id purLabelId,
n.type,
n.digest,
n.pic1,
n.pic2,
n.pic3,
n.content,
n.show_state showState,
c.news_classify newsClassify,
n.create_time createTime
FROM applet_news n LEFT JOIN applet_news_classify c ON
n.news_classify_id=c.id
WHERE 1=1
<if
test=
"name != null"
>
AND n.news_name LIKE CONCAT("%",#{name},"%")
</if>
<if
test=
"newsClassifyId >0"
>
AND n.news_classify_id = #{newsClassifyId}
</if>
<if
test=
"showState != null"
>
AND n.show_state = #{showState}
</if>
ORDER BY n.create_time DESC
</select>
<select
id=
"getByNewsClassifyId"
parameterType=
"long"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from applet_news
where news_classify_id=#{newsClassifyId}
</select>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/applet/AppletNewsClassify.xml
0 → 100644
View file @
31ef5afc
<?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.applet.dao.impl.AppletNewsClassifyDaoImpl"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.applet.entity.AppletNewsClassify"
>
<id
column=
"id"
property=
"id"
jdbcType=
"BIGINT"
/>
<result
column=
"news_classify"
property=
"newsClassify"
jdbcType=
"VARCHAR"
/>
<result
column=
"seq"
property=
"seq"
jdbcType=
"INTEGER"
/>
<result
column=
"show_state"
property=
"showState"
jdbcType=
"BOOLEAN"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, news_classify, seq, show_state, create_time,update_time
</sql>
<insert
id=
"insert"
parameterType=
"com.pcloud.book.applet.entity.AppletNewsClassify"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into applet_news_classify (
news_classify, seq, show_state, create_time, update_time
)
values (
#{newsClassify}, #{seq}, #{showState}, NOW(), NOW()
)
</insert>
<update
id=
"update"
parameterType=
"com.pcloud.book.applet.entity.AppletNewsClassify"
>
update applet_news_classify
<set>
<if
test=
"newsClassify != null"
>
news_classify = #{newsClassify,jdbcType=BIGINT},
</if>
<if
test=
"seq != null"
>
seq = #{seq},
</if>
<if
test=
"showState != null"
>
show_state = #{showState},
</if>
update_time=NOW()
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<select
id=
"getById"
parameterType=
"long"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from applet_news_classify
where id=#{id}
</select>
<delete
id=
"deleteById"
parameterType=
"long"
>
delete from applet_news_classify
where id=#{id}
</delete>
<select
id=
"listNewsClassify"
parameterType=
"map"
resultType=
"com.pcloud.book.applet.dto.AppletNewsClassifyDTO"
>
SELECT
b.id id,
b.news_classify newsClassify,
b.seq seq,
COUNT(c.id) newsCount,
b.show_state showState
FROM applet_news_classify b
LEFT JOIN applet_news c ON b.id=c.news_classify_id
WHERE 1=1
<if
test=
"name != null"
>
AND b.news_classify LIKE CONCAT("%",#{name},"%")
</if>
GROUP BY b.id
order by b.seq asc
</select>
<select
id=
"getMaxSeq"
resultType=
"Integer"
>
SELECT IFNULL(MAX(seq),0) FROM applet_news_classify
</select>
<select
id=
"getAllNewsClassify"
parameterType=
"map"
resultType=
"com.pcloud.book.applet.dto.AppletNewsClassifyDTO"
>
SELECT
id, news_classify newsClassify, seq, show_state showState
FROM applet_news_classify
where 1=1
<if
test=
"showState != null"
>
AND show_state = #{showState}
</if>
ORDER BY seq ASC
</select>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/applet/AppletNewsComment.xml
0 → 100644
View file @
31ef5afc
<?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.applet.dao.impl.AppletNewsCommentDaoImpl"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.applet.entity.AppletNewsComment"
>
<id
column=
"id"
property=
"id"
jdbcType=
"BIGINT"
/>
<result
column=
"news_id"
property=
"newsId"
jdbcType=
"BIGINT"
/>
<result
column=
"comment"
property=
"comment"
jdbcType=
"VARCHAR"
/>
<result
column=
"wechat_user_id"
property=
"wechatUserId"
jdbcType=
"BIGINT"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, news_id, comment, wechat_user_id, create_time
</sql>
<insert
id=
"insert"
parameterType=
"com.pcloud.book.applet.entity.AppletNewsComment"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into applet_news_comment (
news_id, comment, wechat_user_id, create_time
)
values (
#{newsId}, #{comment}, #{wechatUserId}, NOW()
)
</insert>
<select
id=
"listNewsCommentByNewsId"
parameterType=
"map"
resultType=
"com.pcloud.book.applet.dto.AppletNewsCommentDTO"
>
SELECT
id, news_id newsId, comment, wechat_user_id wechatUserId, create_time createTime
FROM applet_news_comment
where
news_id = #{newsId}
ORDER BY create_time desc
</select>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/applet/AppletUserBookcase.xml
0 → 100644
View file @
31ef5afc
<?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.applet.dao.impl.AppletUserBookcaseDaoImpl"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.applet.entity.AppletUserBookcase"
>
<id
column=
"id"
property=
"id"
jdbcType=
"BIGINT"
/>
<result
column=
"wechat_user_id"
property=
"wechatUserId"
jdbcType=
"BIGINT"
/>
<result
column=
"book_id"
property=
"bookId"
jdbcType=
"BIGINT"
/>
<result
column=
"channel_id"
property=
"channelId"
jdbcType=
"BIGINT"
/>
<result
column=
"adviser_id"
property=
"adviserId"
jdbcType=
"BIGINT"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, wechat_user_id, book_id, channel_id, adviser_id, create_time
</sql>
<insert
id=
"insert"
parameterType=
"com.pcloud.book.applet.entity.AppletUserBookcase"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into applet_user_bookcase (
wechat_user_id, book_id, channel_id, adviser_id, create_time
)
values (
#{wechatUserId}, #{bookId}, #{channelId}, #{adviserId}, NOW()
)
</insert>
<select
id=
"listByWechatUserId"
parameterType=
"long"
resultType=
"com.pcloud.book.applet.dto.AppletUserBookcaseDTO"
>
SELECT
c.book_id bookId,
c.channel_id channelId,
c.adviser_id adviserId,
b.BOOK_NAME bookName,
b.COVER_IMG coverImg,
c.create_time createTime,
b.AUTHOR author,
b.PUBLISH publish,
a.SECOND_TEMPLET_ID secondTempletId,
a.TEMPLET_ID templetId
FROM applet_user_bookcase c
LEFT JOIN BOOK_ADVISER a ON c.book_id=a.BOOK_ID AND c.adviser_id=a.ADVISER_ID AND c.channel_id=a.CHANNEL_ID
INNER JOIN BOOK b ON c.BOOK_ID = b.BOOK_ID AND a.IS_DELETE = 0 AND b.IS_DELETE = 0
WHERE c.wechat_user_id=#{wechatUserId}
GROUP BY c.book_id,c.adviser_id,c.channel_id
ORDER BY c.create_time DESC
</select>
<insert
id=
"insertClickRecord"
parameterType=
"com.pcloud.book.applet.entity.AppletUserClickRecord"
>
insert into applet_user_click_record (
id,wechat_user_id, book_id, from_id, from_type, channel_id, adviser_id, create_time
)
values (
#{id}, #{wechatUserId}, #{bookId}, #{fromId}, #{fromType}, #{channelId}, #{adviserId}, NOW()
)
</insert>
<select
id=
"getUserClickServerCount"
parameterType=
"map"
resultType=
"Integer"
>
SELECT COUNT(DISTINCT from_id)
FROM applet_user_click_record
WHERE wechat_user_id=#{wechatUserId}
AND book_id = #{bookId}
AND channel_id=#{channelId}
AND adviser_id=#{adviserId}
AND from_id in
<foreach
collection=
"list"
index=
"i"
item=
"item"
open=
"("
separator=
","
close=
")"
>
${item}
</foreach>
AND from_type = #{fromType}
</select>
<select
id=
"getMinClickTime"
resultType=
"string"
parameterType=
"map"
>
SELECT
DATE_FORMAT(MIN(create_time),'%Y-%m-%d')
FROM applet_user_click_record
WHERE wechat_user_id=#{wechatUserId}
AND book_id = #{bookId}
AND channel_id=#{channelId}
AND adviser_id=#{adviserId}
AND from_id in
<foreach
collection=
"list"
index=
"i"
item=
"item"
open=
"("
separator=
","
close=
")"
>
${item}
</foreach>
AND from_type = #{fromType}
</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