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
81283f6a
Commit
81283f6a
authored
Jun 19, 2020
by
桂前礼
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: [1003039] 首页改版-设计变更0609
parent
cd68cb5b
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
204 additions
and
64 deletions
+204
-64
BookGroupClassifyService.java
...m/pcloud/book/group/service/BookGroupClassifyService.java
+4
-0
AppletGroupManageBiz.java
...java/com/pcloud/book/applet/biz/AppletGroupManageBiz.java
+3
-1
AppletGroupSearchRecordBiz.java
...om/pcloud/book/applet/biz/AppletGroupSearchRecordBiz.java
+1
-1
AppletUserBookcaseBiz.java
...ava/com/pcloud/book/applet/biz/AppletUserBookcaseBiz.java
+2
-0
AppletGroupManageBizImpl.java
...pcloud/book/applet/biz/impl/AppletGroupManageBizImpl.java
+14
-1
AppletGroupSearchRecordBizImpl.java
.../book/applet/biz/impl/AppletGroupSearchRecordBizImpl.java
+16
-7
AppletUserBookcaseBizImpl.java
...cloud/book/applet/biz/impl/AppletUserBookcaseBizImpl.java
+58
-46
AppletUserBookcaseDao.java
...ava/com/pcloud/book/applet/dao/AppletUserBookcaseDao.java
+2
-0
AppletUserBookcaseDaoImpl.java
...cloud/book/applet/dao/impl/AppletUserBookcaseDaoImpl.java
+8
-0
AppletGroupManageDTO.java
...java/com/pcloud/book/applet/dto/AppletGroupManageDTO.java
+8
-0
AppletGroupManageFacade.java
...om/pcloud/book/applet/facade/AppletGroupManageFacade.java
+2
-2
AppletHomeFacade.java
.../java/com/pcloud/book/applet/facade/AppletHomeFacade.java
+9
-0
GroupQrcodeDTO.java
...c/main/java/com/pcloud/book/group/dto/GroupQrcodeDTO.java
+5
-0
BookGroupClassifyServiceImpl.java
...book/group/service/impl/BookGroupClassifyServiceImpl.java
+11
-0
PcloudGroupActivityBiz.java
...ava/com/pcloud/book/skill/biz/PcloudGroupActivityBiz.java
+1
-1
PcloudGroupActivityBizImpl.java
...cloud/book/skill/biz/impl/PcloudGroupActivityBizImpl.java
+14
-2
GroupActivity4AppletDTO.java
...va/com/pcloud/book/skill/dto/GroupActivity4AppletDTO.java
+6
-0
AppletGroupManage.Mapper.xml
...main/resources/mapper/applet/AppletGroupManage.Mapper.xml
+2
-1
AppletUserBookcase.xml
...k/src/main/resources/mapper/applet/AppletUserBookcase.xml
+34
-0
GroupQrcode.Mapper.xml
...ok/src/main/resources/mapper/group/GroupQrcode.Mapper.xml
+2
-1
PcloudGroupActivityDao.xml
...rc/main/resources/mapper/skill/PcloudGroupActivityDao.xml
+2
-1
No files found.
pcloud-facade-book/src/main/java/com/pcloud/book/group/service/BookGroupClassifyService.java
View file @
81283f6a
...
...
@@ -79,4 +79,8 @@ public interface BookGroupClassifyService {
@ApiOperation
(
"根据群分类id找群"
)
@GetMapping
(
"getGroupQrcodeByClassify"
)
ResponseEntity
<
ResponseDto
<
GroupQrcode4ClassifyDTO
>>
getGroupQrcodeByClassify
(
@RequestParam
(
"wechatUserId"
)
Long
wechatUserId
,
@RequestParam
(
"classifyId"
)
Long
classifyId
);
@ApiOperation
(
"获取群分类入群价格"
)
@GetMapping
(
"getClassifyPrice"
)
ResponseEntity
<
ResponseDto
<
BigDecimal
>>
getClassifyPrice
(
@RequestParam
(
"classifyId"
)
Long
classifyId
);
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/AppletGroupManageBiz.java
View file @
81283f6a
...
...
@@ -28,12 +28,14 @@ public interface AppletGroupManageBiz {
/**
* 任意门
*
* @param wechatUserId
* @param recommend
* @param currentPage
* @param numPerPage
* @return
*/
PageBeanNew
getList4Applet
(
Integer
recommend
,
Integer
currentPage
,
Integer
numPerPage
);
PageBeanNew
getList4Applet
(
Long
wechatUserId
,
Integer
recommend
,
Integer
currentPage
,
Integer
numPerPage
);
/**
* 新增数据
...
...
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/AppletGroupSearchRecordBiz.java
View file @
81283f6a
...
...
@@ -53,7 +53,7 @@ public interface AppletGroupSearchRecordBiz {
void
deleteByIds
(
List
<
Long
>
ids
);
List
<
GroupActivity4AppletDTO
>
getTishBookSchoolList
(
Long
bookGroupId
);
List
<
GroupActivity4AppletDTO
>
getTishBookSchoolList
(
Long
wechatUserId
,
Long
bookGroupId
);
/**
* 群对话随机组装
...
...
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/AppletUserBookcaseBiz.java
View file @
81283f6a
...
...
@@ -93,4 +93,6 @@ public interface AppletUserBookcaseBiz {
* * @param null
*/
Map
<
String
,
Integer
>
mapBookUserCountList
(
List
<
Long
>
bookIds
);
AppletUserBookcaseDTO
getUserBookInfoByWechatUserId
(
Long
wechatUserId
,
Long
bookId
);
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/impl/AppletGroupManageBizImpl.java
View file @
81283f6a
...
...
@@ -11,7 +11,9 @@ import com.pcloud.book.applet.entity.AppletGroupManage;
import
com.pcloud.book.consumer.label.LabelConsr
;
import
com.pcloud.book.consumer.reader.ReaderConsr
;
import
com.pcloud.book.group.biz.GroupQrcodeBiz
;
import
com.pcloud.book.group.dao.BookQrcodeUserDao
;
import
com.pcloud.book.group.vo.ClassifyQrcodeVO
;
import
com.pcloud.book.group.vo.GroupQrcode4ClassifyVO
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageParam
;
...
...
@@ -27,6 +29,7 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
java.math.BigDecimal
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -52,6 +55,8 @@ public class AppletGroupManageBizImpl implements AppletGroupManageBiz {
private
AppletGroupSearchRecordBiz
appletGroupSearchRecordBiz
;
@Autowired
private
GroupQrcodeBiz
groupQrcodeBiz
;
@Autowired
private
BookQrcodeUserDao
bookQrcodeUserDao
;
@Override
public
AppletGroupManage
getById
(
Long
id
)
{
...
...
@@ -101,7 +106,7 @@ public class AppletGroupManageBizImpl implements AppletGroupManageBiz {
}
@Override
public
PageBeanNew
getList4Applet
(
Integer
recommend
,
Integer
currentPage
,
Integer
numPerPage
)
{
public
PageBeanNew
getList4Applet
(
Long
wechatUserId
,
Integer
recommend
,
Integer
currentPage
,
Integer
numPerPage
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"recommend"
,
recommend
);
PageBeanNew
<
AppletGroupManageDTO
>
recordList
=
appletGroupManageDao
.
listPageNew
(
new
PageParam
(
currentPage
,
numPerPage
),
map
,
"getList4Applet"
);
...
...
@@ -119,6 +124,14 @@ public class AppletGroupManageBizImpl implements AppletGroupManageBiz {
dto
.
setUserNumber
(
groupQrcodeInfo
.
getUserNumber
());
dto
.
setBookGroupQrcodeId
(
groupQrcodeInfo
.
getId
());
dto
.
setGroupPic
(
groupQrCode
);
dto
.
setStatus
(
0
);
// 付费群 查询用户是否已经购买过该群分类
if
(
dto
.
getPrice
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
GroupQrcode4ClassifyVO
userQrcode
=
bookQrcodeUserDao
.
getUserQrcode
(
wechatUserId
,
dto
.
getClassifyId
());
if
(
userQrcode
!=
null
&&
userQrcode
.
getGroupQrcodeId
()
!=
null
)
{
dto
.
setStatus
(
1
);
}
}
//头像列表从缓存里取
List
<
String
>
headUrlList
=
appletGroupSearchRecordBiz
.
getHeadUrlList
(
dto
.
getUserNumber
(),
dto
.
getBookGroupQrcodeId
());
dto
.
setHeadUrlList
(
headUrlList
);
...
...
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/impl/AppletGroupSearchRecordBizImpl.java
View file @
81283f6a
...
...
@@ -12,16 +12,16 @@ import com.pcloud.book.applet.dto.AppletUserBookcaseDTO;
import
com.pcloud.book.applet.entity.AppletGroupSearchRecord
;
import
com.pcloud.book.applet.entity.AppletGroupStatement
;
import
com.pcloud.book.book.dao.BookAdviserDao
;
import
com.pcloud.book.book.dto.BookAdviserDto
;
import
com.pcloud.book.consumer.reader.ReaderConsr
;
import
com.pcloud.book.group.biz.BookGroupClassifyBiz
;
import
com.pcloud.book.group.dao.BookGroupDao
;
import
com.pcloud.book.group.dao.BookQrcodeUserDao
;
import
com.pcloud.book.group.dao.GroupQrcodeDao
;
import
com.pcloud.book.group.dto.BookGroupDTO
;
import
com.pcloud.book.group.dto.GroupQrcodeDTO
;
import
com.pcloud.book.group.enums.JoinGroupTypeEnum
;
import
com.pcloud.book.group.vo.GroupQrcode4ClassifyVO
;
import
com.pcloud.book.rightsSetting.biz.RightsSettingBiz
;
import
com.pcloud.book.rightsSetting.entity.BaseTempletClassify
;
import
com.pcloud.book.skill.biz.PcloudGroupActivityBiz
;
import
com.pcloud.book.skill.dao.PcloudGroupActivityDao
;
import
com.pcloud.book.skill.dto.GroupActivity4AppletDTO
;
...
...
@@ -33,20 +33,19 @@ import com.pcloud.common.utils.ListUtils;
import
com.pcloud.common.utils.NumberUtil
;
import
com.pcloud.common.utils.cache.redis.JedisClusterUtils
;
import
com.pcloud.common.utils.string.StringUtilParent
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
javax.annotation.Resource
;
/**
* (AppletGroupSearchRecord)表服务实现类
*
...
...
@@ -84,6 +83,8 @@ public class AppletGroupSearchRecordBizImpl implements AppletGroupSearchRecordBi
private
AppletUserBookcaseBiz
appletUserBookcaseBiz
;
@Autowired
private
PcloudGroupActivityBiz
pcloudGroupActivityBiz
;
@Autowired
private
BookQrcodeUserDao
bookQrcodeUserDao
;
@Override
...
...
@@ -153,7 +154,7 @@ public class AppletGroupSearchRecordBizImpl implements AppletGroupSearchRecordBi
}
@Override
public
List
<
GroupActivity4AppletDTO
>
getTishBookSchoolList
(
Long
bookGroupId
)
{
public
List
<
GroupActivity4AppletDTO
>
getTishBookSchoolList
(
Long
wechatUserId
,
Long
bookGroupId
)
{
BookGroupDTO
bookGroupDTO
=
bookGroupDao
.
getDTOById
(
bookGroupId
);
List
<
GroupActivity4AppletDTO
>
tishBookSchoolList
=
new
ArrayList
<>();
//本书自带社群
...
...
@@ -194,6 +195,14 @@ public class AppletGroupSearchRecordBizImpl implements AppletGroupSearchRecordBi
String
filterStr
=
StringUtilParent
.
replaceHtml
(
groupActivity4AppletDTO
.
getDesc
());
String
subStr
=
filterStr
.
length
()
>
60
?
filterStr
.
substring
(
0
,
60
)
+
"..."
:
filterStr
;
groupActivity4AppletDTO
.
setCutDesc
(
subStr
);
groupActivity4AppletDTO
.
setStatus
(
0
);
// 付费群 查询用户是否已经购买过该群分类
if
(
groupActivity4AppletDTO
.
getPrice
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
GroupQrcode4ClassifyVO
userQrcode
=
bookQrcodeUserDao
.
getUserQrcode
(
wechatUserId
,
groupActivity4AppletDTO
.
getClassifyId
());
if
(
userQrcode
!=
null
&&
userQrcode
.
getGroupQrcodeId
()
!=
null
)
{
groupActivity4AppletDTO
.
setStatus
(
1
);
}
}
//头像列表从缓存里取
List
<
String
>
headUrlList
=
this
.
getHeadUrlList
(
groupActivity4AppletDTO
.
getUserNumber
(),
groupActivity4AppletDTO
.
getBookGroupQrcodeId
());
groupActivity4AppletDTO
.
setHeadUrlList
(
headUrlList
);
...
...
@@ -260,7 +269,7 @@ public class AppletGroupSearchRecordBizImpl implements AppletGroupSearchRecordBi
if
(
null
==
bookcaseDTO
)
{
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
0
,
new
ArrayList
<>());
}
PageBeanNew
<
AppletGroupManageDTO
>
pageBeanNew
=
pcloudGroupActivityBiz
.
getGroupListByBookTemplet
(
bookcaseDTO
.
getTempletId
(),
bookcaseDTO
.
getSecondTempletId
(),
bookcaseDTO
.
getGradeLabelId
(),
bookcaseDTO
.
getSubjectLabelId
(),
currentPage
,
numPerPage
);
PageBeanNew
<
AppletGroupManageDTO
>
pageBeanNew
=
pcloudGroupActivityBiz
.
getGroupListByBookTemplet
(
wechatUserId
,
bookcaseDTO
.
getTempletId
(),
bookcaseDTO
.
getSecondTempletId
(),
bookcaseDTO
.
getGradeLabelId
(),
bookcaseDTO
.
getSubjectLabelId
(),
currentPage
,
numPerPage
);
return
pageBeanNew
;
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/impl/AppletUserBookcaseBizImpl.java
View file @
81283f6a
...
...
@@ -89,31 +89,31 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
@Override
public
PageBeanNew
<
AppletUserBookcaseDTO
>
listByWechatUserId
(
Long
wechatUserId
,
Integer
currentPage
,
Integer
numPerPage
)
{
String
key
=
AppletConstants
.
USER_BOOK_CASE
+
wechatUserId
;
String
field
=
currentPage
+
"-"
+
numPerPage
;
String
countKey
=
AppletConstants
.
USER_BOOK_CASE_COUNT
+
wechatUserId
;
List
<
AppletUserBookcaseDTO
>
bookcaseDTOS
=
JedisClusterUtils
.
hgetJson2List
(
key
,
field
,
AppletUserBookcaseDTO
.
class
);
Integer
count
=
0
;
String
key
=
AppletConstants
.
USER_BOOK_CASE
+
wechatUserId
;
String
field
=
currentPage
+
"-"
+
numPerPage
;
String
countKey
=
AppletConstants
.
USER_BOOK_CASE_COUNT
+
wechatUserId
;
List
<
AppletUserBookcaseDTO
>
bookcaseDTOS
=
JedisClusterUtils
.
hgetJson2List
(
key
,
field
,
AppletUserBookcaseDTO
.
class
);
Integer
count
=
0
;
String
countStr
=
JedisClusterUtils
.
get
(
countKey
);
if
(!
StringUtil
.
isEmpty
(
countStr
)){
if
(!
StringUtil
.
isEmpty
(
countStr
))
{
count
=
Integer
.
valueOf
(
countStr
);
}
if
(!
ListUtils
.
isEmpty
(
bookcaseDTOS
)
&&
count
>
0
)
{
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
count
,
bookcaseDTOS
);
if
(!
ListUtils
.
isEmpty
(
bookcaseDTOS
)
&&
count
>
0
)
{
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
count
,
bookcaseDTOS
);
}
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"wechatUserId"
,
wechatUserId
);
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
<>());
new
PageParam
(
currentPage
,
numPerPage
),
map
,
"listByWechatUserId"
);
if
(
null
==
pageBeanNew
||
ListUtils
.
isEmpty
(
pageBeanNew
.
getRecordList
()))
{
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
0
,
new
ArrayList
<>());
}
fillTempletName
(
pageBeanNew
.
getRecordList
());
fillRightsSettingAndResourceCount
(
pageBeanNew
.
getRecordList
());
JedisClusterUtils
.
hset2Json
(
key
,
field
,
pageBeanNew
.
getRecordList
());
JedisClusterUtils
.
set
(
countKey
,
String
.
valueOf
(
pageBeanNew
.
getTotalCount
()));
JedisClusterUtils
.
expire
(
key
,
60
);
JedisClusterUtils
.
expire
(
countKey
,
60
);
JedisClusterUtils
.
hset2Json
(
key
,
field
,
pageBeanNew
.
getRecordList
());
JedisClusterUtils
.
set
(
countKey
,
String
.
valueOf
(
pageBeanNew
.
getTotalCount
()));
JedisClusterUtils
.
expire
(
key
,
60
);
JedisClusterUtils
.
expire
(
countKey
,
60
);
return
pageBeanNew
;
}
...
...
@@ -149,34 +149,34 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
@Override
public
Map
<
String
,
Object
>
getUserClickStatistic
(
Long
wechatUserId
,
Long
bookId
,
Long
channelId
,
Long
adviserId
)
{
//社群书和现代纸书下资源
List
<
BookServeDTO
>
serveDTOList
=
bookGroupBiz
.
getBookAndBookGroupServeIds
(
adviserId
,
bookId
,
channelId
);
if
(
ListUtils
.
isEmpty
(
serveDTOList
)){
List
<
BookServeDTO
>
serveDTOList
=
bookGroupBiz
.
getBookAndBookGroupServeIds
(
adviserId
,
bookId
,
channelId
);
if
(
ListUtils
.
isEmpty
(
serveDTOList
))
{
return
new
HashMap
<>();
}
Integer
clickCount
=
0
;
String
startDate
=
DateUtils
.
formatDate
(
new
Date
(),
DateUtils
.
DATE_FORMAT_DATEONLY
);
List
<
Long
>
appIds
=
serveDTOList
.
stream
().
filter
(
s
->
s
.
getServeType
().
equalsIgnoreCase
(
"APP"
)).
List
<
Long
>
appIds
=
serveDTOList
.
stream
().
filter
(
s
->
s
.
getServeType
().
equalsIgnoreCase
(
"APP"
)).
map
(
BookServeDTO:
:
getServeId
).
distinct
().
collect
(
Collectors
.
toList
());
List
<
Long
>
productIds
=
serveDTOList
.
stream
().
filter
(
s
->
s
.
getServeType
().
equalsIgnoreCase
(
"PRODUCT"
)).
List
<
Long
>
productIds
=
serveDTOList
.
stream
().
filter
(
s
->
s
.
getServeType
().
equalsIgnoreCase
(
"PRODUCT"
)).
map
(
BookServeDTO:
:
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
(
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
))){
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
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"startDate"
,
startDate
);
map
.
put
(
"clickCount"
,
clickCount
);
return
map
;
...
...
@@ -193,26 +193,26 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
}
});
List
<
Long
>
classifyTempletIds
=
recordList
.
stream
().
filter
(
s
->
s
.
getJoinGroupType
()
!=
null
&&
JoinGroupTypeEnum
.
XIAORUI
.
getCode
().
equals
(
s
.
getJoinGroupType
())).
map
(
s
->
s
.
getTempletId
()).
distinct
().
collect
(
Collectors
.
toList
());
Map
<
Integer
,
Integer
>
classifyMap
=
new
HashMap
<>();
if
(!
ListUtils
.
isEmpty
(
classifyTempletIds
))
{
Map
<
Integer
,
Integer
>
classifyMap
=
new
HashMap
<>();
if
(!
ListUtils
.
isEmpty
(
classifyTempletIds
))
{
List
<
BookRaysClassify
>
listByIds
=
bookRaysClassifyDao
.
getClassifyListByIds
(
classifyTempletIds
);
if
(!
ListUtils
.
isEmpty
(
listByIds
))
{
classifyMap
=
listByIds
.
stream
().
collect
(
Collectors
.
toMap
(
a
->
a
.
getBookTemplateId
(),
a
->
a
.
getRaysClassifyId
(),(
k1
,
k2
)->
k2
));
if
(!
ListUtils
.
isEmpty
(
listByIds
))
{
classifyMap
=
listByIds
.
stream
().
collect
(
Collectors
.
toMap
(
a
->
a
.
getBookTemplateId
(),
a
->
a
.
getRaysClassifyId
(),
(
k1
,
k2
)
->
k2
));
}
}
Map
<
Long
,
AssistTempletDTO
>
assistTempletDTOMap
=
assistTempletConsr
.
mapByIds
(
templetIds
);
for
(
AppletUserBookcaseDTO
bookcaseDTO
:
recordList
)
{
for
(
AppletUserBookcaseDTO
bookcaseDTO
:
recordList
)
{
Long
secondTempletId
=
bookcaseDTO
.
getSecondTempletId
();
Long
templetId
=
bookcaseDTO
.
getTempletId
();
if
(
secondTempletId
!=
null
&&
assistTempletDTOMap
!=
null
)
{
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
)
{
if
(
templetId
!=
null
&&
assistTempletDTOMap
!=
null
)
{
AssistTempletDTO
templetDTO
=
assistTempletDTOMap
.
get
(
templetId
);
bookcaseDTO
.
setTempletName
(
Optional
.
ofNullable
(
templetDTO
).
map
(
AssistTempletDTO:
:
getTempletName
).
orElse
(
null
));
}
if
(!
MapUtils
.
isEmpty
(
classifyMap
)
&&
null
!=
bookcaseDTO
.
getTempletId
()
&&
classifyMap
.
containsKey
(
bookcaseDTO
.
getTempletId
().
intValue
()))
{
if
(!
MapUtils
.
isEmpty
(
classifyMap
)
&&
null
!=
bookcaseDTO
.
getTempletId
()
&&
classifyMap
.
containsKey
(
bookcaseDTO
.
getTempletId
().
intValue
()))
{
bookcaseDTO
.
setClassifyId
(
classifyMap
.
get
(
bookcaseDTO
.
getTempletId
().
intValue
()));
}
}
...
...
@@ -256,7 +256,7 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
@Override
public
void
deleteByIds
(
List
<
Long
>
ids
,
Long
wechatUserId
)
{
if
(
ListUtils
.
isEmpty
(
ids
)){
if
(
ListUtils
.
isEmpty
(
ids
))
{
return
;
}
esBookAndAdviserBiz
.
updateBookAndAdviserToES
(
appletUserBookcaseDao
.
getBookIdsByIds
(
ids
));
...
...
@@ -274,7 +274,7 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
@Override
@ParamLog
(
"获取用户当前本书的阅读方式"
)
public
AppletUserBookcase
getUserReadType
(
Long
wechatUserId
,
Long
bookId
,
Long
adviserId
,
Long
channelId
)
{
AppletUserBookcase
appletUserBookcase
=
appletUserBookcaseDao
.
getUserReadType
(
wechatUserId
,
bookId
,
adviserId
,
channelId
);
AppletUserBookcase
appletUserBookcase
=
appletUserBookcaseDao
.
getUserReadType
(
wechatUserId
,
bookId
,
adviserId
,
channelId
);
return
appletUserBookcase
;
}
...
...
@@ -282,7 +282,7 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
public
void
randomChangeBook
(
Long
wechatUserId
)
{
List
<
AppletUserBookcase
>
bookcaseList
=
appletUserBookcaseDao
.
getListByUserId
(
wechatUserId
);
//无书或只有一本不处理
if
(
ListUtils
.
isEmpty
(
bookcaseList
)
||
bookcaseList
.
size
()
==
1
)
{
if
(
ListUtils
.
isEmpty
(
bookcaseList
)
||
bookcaseList
.
size
()
==
1
)
{
return
;
}
//去除最近一本书
...
...
@@ -290,8 +290,8 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
//随机取一本书埋点
AppletUserBookcase
appletUserBookcase
=
bookcaseList
.
get
(
new
Random
().
nextInt
(
bookcaseList
.
size
()));
this
.
addUserBook
(
appletUserBookcase
);
ThreadPoolUtils
.
OTHER_THREAD_POOL
.
execute
(()
->
{
this
.
listByWechatUserId
(
wechatUserId
,
0
,
1
);
ThreadPoolUtils
.
OTHER_THREAD_POOL
.
execute
(()
->
{
this
.
listByWechatUserId
(
wechatUserId
,
0
,
1
);
});
}
...
...
@@ -314,4 +314,16 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
return
map
;
}
@Override
public
AppletUserBookcaseDTO
getUserBookInfoByWechatUserId
(
Long
wechatUserId
,
Long
bookId
)
{
AppletUserBookcaseDTO
userBookInfoByWechatUserId
=
appletUserBookcaseDao
.
getUserBookInfoByWechatUserId
(
wechatUserId
,
bookId
);
if
(
userBookInfoByWechatUserId
==
null
){
return
new
AppletUserBookcaseDTO
();
}
List
<
AppletUserBookcaseDTO
>
appletUserBookcaseDTOS
=
Collections
.
singletonList
(
userBookInfoByWechatUserId
);
fillTempletName
(
appletUserBookcaseDTOS
);
fillRightsSettingAndResourceCount
(
appletUserBookcaseDTOS
);
return
appletUserBookcaseDTOS
.
get
(
0
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/AppletUserBookcaseDao.java
View file @
81283f6a
...
...
@@ -96,4 +96,6 @@ public interface AppletUserBookcaseDao extends BaseDao<AppletUserBookcase> {
* * @param null
*/
List
<
Long
>
getBookIdsByIds
(
List
<
Long
>
ids
);
AppletUserBookcaseDTO
getUserBookInfoByWechatUserId
(
Long
wechatUserId
,
Long
bookId
);
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/impl/AppletUserBookcaseDaoImpl.java
View file @
81283f6a
...
...
@@ -117,4 +117,12 @@ public class AppletUserBookcaseDaoImpl extends BaseDaoImpl<AppletUserBookcase> i
map
.
put
(
"ids"
,
ids
);
return
getSessionTemplate
().
selectList
(
getStatement
(
"getBookIdsByIds"
),
map
);
}
@Override
public
AppletUserBookcaseDTO
getUserBookInfoByWechatUserId
(
Long
wechatUserId
,
Long
bookId
)
{
Map
<
String
,
Long
>
map
=
new
HashMap
<>();
map
.
put
(
"wechatUserId"
,
wechatUserId
);
map
.
put
(
"bookId"
,
bookId
);
return
getSessionTemplate
().
selectOne
(
getStatement
(
"getUserBookInfoByWechatUserId"
),
map
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dto/AppletGroupManageDTO.java
View file @
81283f6a
...
...
@@ -4,6 +4,7 @@ import com.pcloud.common.entity.BaseEntity;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -84,4 +85,10 @@ public class AppletGroupManageDTO extends BaseEntity {
@ApiModelProperty
(
"学舍群话语"
)
private
List
<
AppletGroupStatementDTO
>
statementDTOList
;
@ApiModelProperty
(
"入群价格"
)
private
BigDecimal
price
;
@ApiModelProperty
(
"购买状态 1已购买 0未购买"
)
private
Integer
status
;
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/applet/facade/AppletGroupManageFacade.java
View file @
81283f6a
...
...
@@ -56,7 +56,7 @@ public class AppletGroupManageFacade {
if
(!
NumberUtil
.
isNumber
(
wechatUserId
)){
throw
BookBizException
.
PARAM_DELETION
;
}
return
new
ResponseDto
<>(
appletGroupManageBiz
.
getList4Applet
(
recommend
,
currentPage
,
numPerPage
));
return
new
ResponseDto
<>(
appletGroupManageBiz
.
getList4Applet
(
wechatUserId
,
recommend
,
currentPage
,
numPerPage
));
}
@ApiOperation
(
"新增社群"
)
...
...
@@ -134,7 +134,7 @@ public class AppletGroupManageFacade {
if
(!
NumberUtil
.
isNumber
(
wechatUserId
)){
throw
BookBizException
.
PARAM_DELETION
;
}
return
new
ResponseDto
<>(
appletGroupSearchRecordBiz
.
getTishBookSchoolList
(
bookGroupId
));
return
new
ResponseDto
<>(
appletGroupSearchRecordBiz
.
getTishBookSchoolList
(
wechatUserId
,
bookGroupId
));
}
@ApiOperation
(
"用户社群书记录id列表"
)
...
...
pcloud-service-book/src/main/java/com/pcloud/book/applet/facade/AppletHomeFacade.java
View file @
81283f6a
...
...
@@ -537,6 +537,15 @@ public class AppletHomeFacade {
return
new
ResponseDto
<>(
appletUserBookcaseBiz
.
listByWechatUserId
(
wechatUserId
,
currentPage
,
numPerPage
));
}
@ApiOperation
(
"小程序首页书籍信息"
)
@GetMapping
(
"getUserBookInfoByWechatUserId"
)
public
ResponseDto
<
AppletUserBookcaseDTO
>
getUserBookInfoByWechatUserId
(
@CookieValue
(
"userInfo"
)
String
userInfo
,
@RequestParam
(
value
=
"bookId"
)
@ApiParam
(
"BookId"
)
Long
bookId
){
Long
wechatUserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
return
new
ResponseDto
<>(
appletUserBookcaseBiz
.
getUserBookInfoByWechatUserId
(
wechatUserId
,
bookId
));
}
@ApiOperation
(
"新增用户资源点击记录"
)
@PostMapping
(
"addUserClickRecord"
)
public
ResponseDto
<?>
addUserClickRecord
(
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/dto/GroupQrcodeDTO.java
View file @
81283f6a
package
com
.
pcloud
.
book
.
group
.
dto
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
lombok.Data
;
...
...
@@ -77,4 +78,8 @@ public class GroupQrcodeDTO implements Serializable {
*社群码id
*/
private
Long
bookGroupId
;
/**
* 群分类价格
*/
private
BigDecimal
price
;
}
pcloud-service-book/src/main/java/com/pcloud/book/group/service/impl/BookGroupClassifyServiceImpl.java
View file @
81283f6a
...
...
@@ -9,6 +9,7 @@ import com.pcloud.book.group.dto.GroupQrcodeBaseDTO;
import
com.pcloud.book.group.dto.GroupQrcodeInfo4Advertising
;
import
com.pcloud.book.group.dto.ProAssocGroupAndUserNumberDTO
;
import
com.pcloud.book.group.service.BookGroupClassifyService
;
import
com.pcloud.book.group.vo.ClassifyVO
;
import
com.pcloud.book.group.vo.GroupQrcode4ClassifyVO
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.utils.ResponseHandleUtil
;
...
...
@@ -139,4 +140,14 @@ public class BookGroupClassifyServiceImpl implements BookGroupClassifyService {
}
return
ResponseHandleUtil
.
toResponse
(
groupQrcode4ClassifyDTO
);
}
@Override
public
ResponseEntity
<
ResponseDto
<
BigDecimal
>>
getClassifyPrice
(
Long
classifyId
)
{
BigDecimal
bigDecimal
=
new
BigDecimal
(
0
);
ClassifyVO
classify
=
bookGroupClassifyBiz
.
getClassify
(
classifyId
);
if
(
classify
!=
null
&&
classify
.
getPrice
()!=
null
){
bigDecimal
=
classify
.
getPrice
();
}
return
ResponseHandleUtil
.
toResponse
(
bigDecimal
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/skill/biz/PcloudGroupActivityBiz.java
View file @
81283f6a
...
...
@@ -61,7 +61,7 @@ public interface PcloudGroupActivityBiz {
* @date:2020/6/8 10:49
* * @param null
*/
PageBeanNew
<
AppletGroupManageDTO
>
getGroupListByBookTemplet
(
Long
firstClassify
,
Long
secondClassify
,
Long
gradeLabelId
,
Long
subjectLabelId
,
Integer
currentPage
,
Integer
numPerPage
);
PageBeanNew
<
AppletGroupManageDTO
>
getGroupListByBookTemplet
(
Long
wechatUserId
,
Long
firstClassify
,
Long
secondClassify
,
Long
gradeLabelId
,
Long
subjectLabelId
,
Integer
currentPage
,
Integer
numPerPage
);
List
<
GroupActivity4AppletDTO
>
getTishBookSchoolListWrap
(
BaseTempletClassify
baseTempletClassify
,
Integer
limit
);
...
...
pcloud-service-book/src/main/java/com/pcloud/book/skill/biz/impl/PcloudGroupActivityBizImpl.java
View file @
81283f6a
...
...
@@ -17,8 +17,9 @@ import com.pcloud.book.consumer.label.LabelConsr;
import
com.pcloud.book.consumer.reader.ReaderConsr
;
import
com.pcloud.book.consumer.wechatgroup.WechatGroupConsr
;
import
com.pcloud.book.group.biz.GroupQrcodeBiz
;
import
com.pcloud.book.group.dao.BookQrcodeUserDao
;
import
com.pcloud.book.group.vo.ClassifyQrcodeVO
;
import
com.pcloud.book.group.vo.GroupQrcode
BaseInfo
VO
;
import
com.pcloud.book.group.vo.GroupQrcode
4Classify
VO
;
import
com.pcloud.book.reading.biz.ReadingActivityBiz
;
import
com.pcloud.book.rightsSetting.biz.RightsSettingBiz
;
import
com.pcloud.book.rightsSetting.entity.BaseTempletClassify
;
...
...
@@ -51,6 +52,7 @@ import org.springframework.stereotype.Service;
import
org.springframework.util.CollectionUtils
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.HashMap
;
...
...
@@ -91,6 +93,8 @@ public class PcloudGroupActivityBizImpl implements PcloudGroupActivityBiz {
private
RightsSettingTitleMapper
rightsSettingTitleMapper
;
@Autowired
private
AppletGroupSearchRecordBiz
appletGroupSearchRecordBiz
;
@Autowired
private
BookQrcodeUserDao
bookQrcodeUserDao
;
@ParamLog
(
"保存共读活动"
)
@Override
...
...
@@ -344,7 +348,7 @@ public class PcloudGroupActivityBizImpl implements PcloudGroupActivityBiz {
}
@Override
public
PageBeanNew
<
AppletGroupManageDTO
>
getGroupListByBookTemplet
(
Long
firstClassify
,
Long
secondClassify
,
Long
gradeLabelId
,
Long
subjectLabelId
,
Integer
currentPage
,
Integer
numPerPage
)
{
public
PageBeanNew
<
AppletGroupManageDTO
>
getGroupListByBookTemplet
(
Long
wechatUserId
,
Long
firstClassify
,
Long
secondClassify
,
Long
gradeLabelId
,
Long
subjectLabelId
,
Integer
currentPage
,
Integer
numPerPage
)
{
// 处理分类和标签
if
(
null
==
firstClassify
&&
null
==
secondClassify
&&
null
==
gradeLabelId
&&
null
==
subjectLabelId
)
{
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
0
,
new
ArrayList
<>());
...
...
@@ -365,6 +369,14 @@ public class PcloudGroupActivityBizImpl implements PcloudGroupActivityBiz {
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
0
,
new
ArrayList
<>());
}
for
(
AppletGroupManageDTO
activity4AppletDTO
:
list
.
getRecordList
())
{
activity4AppletDTO
.
setStatus
(
0
);
// 付费群 查询用户是否已经购买过该群分类
if
(
activity4AppletDTO
.
getPrice
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
GroupQrcode4ClassifyVO
userQrcode
=
bookQrcodeUserDao
.
getUserQrcode
(
wechatUserId
,
activity4AppletDTO
.
getClassifyId
());
if
(
userQrcode
!=
null
&&
userQrcode
.
getGroupQrcodeId
()
!=
null
)
{
activity4AppletDTO
.
setStatus
(
1
);
}
}
String
filterStr
=
StringUtilParent
.
replaceHtml
(
activity4AppletDTO
.
getDesc
());
String
subStr
=
filterStr
.
length
()
>
60
?
filterStr
.
substring
(
0
,
60
)
+
"..."
:
filterStr
;
activity4AppletDTO
.
setCutDesc
(
subStr
);
...
...
pcloud-service-book/src/main/java/com/pcloud/book/skill/dto/GroupActivity4AppletDTO.java
View file @
81283f6a
...
...
@@ -7,6 +7,7 @@ import com.pcloud.book.applet.dto.AppletGroupStatementDTO;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
lombok.Data
;
...
...
@@ -67,4 +68,9 @@ public class GroupActivity4AppletDTO implements Serializable {
@ApiModelProperty
(
"群分类名称"
)
private
String
classifyName
;
@ApiModelProperty
(
"入群价格"
)
private
BigDecimal
price
;
@ApiModelProperty
(
"购买状态 1已购买 0未购买"
)
private
Integer
status
;
}
pcloud-service-book/src/main/resources/mapper/applet/AppletGroupManage.Mapper.xml
View file @
81283f6a
...
...
@@ -60,7 +60,8 @@
b.`name`,
b.description as `desc`,
b.book_group_classify_id AS classifyId,
c.book_group_id bookGroupId
c.book_group_id bookGroupId,
c.price
FROM
applet_group_manage a
INNER JOIN pcloud_group_activity b ON a.group_activity_id = b.id AND b.is_delete = 0
...
...
pcloud-service-book/src/main/resources/mapper/applet/AppletUserBookcase.xml
View file @
81283f6a
...
...
@@ -226,4 +226,37 @@
</foreach>
</select>
<select
id=
"getUserBookInfoByWechatUserId"
parameterType=
"long"
resultType=
"com.pcloud.book.applet.dto.AppletUserBookcaseDTO"
>
SELECT
c.id id,
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,
d.join_group_type joinGroupType,
d.id bookGroupId,
b.ISBN isbn,
a.GRA_LABEL_ID gradeLabelId,
a.SUB_LABEL_ID subjectLabelId,
a.vol_label_id volLabelId,
IF(d.join_group_type=1 OR d.related_book_group_id>0,1,0) hasGroup,
c.rights_setting_id rightsSettingId,
r.count rightsSettingCount
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 AND a.IS_DELETE = 0
INNER JOIN BOOK b ON c.BOOK_ID = b.BOOK_ID AND b.IS_DELETE = 0
LEFT JOIN book_group d ON d.BOOK_ID = a.BOOK_ID and d.create_user=c.adviser_id and d.channel_id=c.channel_id AND d.IS_DELETE = 0
LEFT JOIN rights_setting r ON c.rights_setting_id = r.id AND d.join_group_type=4
WHERE c.wechat_user_id=#{wechatUserId} AND c.book_id = #{bookId}
ORDER BY c.create_time DESC
LIMIT 1
</select>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/group/GroupQrcode.Mapper.xml
View file @
81283f6a
...
...
@@ -885,7 +885,8 @@
f.classify classify,
r.qrcode_url qrcodeUrl,
f.classify_introduce classifyIntroduce,
f.book_group_id bookGroupId
f.book_group_id bookGroupId,
f.price
FROM
book_group_qrcode r
LEFT JOIN book_group_classify f ON r.classify_id = f.id
...
...
pcloud-service-book/src/main/resources/mapper/skill/PcloudGroupActivityDao.xml
View file @
81283f6a
...
...
@@ -325,7 +325,8 @@
a.first_classify AS firstClassify,
a.second_classify AS secondClassify,
a.grade_label_id AS gradeLabelId,
a.subject_label_id AS subjectLabelId
a.subject_label_id AS subjectLabelId,
c.price
FROM
pcloud_group_activity a
INNER JOIN book_group_classify c ON a.book_group_classify_id = c.id AND c.is_delete = 0
...
...
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