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
e0e12510
Commit
e0e12510
authored
Jun 22, 2020
by
桂前礼
Committed by
桂前礼
Jun 24, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: [1003050] 学舍付费群与群分类列表优化
parent
096cf9ee
Show whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
263 additions
and
31 deletions
+263
-31
AppletUserBookcaseBiz.java
...ava/com/pcloud/book/applet/biz/AppletUserBookcaseBiz.java
+1
-1
AppletGroupManageBizImpl.java
...pcloud/book/applet/biz/impl/AppletGroupManageBizImpl.java
+4
-2
AppletGroupSearchRecordBizImpl.java
.../book/applet/biz/impl/AppletGroupSearchRecordBizImpl.java
+79
-5
AppletUserBookcaseBizImpl.java
...cloud/book/applet/biz/impl/AppletUserBookcaseBizImpl.java
+2
-2
AppletUserBookcaseDao.java
...ava/com/pcloud/book/applet/dao/AppletUserBookcaseDao.java
+1
-1
AppletUserBookcaseDaoImpl.java
...cloud/book/applet/dao/impl/AppletUserBookcaseDaoImpl.java
+3
-2
AppletGroupManageDTO.java
...java/com/pcloud/book/applet/dto/AppletGroupManageDTO.java
+4
-0
AppletGroupSearchRecordDTO.java
...om/pcloud/book/applet/dto/AppletGroupSearchRecordDTO.java
+14
-0
AppletUserBookcaseDTO.java
...ava/com/pcloud/book/applet/dto/AppletUserBookcaseDTO.java
+3
-0
AppletHomeFacade.java
.../java/com/pcloud/book/applet/facade/AppletHomeFacade.java
+4
-2
BookAdviserDao.java
...rc/main/java/com/pcloud/book/book/dao/BookAdviserDao.java
+9
-1
BookAdviserDaoImpl.java
...ava/com/pcloud/book/book/dao/impl/BookAdviserDaoImpl.java
+5
-0
BookGroupClassifyBizImpl.java
.../pcloud/book/group/biz/impl/BookGroupClassifyBizImpl.java
+1
-1
GroupQrcodeDao.java
...c/main/java/com/pcloud/book/group/dao/GroupQrcodeDao.java
+2
-0
GroupQrcodeDaoImpl.java
...va/com/pcloud/book/group/dao/impl/GroupQrcodeDaoImpl.java
+5
-0
GroupQrcodeDTO.java
...c/main/java/com/pcloud/book/group/dto/GroupQrcodeDTO.java
+4
-0
ReadingActivityBizImpl.java
.../pcloud/book/reading/biz/impl/ReadingActivityBizImpl.java
+1
-1
RightsSettingBizImpl.java
...oud/book/rightsSetting/biz/impl/RightsSettingBizImpl.java
+4
-0
RightsNowItem.java
...a/com/pcloud/book/rightsSetting/entity/RightsNowItem.java
+10
-1
PcloudGroupActivityBizImpl.java
...cloud/book/skill/biz/impl/PcloudGroupActivityBizImpl.java
+3
-3
PcloudGroupActivityDao.java
...ava/com/pcloud/book/skill/dao/PcloudGroupActivityDao.java
+2
-0
PcloudGroupActivityDaoImpl.java
...cloud/book/skill/dao/impl/PcloudGroupActivityDaoImpl.java
+5
-0
GroupActivity4AppletDTO.java
...va/com/pcloud/book/skill/dto/GroupActivity4AppletDTO.java
+3
-0
AppletGroupManage.Mapper.xml
...main/resources/mapper/applet/AppletGroupManage.Mapper.xml
+3
-1
AppletGroupSearchRecord.Mapper.xml
...esources/mapper/applet/AppletGroupSearchRecord.Mapper.xml
+9
-2
AppletUserBookcase.xml
...k/src/main/resources/mapper/applet/AppletUserBookcase.xml
+3
-2
BookAdviser.Mapper.xml
...ook/src/main/resources/mapper/book/BookAdviser.Mapper.xml
+12
-0
GroupQrcode.Mapper.xml
...ok/src/main/resources/mapper/group/GroupQrcode.Mapper.xml
+35
-1
PcloudGroupActivityDao.xml
...rc/main/resources/mapper/skill/PcloudGroupActivityDao.xml
+32
-3
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/AppletUserBookcaseBiz.java
View file @
e0e12510
...
...
@@ -94,5 +94,5 @@ public interface AppletUserBookcaseBiz {
*/
Map
<
String
,
Integer
>
mapBookUserCountList
(
List
<
Long
>
bookIds
);
AppletUserBookcaseDTO
getUserBookInfoByWechatUserId
(
Long
wechatUserId
,
Long
book
Id
);
AppletUserBookcaseDTO
getUserBookInfoByWechatUserId
(
Long
bookId
,
Long
channelId
,
Long
adviser
Id
);
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/impl/AppletGroupManageBizImpl.java
View file @
e0e12510
...
...
@@ -11,6 +11,7 @@ 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.BookClassifyBuyRecordDao
;
import
com.pcloud.book.group.dao.BookQrcodeUserDao
;
import
com.pcloud.book.group.vo.ClassifyQrcodeVO
;
import
com.pcloud.book.group.vo.GroupQrcode4ClassifyVO
;
...
...
@@ -57,6 +58,8 @@ public class AppletGroupManageBizImpl implements AppletGroupManageBiz {
private
GroupQrcodeBiz
groupQrcodeBiz
;
@Autowired
private
BookQrcodeUserDao
bookQrcodeUserDao
;
@Autowired
private
BookClassifyBuyRecordDao
bookClassifyBuyRecordDao
;
@Override
public
AppletGroupManage
getById
(
Long
id
)
{
...
...
@@ -127,8 +130,7 @@ public class AppletGroupManageBizImpl implements AppletGroupManageBiz {
dto
.
setStatus
(
0
);
// 付费群 查询用户是否已经购买过该群分类
if
(
dto
.
getPrice
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
GroupQrcode4ClassifyVO
userQrcode
=
bookQrcodeUserDao
.
getUserQrcode
(
wechatUserId
,
dto
.
getClassifyId
());
if
(
userQrcode
!=
null
&&
userQrcode
.
getGroupQrcodeId
()
!=
null
)
{
if
(
bookClassifyBuyRecordDao
.
checkUserBuy
(
wechatUserId
,
dto
.
getClassifyId
()))
{
dto
.
setStatus
(
1
);
}
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/impl/AppletGroupSearchRecordBizImpl.java
View file @
e0e12510
package
com
.
pcloud
.
book
.
applet
.
biz
.
impl
;
import
com.google.common.collect.Maps
;
import
com.pcloud.book.applet.biz.AppletGroupSearchRecordBiz
;
import
com.pcloud.book.applet.biz.AppletUserBookcaseBiz
;
import
com.pcloud.book.applet.contants.AppletConstants
;
...
...
@@ -12,16 +13,22 @@ 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.BookGroupBiz
;
import
com.pcloud.book.group.biz.BookGroupClassifyBiz
;
import
com.pcloud.book.group.biz.GroupQrcodeBiz
;
import
com.pcloud.book.group.dao.BookClassifyBuyRecordDao
;
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.BookServeDTO
;
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.dto.RightsSettingDto
;
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
;
...
...
@@ -45,6 +52,7 @@ import java.util.ArrayList;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* (AppletGroupSearchRecord)表服务实现类
...
...
@@ -85,7 +93,12 @@ public class AppletGroupSearchRecordBizImpl implements AppletGroupSearchRecordBi
private
PcloudGroupActivityBiz
pcloudGroupActivityBiz
;
@Autowired
private
BookQrcodeUserDao
bookQrcodeUserDao
;
@Autowired
private
BookGroupBiz
bookGroupBiz
;
@Autowired
private
BookClassifyBuyRecordDao
bookClassifyBuyRecordDao
;
@Autowired
private
GroupQrcodeBiz
groupQrcodeBiz
;
@Override
@ParamLog
(
"通过ID查询单条数据"
)
...
...
@@ -110,10 +123,32 @@ public class AppletGroupSearchRecordBizImpl implements AppletGroupSearchRecordBi
}
else
{
dto
.
setClassify4WechatVOList
(
bookGroupClassifyBiz
.
listClassify4Wechat
(
dto
.
getBookGroupId
(),
dto
.
getWechatUserId
()));
}
// 权益、资源、社群
fillRightsSettingAndResourceCount
(
recordList
);
}
return
pageBeanNew
;
}
private
void
fillRightsSettingAndResourceCount
(
List
<
AppletGroupSearchRecordDTO
>
recordList
)
{
if
(
ListUtils
.
isEmpty
(
recordList
))
{
return
;
}
for
(
AppletGroupSearchRecordDTO
bookcaseDTO
:
recordList
)
{
//权益
if
(
JoinGroupTypeEnum
.
XIAORUI
.
getCode
().
equals
(
bookcaseDTO
.
getJoinGroupType
()))
{
RightsSettingDto
rightsSettingDto
=
rightsSettingBiz
.
getRightsSettingByBookId4AppletHome
(
bookcaseDTO
.
getBookId
(),
bookcaseDTO
.
getAdviserId
(),
bookcaseDTO
.
getChannelId
());
if
(
null
==
rightsSettingDto
)
{
continue
;
}
bookcaseDTO
.
setRightsSettingCount
(
rightsSettingDto
.
getCount
());
}
//资源数量
List
<
BookServeDTO
>
serveDTOList
=
bookGroupBiz
.
getBookAndBookGroupServeIds
(
bookcaseDTO
.
getAdviserId
(),
bookcaseDTO
.
getBookId
(),
bookcaseDTO
.
getChannelId
());
bookGroupBiz
.
removeCanNotBuy
(
serveDTOList
);
bookcaseDTO
.
setResourceCount
(
serveDTOList
.
size
());
}
}
@Override
@ParamLog
(
"新增"
)
public
Long
insert
(
AppletGroupSearchRecord
appletGroupSearchRecord
)
{
...
...
@@ -121,7 +156,10 @@ public class AppletGroupSearchRecordBizImpl implements AppletGroupSearchRecordBi
throw
BizException
.
PARAM_DELETION
;
}
BookGroupDTO
bookGroupDTO
=
bookGroupDao
.
getDTOByBookId
(
appletGroupSearchRecord
.
getBookId
(),
appletGroupSearchRecord
.
getChannelId
(),
appletGroupSearchRecord
.
getAdviserId
());
if
(
bookGroupDTO
!=
null
&&
bookGroupDTO
.
getId
()
!=
null
&&
bookGroupDTO
.
getId
()
>
0
)
{
// 判断是否包含社群标识
if
(
bookGroupDTO
!=
null
&&
bookGroupDTO
.
getId
()
!=
null
&&
bookGroupDTO
.
getId
()
>
0
&&
(
(
bookGroupDTO
.
getJoinGroupType
()
!=
null
&&
bookGroupDTO
.
getJoinGroupType
()
==
1
)
||
(
bookGroupDTO
.
getRelatedBookGroupId
()
!=
null
&&
bookGroupDTO
.
getRelatedBookGroupId
()
>
0
))
)
{
appletGroupSearchRecord
.
setBookGroupId
(
bookGroupDTO
.
getId
());
appletGroupSearchRecordDao
.
insert
(
appletGroupSearchRecord
);
return
appletGroupSearchRecord
.
getId
();
...
...
@@ -183,11 +221,48 @@ public class AppletGroupSearchRecordBizImpl implements AppletGroupSearchRecordBi
appletDTO
.
setName
(
qrcodeDTO
.
getGroupName
());
appletDTO
.
setDesc
(
qrcodeDTO
.
getClassifyIntroduce
());
appletDTO
.
setBookGroupId
(
bookGroupId
);
appletDTO
.
setRelatedBookGroupId
(
relatedGroupId
);
appletDTO
.
setBookGroupQrcodeId
(
qrcodeDTO
.
getId
());
tishBookSchoolList
.
add
(
appletDTO
);
}
}
}
// 本书相关社群不足三个的,应该从平台端技能配置相关分类里拼社群
if
(
tishBookSchoolList
.
size
()<
3
){
int
num
=
3
-
tishBookSchoolList
.
size
();
// 通过bookGroupId反查社群
BookAdviserDto
bookAdviser
=
bookAdviserDao
.
getByBookGroupId
(
bookGroupId
);
BaseTempletClassify
baseTempletClassify
=
new
BaseTempletClassify
();
baseTempletClassify
.
setFirstClassify
(
bookAdviser
.
getTempletId
());
baseTempletClassify
.
setSecondClassify
(
bookAdviser
.
getSecondTempletId
());
baseTempletClassify
.
setGradeLabelId
(
bookAdviser
.
getGraLabelId
());
baseTempletClassify
.
setSubjectLabelId
(
bookAdviser
.
getSubLabelId
());
// 部分分类需要忽略二级分类
rightsSettingBiz
.
setClassifyAndLabel
(
baseTempletClassify
);
Map
<
String
,
Object
>
paraMap
=
Maps
.
newHashMap
();
paraMap
.
put
(
"firstClassify"
,
baseTempletClassify
.
getFirstClassify
());
paraMap
.
put
(
"secondClassify"
,
baseTempletClassify
.
getSecondClassify
());
paraMap
.
put
(
"gradeLabelId"
,
baseTempletClassify
.
getGradeLabelId
());
paraMap
.
put
(
"subjectLabelId"
,
baseTempletClassify
.
getSubjectLabelId
());
List
<
Long
>
classifyIds
=
pcloudGroupActivityDao
.
getGroupClassifyIds
(
paraMap
);
List
<
Long
>
collect
=
tishBookSchoolList
.
stream
().
map
(
GroupActivity4AppletDTO:
:
getClassifyId
).
distinct
().
collect
(
Collectors
.
toList
());
classifyIds
.
removeAll
(
collect
);
if
(!
ListUtils
.
isEmpty
(
classifyIds
)){
List
<
GroupQrcodeDTO
>
qrcodeDTOS
=
groupQrcodeDao
.
getGroupQrcodeByClassifyIds
(
classifyIds
);
if
(!
ListUtils
.
isEmpty
(
qrcodeDTOS
))
{
for
(
GroupQrcodeDTO
qrcodeDTO
:
qrcodeDTOS
)
{
GroupActivity4AppletDTO
appletDTO
=
new
GroupActivity4AppletDTO
();
BeanUtils
.
copyProperties
(
qrcodeDTO
,
appletDTO
);
appletDTO
.
setName
(
qrcodeDTO
.
getGroupName
());
appletDTO
.
setDesc
(
qrcodeDTO
.
getClassifyIntroduce
());
appletDTO
.
setBookGroupQrcodeId
(
qrcodeDTO
.
getId
());
tishBookSchoolList
.
add
(
appletDTO
);
}
}
}
}
if
(
ListUtils
.
isEmpty
(
tishBookSchoolList
))
{
return
new
ArrayList
<>();
}
...
...
@@ -198,8 +273,7 @@ public class AppletGroupSearchRecordBizImpl implements AppletGroupSearchRecordBi
groupActivity4AppletDTO
.
setStatus
(
0
);
// 付费群 查询用户是否已经购买过该群分类
if
(
groupActivity4AppletDTO
.
getPrice
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
GroupQrcode4ClassifyVO
userQrcode
=
bookQrcodeUserDao
.
getUserQrcode
(
wechatUserId
,
groupActivity4AppletDTO
.
getClassifyId
());
if
(
userQrcode
!=
null
&&
userQrcode
.
getGroupQrcodeId
()
!=
null
)
{
if
(
bookClassifyBuyRecordDao
.
checkUserBuy
(
wechatUserId
,
groupActivity4AppletDTO
.
getClassifyId
()))
{
groupActivity4AppletDTO
.
setStatus
(
1
);
}
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/impl/AppletUserBookcaseBizImpl.java
View file @
e0e12510
...
...
@@ -315,8 +315,8 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
}
@Override
public
AppletUserBookcaseDTO
getUserBookInfoByWechatUserId
(
Long
wechatUserId
,
Long
book
Id
)
{
AppletUserBookcaseDTO
userBookInfoByWechatUserId
=
appletUserBookcaseDao
.
getUserBookInfoByWechatUserId
(
wechatUserId
,
book
Id
);
public
AppletUserBookcaseDTO
getUserBookInfoByWechatUserId
(
Long
bookId
,
Long
channelId
,
Long
adviser
Id
)
{
AppletUserBookcaseDTO
userBookInfoByWechatUserId
=
appletUserBookcaseDao
.
getUserBookInfoByWechatUserId
(
bookId
,
channelId
,
adviser
Id
);
if
(
userBookInfoByWechatUserId
==
null
){
return
new
AppletUserBookcaseDTO
();
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/AppletUserBookcaseDao.java
View file @
e0e12510
...
...
@@ -97,5 +97,5 @@ public interface AppletUserBookcaseDao extends BaseDao<AppletUserBookcase> {
*/
List
<
Long
>
getBookIdsByIds
(
List
<
Long
>
ids
);
AppletUserBookcaseDTO
getUserBookInfoByWechatUserId
(
Long
wechatUserId
,
Long
book
Id
);
AppletUserBookcaseDTO
getUserBookInfoByWechatUserId
(
Long
bookId
,
Long
channelId
,
Long
adviser
Id
);
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/impl/AppletUserBookcaseDaoImpl.java
View file @
e0e12510
...
...
@@ -119,9 +119,10 @@ public class AppletUserBookcaseDaoImpl extends BaseDaoImpl<AppletUserBookcase> i
}
@Override
public
AppletUserBookcaseDTO
getUserBookInfoByWechatUserId
(
Long
wechatUserId
,
Long
book
Id
)
{
public
AppletUserBookcaseDTO
getUserBookInfoByWechatUserId
(
Long
bookId
,
Long
channelId
,
Long
adviser
Id
)
{
Map
<
String
,
Long
>
map
=
new
HashMap
<>();
map
.
put
(
"wechatUserId"
,
wechatUserId
);
map
.
put
(
"channelId"
,
channelId
);
map
.
put
(
"adviserId"
,
adviserId
);
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 @
e0e12510
...
...
@@ -91,4 +91,7 @@ public class AppletGroupManageDTO extends BaseEntity {
@ApiModelProperty
(
"购买状态 1已购买 0未购买"
)
private
Integer
status
;
@ApiModelProperty
(
"关联"
)
private
Long
relatedBookGroupId
;
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/applet/dto/AppletGroupSearchRecordDTO.java
View file @
e0e12510
...
...
@@ -59,4 +59,17 @@ public class AppletGroupSearchRecordDTO implements Serializable {
@ApiModelProperty
(
"isbn"
)
private
String
isbn
;
@ApiModelProperty
(
"关联bookGroupId"
)
private
Long
relatedBookGroupId
;
@ApiModelProperty
(
"社群码类型"
)
private
Integer
joinGroupType
;
@ApiModelProperty
(
"有关联社群"
)
private
Boolean
hasGroup
;
@ApiModelProperty
(
"权益数量"
)
private
Integer
rightsSettingCount
;
@ApiModelProperty
(
"资源数量"
)
private
Integer
resourceCount
;
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/applet/dto/AppletUserBookcaseDTO.java
View file @
e0e12510
...
...
@@ -82,4 +82,7 @@ public class AppletUserBookcaseDTO extends BaseDto {
private
Integer
resourceCount
;
@ApiModelProperty
(
"书刊访问数量"
)
private
Integer
bookUserCount
;
@ApiModelProperty
(
"关联bookGroupId"
)
private
Long
relatedBookGroupId
;
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/facade/AppletHomeFacade.java
View file @
e0e12510
...
...
@@ -541,9 +541,11 @@ public class AppletHomeFacade {
@GetMapping
(
"getUserBookInfoByWechatUserId"
)
public
ResponseDto
<
AppletUserBookcaseDTO
>
getUserBookInfoByWechatUserId
(
@CookieValue
(
"userInfo"
)
String
userInfo
,
@RequestParam
(
value
=
"bookId"
)
@ApiParam
(
"BookId"
)
Long
bookId
){
@RequestParam
(
value
=
"bookId"
)
@ApiParam
(
"BookId"
)
Long
bookId
,
@RequestParam
(
value
=
"channelId"
)
@ApiParam
(
"channelId"
)
Long
channelId
,
@RequestParam
(
value
=
"adviserId"
)
@ApiParam
(
"adviserId"
)
Long
adviserId
){
Long
wechatUserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
return
new
ResponseDto
<>(
appletUserBookcaseBiz
.
getUserBookInfoByWechatUserId
(
wechatUserId
,
book
Id
));
return
new
ResponseDto
<>(
appletUserBookcaseBiz
.
getUserBookInfoByWechatUserId
(
bookId
,
channelId
,
adviser
Id
));
}
@ApiOperation
(
"新增用户资源点击记录"
)
...
...
pcloud-service-book/src/main/java/com/pcloud/book/book/dao/BookAdviserDao.java
View file @
e0e12510
...
...
@@ -3,7 +3,13 @@
*/
package
com
.
pcloud
.
book
.
book
.
dao
;
import
com.pcloud.book.book.dto.*
;
import
com.pcloud.book.book.dto.AdviserBookInfoDTO
;
import
com.pcloud.book.book.dto.AdviserManageDto
;
import
com.pcloud.book.book.dto.AviserBookInfoParam
;
import
com.pcloud.book.book.dto.BookAdviserDto
;
import
com.pcloud.book.book.dto.BookCountAndAdviserIdDTO
;
import
com.pcloud.book.book.dto.BookCountByAdvisersDto
;
import
com.pcloud.book.book.dto.BookCountDto
;
import
com.pcloud.book.book.entity.BookAdviser
;
import
com.pcloud.common.core.dao.BaseDao
;
...
...
@@ -263,4 +269,6 @@ public interface BookAdviserDao extends BaseDao<BookAdviser> {
BookAdviserDto
getOneMainBook
(
Long
bookId
);
Map
<
Long
,
BookAdviserDto
>
getByBookAdviserIds
(
List
<
Long
>
bookAdviserIds
);
BookAdviserDto
getByBookGroupId
(
Long
bookGroupId
);
}
pcloud-service-book/src/main/java/com/pcloud/book/book/dao/impl/BookAdviserDaoImpl.java
View file @
e0e12510
...
...
@@ -269,4 +269,9 @@ public class BookAdviserDaoImpl extends BaseDaoImpl<BookAdviser> implements Book
return
super
.
getSqlSession
().
selectMap
(
this
.
getStatement
(
"getByBookAdviserIds"
),
bookAdviserIds
,
"bookAdviserId"
);
}
@Override
public
BookAdviserDto
getByBookGroupId
(
Long
bookGroupId
)
{
return
getSessionTemplate
().
selectOne
(
getStatement
(
"getByBookGroupId"
),
bookGroupId
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/impl/BookGroupClassifyBizImpl.java
View file @
e0e12510
...
...
@@ -239,7 +239,7 @@ public class BookGroupClassifyBizImpl implements BookGroupClassifyBiz {
groupQrcode
.
setQrcodeUrl
(
oneQrcode
.
getQrcodeUrl
());
groupQrcode
.
setCreateUser
(
partyId
);
groupQrcode
.
setWeixinQrcodeId
(
oneQrcode
.
getId
());
groupQrcode
.
setUserNumber
(
oneQrcode
.
getUserNumber
());
groupQrcode
.
setUserNumber
(
oneQrcode
.
getUserNumber
()
>
3
?
oneQrcode
.
getUserNumber
():
3
);
groupQrcode
.
setGroupSeq
(
1
);
// 群长度超过16部分会被截取,导致群名称重复
final
String
s
=
"1群"
;
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/GroupQrcodeDao.java
View file @
e0e12510
...
...
@@ -310,4 +310,6 @@ public interface GroupQrcodeDao extends BaseDao<GroupQrcode> {
* * @param null
*/
List
<
GroupQrcodeDTO
>
listClassifyLatestGroupByBookGroup
(
Long
bookGroupId
);
List
<
GroupQrcodeDTO
>
getGroupQrcodeByClassifyIds
(
List
<
Long
>
list
);
}
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/impl/GroupQrcodeDaoImpl.java
View file @
e0e12510
...
...
@@ -313,4 +313,9 @@ public class GroupQrcodeDaoImpl extends BaseDaoImpl<GroupQrcode> implements Grou
return
getSessionTemplate
().
selectList
(
getStatement
(
"listClassifyLatestGroupByBookGroup"
),
bookGroupId
);
}
@Override
public
List
<
GroupQrcodeDTO
>
getGroupQrcodeByClassifyIds
(
List
<
Long
>
list
)
{
return
super
.
getSqlSession
().
selectList
(
"getGroupQrcodeByClassifyIds"
,
list
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/dto/GroupQrcodeDTO.java
View file @
e0e12510
...
...
@@ -82,4 +82,8 @@ public class GroupQrcodeDTO implements Serializable {
* 群分类价格
*/
private
BigDecimal
price
;
/**
* 关联社群书Id
*/
private
Long
relatedBookGroupId
;
}
pcloud-service-book/src/main/java/com/pcloud/book/reading/biz/impl/ReadingActivityBizImpl.java
View file @
e0e12510
...
...
@@ -1234,7 +1234,7 @@ public class ReadingActivityBizImpl implements ReadingActivityBiz{
groupQrcode
.
setQrcodeUrl
(
qrcodeUrl
);
groupQrcode
.
setCreateUser
(
0L
);
groupQrcode
.
setWeixinQrcodeId
(
qrcodeId
);
groupQrcode
.
setUserNumber
(
robots
.
size
());
groupQrcode
.
setUserNumber
(
robots
.
size
()
>
3
?
robots
.
size
():
3
);
groupQrcode
.
setGroupSeq
(
1
);
groupQrcode
.
setGroupName
(
readingGroup
.
getWxGroupName
());
groupQrcode
.
setClassifyId
(
0L
);
...
...
pcloud-service-book/src/main/java/com/pcloud/book/rightsSetting/biz/impl/RightsSettingBizImpl.java
View file @
e0e12510
...
...
@@ -1774,6 +1774,10 @@ public class RightsSettingBizImpl implements RightsSettingBiz {
rightsNowItem
.
setServeType
(
RightsServeTypeEnum
.
GROUP
.
name
());
rightsNowItem
.
setType
(
RightsNowItemTypeNew
.
GROUP_SERVICE
.
value
);
rightsNowItem
.
setRightsSettingId
(
rightsSettingId
);
rightsNowItem
.
setBookGroupId
(
groupActivity4AppletDTO
.
getBookGroupId
());
rightsNowItem
.
setRelatedBookGroupId
(
groupActivity4AppletDTO
.
getRelatedBookGroupId
());
rightsNowItem
.
setClassifyId
(
groupActivity4AppletDTO
.
getClassifyId
());
rightsNowItem
.
setPrice
(
groupActivity4AppletDTO
.
getPrice
());
items
.
add
(
rightsNowItem
);
}
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/rightsSetting/entity/RightsNowItem.java
View file @
e0e12510
...
...
@@ -9,6 +9,8 @@ import lombok.Data;
import
lombok.EqualsAndHashCode
;
import
lombok.NoArgsConstructor
;
import
java.math.BigDecimal
;
/**
* @Description
* @Author ruansiyuan
...
...
@@ -85,5 +87,12 @@ public class RightsNowItem extends BaseEntity {
private
String
source
;
@ApiModelProperty
(
"即享权益"
)
private
Long
rightsSettingTitleId
;
@ApiModelProperty
(
"关联社群ID"
)
private
Long
relatedBookGroupId
;
@ApiModelProperty
(
"群分类ID"
)
private
Long
classifyId
;
@ApiModelProperty
(
"社群书ID"
)
private
Long
bookGroupId
;
@ApiModelProperty
(
"群分类价格"
)
private
BigDecimal
price
;
}
pcloud-service-book/src/main/java/com/pcloud/book/skill/biz/impl/PcloudGroupActivityBizImpl.java
View file @
e0e12510
...
...
@@ -17,6 +17,7 @@ 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.BookClassifyBuyRecordDao
;
import
com.pcloud.book.group.dao.BookQrcodeUserDao
;
import
com.pcloud.book.group.vo.ClassifyQrcodeVO
;
import
com.pcloud.book.group.vo.GroupQrcode4ClassifyVO
;
...
...
@@ -94,7 +95,7 @@ public class PcloudGroupActivityBizImpl implements PcloudGroupActivityBiz {
@Autowired
private
AppletGroupSearchRecordBiz
appletGroupSearchRecordBiz
;
@Autowired
private
Book
QrcodeUserDao
bookQrcodeUser
Dao
;
private
Book
ClassifyBuyRecordDao
bookClassifyBuyRecord
Dao
;
@ParamLog
(
"保存共读活动"
)
@Override
...
...
@@ -372,8 +373,7 @@ public class PcloudGroupActivityBizImpl implements PcloudGroupActivityBiz {
activity4AppletDTO
.
setStatus
(
0
);
// 付费群 查询用户是否已经购买过该群分类
if
(
activity4AppletDTO
.
getPrice
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
GroupQrcode4ClassifyVO
userQrcode
=
bookQrcodeUserDao
.
getUserQrcode
(
wechatUserId
,
activity4AppletDTO
.
getClassifyId
());
if
(
userQrcode
!=
null
&&
userQrcode
.
getGroupQrcodeId
()
!=
null
)
{
if
(
bookClassifyBuyRecordDao
.
checkUserBuy
(
wechatUserId
,
activity4AppletDTO
.
getClassifyId
()))
{
activity4AppletDTO
.
setStatus
(
1
);
}
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/skill/dao/PcloudGroupActivityDao.java
View file @
e0e12510
...
...
@@ -19,4 +19,5 @@ public interface PcloudGroupActivityDao extends BaseDao<PcloudGroupActivity> {
Map
<
Long
,
GroupActivity4AppletDTO
>
getByIds
(
List
<
Long
>
ids
);
List
<
Long
>
getGroupClassifyIds
(
Map
<
String
,
Object
>
paraMap
);
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/skill/dao/impl/PcloudGroupActivityDaoImpl.java
View file @
e0e12510
...
...
@@ -51,4 +51,9 @@ public class PcloudGroupActivityDaoImpl extends BaseDaoImpl<PcloudGroupActivity>
return
super
.
getSqlSession
().
selectMap
(
getStatement
(
"getByIds"
),
list
,
"id"
);
}
@Override
public
List
<
Long
>
getGroupClassifyIds
(
Map
<
String
,
Object
>
paraMap
)
{
return
super
.
getSqlSession
().
selectList
(
"getGroupClassifyIds"
,
paraMap
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/skill/dto/GroupActivity4AppletDTO.java
View file @
e0e12510
...
...
@@ -73,4 +73,7 @@ public class GroupActivity4AppletDTO implements Serializable {
@ApiModelProperty
(
"购买状态 1已购买 0未购买"
)
private
Integer
status
;
@ApiModelProperty
(
"关联社群书ID"
)
private
Long
relatedBookGroupId
;
}
pcloud-service-book/src/main/resources/mapper/applet/AppletGroupManage.Mapper.xml
View file @
e0e12510
...
...
@@ -61,11 +61,13 @@
b.description as `desc`,
b.book_group_classify_id AS classifyId,
c.book_group_id bookGroupId,
c.price
c.price,
g.related_book_group_id relatedBookGroupId
FROM
applet_group_manage a
INNER JOIN pcloud_group_activity b ON a.group_activity_id = b.id AND b.is_delete = 0
INNER JOIN book_group_classify c ON b.book_group_classify_id = c.id AND c.is_delete = 0
LEFT JOIN book_group g ON g.id = c.book_group_id
WHERE a.enable=1
<if
test=
"recommend!=null"
>
AND a.recommend=#{recommend}
...
...
pcloud-service-book/src/main/resources/mapper/applet/AppletGroupSearchRecord.Mapper.xml
View file @
e0e12510
...
...
@@ -37,14 +37,21 @@
d.PUBLISH publish,
d.REMARK remark,
d.COVER_IMG coverImg,
d.ISBN isbn
d.ISBN isbn,
c.join_group_type joinGroupType,
g.TEMPLET_ID templetId,
g.SECOND_TEMPLET_ID secondTempletId,
IF(c.join_group_type=1 OR c.related_book_group_id>0,1,0) hasGroup,
c.related_book_group_id relatedBookGroupId
FROM applet_group_search_record a
INNER JOIN BOOK d ON a.BOOK_ID = d.BOOK_ID
INNER JOIN book_group c ON a.book_group_id = c.id
LEFT JOIN book_adviser g ON a.adviser_id = g.ADVISER_ID AND g.BOOK_ID = a.book_id
WHERE 1=1
<if
test=
"wechatUserId!=null"
>
AND a.wechat_user_id = #{wechatUserId}
</if>
ORDER BY update_time DESC
ORDER BY
a.
update_time DESC
</select>
<insert
id=
"insert"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
...
...
pcloud-service-book/src/main/resources/mapper/applet/AppletUserBookcase.xml
View file @
e0e12510
...
...
@@ -247,14 +247,15 @@
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
r.count rightsSettingCount,
d.related_book_group_id relatedBookGroupId
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 = #{book
Id}
WHERE
c.book_id = #{bookId} AND c.channel_id = #{channelId} AND c.adviser_id = #{adviser
Id}
ORDER BY c.create_time DESC
LIMIT 1
</select>
...
...
pcloud-service-book/src/main/resources/mapper/book/BookAdviser.Mapper.xml
View file @
e0e12510
...
...
@@ -663,6 +663,18 @@
LIMIT 1
</select>
<select
id=
"getByBookGroupId"
parameterType=
"long"
resultMap=
"bookAdviserMap"
>
SELECT
a.BOOK_ADVISER_ID, a.BOOK_ID, a.TEMPLET_ID, a.CHANNEL_ID, a.ADVISER_ID, a.IS_DELETE,
a.TEMPLET_ID,a.SECOND_TEMPLET_ID,
a.GRA_LABEL_ID,a.SUB_LABEL_ID,a.VER_LABEL_ID,a.AREA_LABEL_ID,a.vol_label_id
FROM
book_adviser a
LEFT JOIN book_group b ON a.ADVISER_ID = b.create_user AND a.CHANNEL_ID = b.channel_id AND a.BOOK_ID = b.book_id
WHERE
b.id = #{bookGroupId}
LIMIT 1
</select>
<select
id=
"getBookListForAdvertising"
parameterType=
"map"
resultType=
"com.pcloud.book.advertising.dto.BookListForAdvertisingDTO"
>
SELECT
...
...
pcloud-service-book/src/main/resources/mapper/group/GroupQrcode.Mapper.xml
View file @
e0e12510
...
...
@@ -886,10 +886,12 @@
r.qrcode_url qrcodeUrl,
f.classify_introduce classifyIntroduce,
f.book_group_id bookGroupId,
f.price
f.price,
g.related_book_group_id relatedBookGroupId
FROM
book_group_qrcode r
LEFT JOIN book_group_classify f ON r.classify_id = f.id
LEFT JOIN book_group g ON f.book_group_id = g.id
WHERE
r.id IN (
SELECT
...
...
@@ -908,4 +910,35 @@
f.rank ASC, f.id ASC
</select>
<select
id=
"getGroupQrcodeByClassifyIds"
parameterType=
"long"
resultType=
"com.pcloud.book.group.dto.GroupQrcodeDTO"
>
SELECT
b.id id,
b.classify_id classifyId,
b.weixin_group_id weixinGroupId,
b.group_name groupName,
b.user_number userNumber,
b.qrcode_url qrcodeUrl,
c.related_book_group_id relatedBookGroupId,
a.price price,
c.id bookGroupId,
a.classify_introduce classifyIntroduce,
a.classify classify
FROM
book_group_classify a
LEFT JOIN book_group_qrcode b ON a.id = b.classify_id
LEFT JOIN book_group c ON a.book_group_id = c.id
LEFT JOIN pcloud_group_activity d ON d.book_group_classify_id = a.id
WHERE
a.id IN
<foreach
collection=
"list"
item=
"item"
open=
"("
close=
")"
separator=
","
>
#{item}
</foreach>
AND a.is_delete = 0
AND b.is_delete = 0
AND c.is_delete = 0
GROUP BY a.id
ORDER BY d.create_time DESC
LIMIT 3
</select>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/skill/PcloudGroupActivityDao.xml
View file @
e0e12510
...
...
@@ -33,6 +33,25 @@
update pcloud_group_activity set is_delete = 1 where id = #{id}
</update>
<select
id=
"getGroupClassifyIds"
resultType=
"long"
parameterType=
"map"
>
select book_group_classify_id from pcloud_group_activity
where
is_delete = 0 and is_show = 1
<if
test=
"firstClassify != null"
>
and first_classify = #{firstClassify}
</if>
<if
test=
"secondClassify != null"
>
and second_classify = #{secondClassify}
</if>
<if
test=
"gradeLabelId != null"
>
and grade_label_id = #{gradeLabelId}
</if>
<if
test=
"subjectLabelId != null"
>
and subject_label_id = #{subjectLabelId}
</if>
order by id desc
</select>
<select
id=
"queryGroupActivity"
resultType=
"com.pcloud.book.skill.facade.response.QueryGroupActivityResponseVO"
parameterType=
"map"
>
SELECT
a.id,
...
...
@@ -96,11 +115,16 @@
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.id AS classifyId,
c.book_group_id AS bookGroupId,
d.related_book_group_id AS relatedBookGroupId,
c.price AS 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
INNER JOIN book_group_qrcode b ON b.classify_id = c.id AND b.is_delete = 0
LEFT JOIN book_group d ON c.book_group_id = d.id
WHERE
a.is_delete = 0 AND a.is_show = 1
<if
test=
"firstClassify != null"
>
...
...
@@ -159,11 +183,14 @@
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 AS price,
d.related_book_group_id relatedBookGroupId
FROM
pcloud_group_activity a
INNER JOIN book_group_classify c ON a.book_group_classify_id = c.id AND c.is_delete = 0
INNER JOIN book_group_qrcode b on b.classify_id = c.id AND b.is_delete = 0
INNER JOIN book_group d ON c.book_group_id = d.id
WHERE
a.is_delete = 0 AND a.is_show = 1
AND a.id IN
...
...
@@ -326,11 +353,13 @@
a.second_classify AS secondClassify,
a.grade_label_id AS gradeLabelId,
a.subject_label_id AS subjectLabelId,
c.price
c.price,
g.related_book_group_id relatedBookGroupId
FROM
pcloud_group_activity a
INNER JOIN book_group_classify c ON a.book_group_classify_id = c.id AND c.is_delete = 0
INNER JOIN book_group_qrcode b on c.id = b.classify_id AND b.is_delete = 0
LEFT JOIN book_group g ON g.id = c.book_group_id
WHERE
a.is_delete = 0 AND a.is_show = 1
<if
test=
"firstClassify != null"
>
...
...
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