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
51ebfe46
Commit
51ebfe46
authored
Sep 17, 2020
by
Administrator
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/1003592' into 'master'
feat: [1003592] 小程序弹窗 See merge request rays/pcloud-book!967
parents
b9a09f70
28bd0ebe
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
473 additions
and
1 deletions
+473
-1
RightsSettingBiz.java
...a/com/pcloud/book/rightsSetting/biz/RightsSettingBiz.java
+18
-0
RightsSettingBizImpl.java
...oud/book/rightsSetting/biz/impl/RightsSettingBizImpl.java
+146
-0
RightsSettingConstant.java
...d/book/rightsSetting/constants/RightsSettingConstant.java
+12
-0
RightsNowPopupDao.java
.../com/pcloud/book/rightsSetting/dao/RightsNowPopupDao.java
+30
-0
RightsNowPopupDaoImpl.java
...ud/book/rightsSetting/dao/impl/RightsNowPopupDaoImpl.java
+37
-0
PopupResourceInfoDTO.java
...m/pcloud/book/rightsSetting/dto/PopupResourceInfoDTO.java
+30
-0
RightsNowPopup.java
.../com/pcloud/book/rightsSetting/entity/RightsNowPopup.java
+79
-0
RightsSettingTitle.java
.../pcloud/book/rightsSetting/entity/RightsSettingTitle.java
+2
-1
RightsNowPopupRecordType.java
...ud/book/rightsSetting/enums/RightsNowPopupRecordType.java
+23
-0
RightsNowPopupType.java
...m/pcloud/book/rightsSetting/enums/RightsNowPopupType.java
+18
-0
RightsSettingFacede.java
...pcloud/book/rightsSetting/facade/RightsSettingFacede.java
+27
-0
RightsNowPopupDao.xml
...main/resources/mapper/rightssetting/RightsNowPopupDao.xml
+51
-0
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/rightsSetting/biz/RightsSettingBiz.java
View file @
51ebfe46
...
@@ -3,11 +3,13 @@ package com.pcloud.book.rightsSetting.biz;
...
@@ -3,11 +3,13 @@ package com.pcloud.book.rightsSetting.biz;
import
com.pcloud.book.applet.dto.AppletNewsDTO
;
import
com.pcloud.book.applet.dto.AppletNewsDTO
;
import
com.pcloud.book.applet.entity.AppletUserBookcase
;
import
com.pcloud.book.applet.entity.AppletUserBookcase
;
import
com.pcloud.book.rightsSetting.dto.FillRightsSettingAppletsDTO
;
import
com.pcloud.book.rightsSetting.dto.FillRightsSettingAppletsDTO
;
import
com.pcloud.book.rightsSetting.dto.PopupResourceInfoDTO
;
import
com.pcloud.book.rightsSetting.dto.RightsSettingDto
;
import
com.pcloud.book.rightsSetting.dto.RightsSettingDto
;
import
com.pcloud.book.rightsSetting.dto.RightsSettingShowStateDTO
;
import
com.pcloud.book.rightsSetting.dto.RightsSettingShowStateDTO
;
import
com.pcloud.book.rightsSetting.entity.BaseTempletClassify
;
import
com.pcloud.book.rightsSetting.entity.BaseTempletClassify
;
import
com.pcloud.book.rightsSetting.entity.RightsItemGroup
;
import
com.pcloud.book.rightsSetting.entity.RightsItemGroup
;
import
com.pcloud.book.rightsSetting.entity.RightsNowPic
;
import
com.pcloud.book.rightsSetting.entity.RightsNowPic
;
import
com.pcloud.book.rightsSetting.entity.RightsNowPopup
;
import
com.pcloud.book.rightsSetting.entity.RightsSetting
;
import
com.pcloud.book.rightsSetting.entity.RightsSetting
;
import
com.pcloud.book.rightsSetting.entity.RightsSettingClassify
;
import
com.pcloud.book.rightsSetting.entity.RightsSettingClassify
;
import
com.pcloud.book.rightsSetting.entity.RightsSettingItem
;
import
com.pcloud.book.rightsSetting.entity.RightsSettingItem
;
...
@@ -161,4 +163,20 @@ public interface RightsSettingBiz {
...
@@ -161,4 +163,20 @@ public interface RightsSettingBiz {
void
fillGroupActivityHead
(
List
<
GroupActivity4AppletDTO
>
groupActivity4AppletList
);
void
fillGroupActivityHead
(
List
<
GroupActivity4AppletDTO
>
groupActivity4AppletList
);
void
fillThirdGroupHeadList
(
GroupActivity4AppletDTO
groupActivity4AppletDTO
);
void
fillThirdGroupHeadList
(
GroupActivity4AppletDTO
groupActivity4AppletDTO
);
/**
* 要弹出的资源
* @author:zhuyajie
* @date:2020/9/15 17:51
* * @param null
*/
PopupResourceInfoDTO
getPopupResourceInfoByBook
(
Long
wechatUserId
,
Long
bookId
,
Long
channelId
,
Long
adviserId
,
Long
rightsSettingId
,
Integer
readType
);
/**
* 资源弹窗记录埋点
* @author:zhuyajie
* @date:2020/9/16 10:40
* * @param null
*/
void
addPopupRecord
(
RightsNowPopup
rightsNowPopup
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/rightsSetting/biz/impl/RightsSettingBizImpl.java
View file @
51ebfe46
...
@@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollUtil;
...
@@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollUtil;
import
cn.hutool.core.util.RandomUtil
;
import
cn.hutool.core.util.RandomUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
com.pcloud.appcenter.app.dto.AppDto
;
import
com.pcloud.appcenter.app.dto.AppDto
;
import
com.pcloud.appcenter.assist.dto.AssistTempletDTO
;
import
com.pcloud.appcenter.assist.dto.AssistTempletDTO
;
import
com.pcloud.book.applet.biz.AppletBooklistBiz
;
import
com.pcloud.book.applet.biz.AppletBooklistBiz
;
...
@@ -59,11 +60,13 @@ import com.pcloud.book.rightsSetting.dao.RightsCustomRelationDao;
...
@@ -59,11 +60,13 @@ import com.pcloud.book.rightsSetting.dao.RightsCustomRelationDao;
import
com.pcloud.book.rightsSetting.dao.RightsItemGroupDao
;
import
com.pcloud.book.rightsSetting.dao.RightsItemGroupDao
;
import
com.pcloud.book.rightsSetting.dao.RightsNowItemDao
;
import
com.pcloud.book.rightsSetting.dao.RightsNowItemDao
;
import
com.pcloud.book.rightsSetting.dao.RightsNowPicDao
;
import
com.pcloud.book.rightsSetting.dao.RightsNowPicDao
;
import
com.pcloud.book.rightsSetting.dao.RightsNowPopupDao
;
import
com.pcloud.book.rightsSetting.dao.RightsReadPlanDao
;
import
com.pcloud.book.rightsSetting.dao.RightsReadPlanDao
;
import
com.pcloud.book.rightsSetting.dao.RightsSettingDAO
;
import
com.pcloud.book.rightsSetting.dao.RightsSettingDAO
;
import
com.pcloud.book.rightsSetting.dao.RightsSettingItemDao
;
import
com.pcloud.book.rightsSetting.dao.RightsSettingItemDao
;
import
com.pcloud.book.rightsSetting.dao.RightsSettingItemDetailDao
;
import
com.pcloud.book.rightsSetting.dao.RightsSettingItemDetailDao
;
import
com.pcloud.book.rightsSetting.dto.FillRightsSettingAppletsDTO
;
import
com.pcloud.book.rightsSetting.dto.FillRightsSettingAppletsDTO
;
import
com.pcloud.book.rightsSetting.dto.PopupResourceInfoDTO
;
import
com.pcloud.book.rightsSetting.dto.ReadTypeCountDTO
;
import
com.pcloud.book.rightsSetting.dto.ReadTypeCountDTO
;
import
com.pcloud.book.rightsSetting.dto.RightsSettingDto
;
import
com.pcloud.book.rightsSetting.dto.RightsSettingDto
;
import
com.pcloud.book.rightsSetting.dto.RightsSettingShowStateDTO
;
import
com.pcloud.book.rightsSetting.dto.RightsSettingShowStateDTO
;
...
@@ -72,6 +75,7 @@ import com.pcloud.book.rightsSetting.entity.RightsCustomRelation;
...
@@ -72,6 +75,7 @@ import com.pcloud.book.rightsSetting.entity.RightsCustomRelation;
import
com.pcloud.book.rightsSetting.entity.RightsItemGroup
;
import
com.pcloud.book.rightsSetting.entity.RightsItemGroup
;
import
com.pcloud.book.rightsSetting.entity.RightsNowItem
;
import
com.pcloud.book.rightsSetting.entity.RightsNowItem
;
import
com.pcloud.book.rightsSetting.entity.RightsNowPic
;
import
com.pcloud.book.rightsSetting.entity.RightsNowPic
;
import
com.pcloud.book.rightsSetting.entity.RightsNowPopup
;
import
com.pcloud.book.rightsSetting.entity.RightsReadType
;
import
com.pcloud.book.rightsSetting.entity.RightsReadType
;
import
com.pcloud.book.rightsSetting.entity.RightsSetting
;
import
com.pcloud.book.rightsSetting.entity.RightsSetting
;
import
com.pcloud.book.rightsSetting.entity.RightsSettingBookRelation
;
import
com.pcloud.book.rightsSetting.entity.RightsSettingBookRelation
;
...
@@ -82,6 +86,7 @@ import com.pcloud.book.rightsSetting.entity.RightsSettingNow;
...
@@ -82,6 +86,7 @@ import com.pcloud.book.rightsSetting.entity.RightsSettingNow;
import
com.pcloud.book.rightsSetting.entity.RightsSettingTitle
;
import
com.pcloud.book.rightsSetting.entity.RightsSettingTitle
;
import
com.pcloud.book.rightsSetting.enums.RightsItemGroupType
;
import
com.pcloud.book.rightsSetting.enums.RightsItemGroupType
;
import
com.pcloud.book.rightsSetting.enums.RightsNowItemTypeNew
;
import
com.pcloud.book.rightsSetting.enums.RightsNowItemTypeNew
;
import
com.pcloud.book.rightsSetting.enums.RightsNowPopupType
;
import
com.pcloud.book.rightsSetting.enums.RightsServeTypeEnum
;
import
com.pcloud.book.rightsSetting.enums.RightsServeTypeEnum
;
import
com.pcloud.book.rightsSetting.enums.RightsTypeEnum
;
import
com.pcloud.book.rightsSetting.enums.RightsTypeEnum
;
import
com.pcloud.book.rightsSetting.enums.RightsWeekTypeEnum
;
import
com.pcloud.book.rightsSetting.enums.RightsWeekTypeEnum
;
...
@@ -95,6 +100,7 @@ import com.pcloud.book.util.common.YesOrNoEnums;
...
@@ -95,6 +100,7 @@ import com.pcloud.book.util.common.YesOrNoEnums;
import
com.pcloud.channelcenter.wechat.dto.AccountSettingDto
;
import
com.pcloud.channelcenter.wechat.dto.AccountSettingDto
;
import
com.pcloud.common.constant.CacheConstant
;
import
com.pcloud.common.constant.CacheConstant
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.enums.AppTypeEnum
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.utils.BeanUtils
;
import
com.pcloud.common.utils.BeanUtils
;
...
@@ -128,6 +134,8 @@ import java.util.concurrent.atomic.AtomicInteger;
...
@@ -128,6 +134,8 @@ import java.util.concurrent.atomic.AtomicInteger;
import
java.util.function.Function
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.util.StrUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
@Service
@Service
...
@@ -215,6 +223,8 @@ public class RightsSettingBizImpl implements RightsSettingBiz {
...
@@ -215,6 +223,8 @@ public class RightsSettingBizImpl implements RightsSettingBiz {
private
AdviserConsr
adviserConsr
;
private
AdviserConsr
adviserConsr
;
@Autowired
@Autowired
private
ServeCollectBiz
serveCollectBiz
;
private
ServeCollectBiz
serveCollectBiz
;
@Autowired
private
RightsNowPopupDao
rightsNowPopupDao
;
@Override
@Override
@ParamLog
(
"新增权益设置"
)
@ParamLog
(
"新增权益设置"
)
...
@@ -2900,4 +2910,140 @@ public class RightsSettingBizImpl implements RightsSettingBiz {
...
@@ -2900,4 +2910,140 @@ public class RightsSettingBizImpl implements RightsSettingBiz {
}
}
return
rightsSettingDtoMap
;
return
rightsSettingDtoMap
;
}
}
@Override
public
PopupResourceInfoDTO
getPopupResourceInfoByBook
(
Long
wechatUserId
,
Long
bookId
,
Long
channelId
,
Long
adviserId
,
Long
rightsSettingId
,
Integer
readType
){
PopupResourceInfoDTO
popupResourceInfoDTO
=
new
PopupResourceInfoDTO
();
Integer
answerClickCount
=
rightsNowPopupDao
.
getUserPopupClickCount
(
wechatUserId
,
bookId
,
channelId
,
adviserId
,
RightsNowPopupType
.
SERVES_ANSWER
.
value
);
//答案应用
List
<
RightsNowItem
>
answerList
=
getPopupAnswerList
(
bookId
,
channelId
,
adviserId
,
rightsSettingId
,
readType
);
//有答案应用且答案应用未点击
if
(!
ListUtils
.
isEmpty
(
answerList
)
&&
answerClickCount
<=
0
){
popupResourceInfoDTO
.
setPopupState
(
true
);
popupResourceInfoDTO
.
setPopupList
(
answerList
);
popupResourceInfoDTO
.
setPopupType
(
RightsNowPopupType
.
SERVES_ANSWER
.
value
);
return
popupResourceInfoDTO
;
}
//品牌方资源-线上网课
Boolean
popState
=
false
;
Integer
popupType
=
RightsNowPopupType
.
ONLINE_COURSE
.
value
;
List
<
RightsNowItem
>
popupList
=
getPopupCourseList
(
rightsSettingId
,
readType
);
//是否点击
Integer
courseClickCount
=
0
;
if
(!
ListUtils
.
isEmpty
(
popupList
)){
RightsNowItem
rightsNowItem
=
popupList
.
get
(
0
);
RightsNowPopup
popup
=
new
RightsNowPopup
();
popup
.
setWechatUserId
(
wechatUserId
);
popup
.
setBookId
(
bookId
);
popup
.
setAdviserId
(
adviserId
);
popup
.
setChannelId
(
channelId
);
popup
.
setPopupType
(
popupType
);
popup
.
setServeId
(
rightsNowItem
.
getServeId
());
popup
.
setServeType
(
rightsNowItem
.
getServeType
());
courseClickCount
=
rightsNowPopupDao
.
getUserPopupClickCountByServe
(
popup
);
}
//有资源且未点击
if
(!
ListUtils
.
isEmpty
(
popupList
)
&&
courseClickCount
<=
0
){
popState
=
true
;
}
popupResourceInfoDTO
.
setPopupState
(
popState
);
popupResourceInfoDTO
.
setPopupList
(
popupList
);
popupResourceInfoDTO
.
setPopupType
(
popupType
);
return
popupResourceInfoDTO
;
}
/**
* 要弹出的品牌方资源-线上网课
* @author:zhuyajie
* @date:2020/9/17 14:46
* * @param null
*/
private
List
<
RightsNowItem
>
getPopupCourseList
(
Long
rightsSettingId
,
Integer
readType
)
{
if
(
null
==
rightsSettingId
||
null
==
readType
)
{
return
new
ArrayList
<>();
}
String
key
=
RightsSettingConstant
.
COURSE_POPUP
;
String
field
=
rightsSettingId
+
"-"
+
readType
;
List
<
RightsNowItem
>
popupList
=
JedisClusterUtils
.
hgetJson2List
(
key
,
field
,
RightsNowItem
.
class
);
if
(!
ListUtils
.
isEmpty
(
popupList
))
{
return
popupList
;
}
popupList
=
new
ArrayList
<>();
RightsSetting
rightsSetting
=
rightsSettingDAO
.
selectByPrimaryKey
(
rightsSettingId
);
RightsSettingTitle
rightsSettingTitle
=
getRightsSettingTitle
(
rightsSetting
,
RightsNowItemTypeNew
.
ONLINE_COURSE
,
readType
);
if
(
null
!=
rightsSettingTitle
&&
null
!=
rightsSettingTitle
.
getOpenState
()
&&
rightsSettingTitle
.
getOpenState
())
{
List
<
RightsNowItem
>
resourceItems
=
rightsNowItemDao
.
getListByRightsSettingTitleId
(
rightsSettingTitle
.
getId
(),
Collections
.
singletonList
(
RightsNowItemTypeNew
.
ONLINE_COURSE
.
value
));
if
(!
ListUtils
.
isEmpty
(
resourceItems
))
{
fillProductAndApp
(
resourceItems
);
if
(!
ListUtils
.
isEmpty
(
resourceItems
))
{
popupList
.
add
(
resourceItems
.
get
(
0
));
}
}
}
if
(!
ListUtils
.
isEmpty
(
popupList
))
{
JedisClusterUtils
.
hset2Json
(
key
,
field
,
popupList
);
JedisClusterUtils
.
expire
(
key
,
10
);
}
return
popupList
;
}
/**
* 要弹出的答案应用
* @author:zhuyajie
* @date:2020/9/17 14:42
* * @param null
*/
private
List
<
RightsNowItem
>
getPopupAnswerList
(
Long
bookId
,
Long
channelId
,
Long
adviserId
,
Long
rightsSettingId
,
Integer
readType
)
{
List
<
RightsItemGroup
>
groups
=
rightsItemGroupDao
.
getListByRightSettingId
(
rightsSettingId
,
readType
);
if
(
ListUtils
.
isEmpty
(
groups
))
{
return
new
ArrayList
<>();
}
for
(
RightsItemGroup
group
:
groups
)
{
//原版资源开关未开启
if
(
group
.
getShowState
()
!=
null
&&
!
group
.
getShowState
()
&&
RightsItemGroupType
.
ORIGINAL
.
value
.
equals
(
group
.
getType
()))
{
return
new
ArrayList
<>();
}
}
String
key
=
RightsSettingConstant
.
ANSWER_POPUP
;
String
field
=
bookId
+
"-"
+
adviserId
+
"-"
+
channelId
;
List
<
RightsNowItem
>
answerList
=
JedisClusterUtils
.
hgetJson2List
(
key
,
field
,
RightsNowItem
.
class
);
if
(!
ListUtils
.
isEmpty
(
answerList
))
{
return
answerList
;
}
answerList
=
new
ArrayList
<>();
List
<
BookServeDTO
>
bookServeVOS
=
bookGroupBiz
.
getBookAndBookGroupServeIds
(
adviserId
,
bookId
,
channelId
);
List
<
RightsNowItem
>
items
=
new
ArrayList
<>();
if
(!
ListUtils
.
isEmpty
(
bookServeVOS
))
{
for
(
BookServeDTO
vo
:
bookServeVOS
)
{
RightsNowItem
item
=
new
RightsNowItem
();
item
.
setType
(
RightsNowItemTypeNew
.
SERVES
.
value
);
item
.
setServeId
(
vo
.
getServeId
());
item
.
setServeType
(
vo
.
getTypeCode
());
item
.
setLinkUrl
(
vo
.
getUrl
());
items
.
add
(
item
);
}
}
fillProductAndApp
(
items
);
answerList
=
items
.
stream
().
filter
(
s
->
s
.
getServeTypeCode
().
equals
(
AppTypeEnum
.
ANSWER
.
value
)).
collect
(
Collectors
.
toList
());
if
(!
ListUtils
.
isEmpty
(
answerList
)
&&
answerList
.
size
()
>
2
)
{
//最多取两个
answerList
=
answerList
.
subList
(
0
,
2
);
}
if
(!
ListUtils
.
isEmpty
(
answerList
))
{
JedisClusterUtils
.
hset2Json
(
key
,
field
,
answerList
);
JedisClusterUtils
.
expire
(
key
,
10
);
}
return
answerList
;
}
@Override
public
void
addPopupRecord
(
RightsNowPopup
rightsNowPopup
)
{
if
(
null
==
rightsNowPopup
.
getBookId
()
||
null
==
rightsNowPopup
.
getChannelId
()||
null
==
rightsNowPopup
.
getAdviserId
()){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少书刊信息参数"
);
}
if
(
null
==
rightsNowPopup
.
getRecordType
()){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少记录类型参数"
);
}
rightsNowPopupDao
.
insert
(
rightsNowPopup
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/rightsSetting/constants/RightsSettingConstant.java
View file @
51ebfe46
package
com
.
pcloud
.
book
.
rightsSetting
.
constants
;
package
com
.
pcloud
.
book
.
rightsSetting
.
constants
;
import
com.pcloud.common.constant.CacheConstant
;
import
com.pcloud.common.core.constant.ProductTypeConstant
;
import
com.pcloud.common.core.constant.ProductTypeConstant
;
import
com.pcloud.common.enums.AppTypeEnum
;
import
com.pcloud.common.enums.AppTypeEnum
;
...
@@ -39,4 +40,15 @@ public class RightsSettingConstant {
...
@@ -39,4 +40,15 @@ public class RightsSettingConstant {
ProductTypeConstant
.
THIRDPARTY
};
ProductTypeConstant
.
THIRDPARTY
};
public
static
final
Integer
MAX_ITEM_COUNT
=
3
;
public
static
final
Integer
MAX_ITEM_COUNT
=
3
;
/**
* 答案课程弹窗
*/
public
static
final
String
ANSWER_POPUP
=
CacheConstant
.
BOOK
+
"RIGHTS_SETTING:answer_popup"
;
/**
* 品牌方课程弹窗-线上网课
*/
public
static
final
String
COURSE_POPUP
=
CacheConstant
.
BOOK
+
"RIGHTS_SETTING:course_popup"
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/rightsSetting/dao/RightsNowPopupDao.java
0 → 100644
View file @
51ebfe46
package
com
.
pcloud
.
book
.
rightsSetting
.
dao
;
import
com.pcloud.book.rightsSetting.entity.RightsNowPopup
;
import
com.pcloud.common.core.dao.BaseDao
;
/**
* 权益也弹出记录(RightsNowPopup)表数据库访问层
*
* @author makejava
* @since 2020-09-16 10:30:07
*/
public
interface
RightsNowPopupDao
extends
BaseDao
<
RightsNowPopup
>{
/**
* 查看点击记录
* @author:zhuyajie
* @date:2020/9/16 11:03
* * @param null
*/
Integer
getUserPopupClickCount
(
Long
wechatUserId
,
Long
bookId
,
Long
channelId
,
Long
adviserId
,
Integer
popupType
);
/**
* 查资源是否点击
* @author:zhuyajie
* @date:2020/9/17 14:33
* * @param null
*/
Integer
getUserPopupClickCountByServe
(
RightsNowPopup
rightsNowPopup
);
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/rightsSetting/dao/impl/RightsNowPopupDaoImpl.java
0 → 100644
View file @
51ebfe46
package
com
.
pcloud
.
book
.
rightsSetting
.
dao
.
impl
;
import
com.pcloud.book.rightsSetting.dao.RightsNowPopupDao
;
import
com.pcloud.book.rightsSetting.entity.RightsNowPopup
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Component
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @ClassName com.pcloud.book.rightsSetting.dao.impl.RightsNowPopupDaoImpl
* @Author zhuyajie
* @Description 弹窗
* @Date 2020/9/16 10:32
* @Version 1.0
**/
@Component
public
class
RightsNowPopupDaoImpl
extends
BaseDaoImpl
<
RightsNowPopup
>
implements
RightsNowPopupDao
{
@Override
public
Integer
getUserPopupClickCount
(
Long
wechatUserId
,
Long
bookId
,
Long
channelId
,
Long
adviserId
,
Integer
popupType
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"wechatUserId"
,
wechatUserId
);
map
.
put
(
"bookId"
,
bookId
);
map
.
put
(
"channelId"
,
channelId
);
map
.
put
(
"adviserId"
,
adviserId
);
map
.
put
(
"popupType"
,
popupType
);
return
getSessionTemplate
().
selectOne
(
getStatement
(
"getUserPopupClickCount"
),
map
);
}
@Override
public
Integer
getUserPopupClickCountByServe
(
RightsNowPopup
rightsNowPopup
)
{
return
getSessionTemplate
().
selectOne
(
getStatement
(
"getUserPopupClickCountByServe"
),
rightsNowPopup
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/rightsSetting/dto/PopupResourceInfoDTO.java
0 → 100644
View file @
51ebfe46
package
com
.
pcloud
.
book
.
rightsSetting
.
dto
;
import
com.pcloud.book.rightsSetting.entity.RightsNowItem
;
import
com.pcloud.common.dto.BaseDto
;
import
java.util.List
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* @ClassName com.pcloud.book.rightsSetting.dto.PopupResourceInfoDTO
* @Author zhuyajie
* @Description 弹出资源信息
* @Date 2020/9/15 17:52
* @Version 1.0
**/
@Data
public
class
PopupResourceInfoDTO
extends
BaseDto
{
@ApiModelProperty
(
"是否弹出"
)
private
Boolean
popupState
;
@ApiModelProperty
(
"弹出的资源信息"
)
private
List
<
RightsNowItem
>
popupList
;
@ApiModelProperty
(
"弹出类型(1配套资料2线上网课服务)"
)
private
Integer
popupType
;
}
pcloud-service-book/src/main/java/com/pcloud/book/rightsSetting/entity/RightsNowPopup.java
0 → 100644
View file @
51ebfe46
package
com
.
pcloud
.
book
.
rightsSetting
.
entity
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.pcloud.common.entity.BaseEntity
;
import
java.util.Date
;
import
java.io.Serializable
;
import
lombok.Data
;
/**
* 权益也弹出记录(RightsNowPopup)实体类
*
* @author makejava
* @since 2020-09-16 10:30:07
*/
@Data
public
class
RightsNowPopup
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
-
29622792648706099L
;
/**
* 用户id
*/
private
Long
wechatUserId
;
/**
* 书刊id
*/
private
Long
bookId
;
/**
* 渠道id
*/
private
Long
channelId
;
/**
* 编辑id
*/
private
Long
adviserId
;
/**
* 权益id
*/
private
Long
rightsSettingId
;
/**
* 弹出类型(1配套资料2线上网课服务)
*/
private
Integer
popupType
;
/**
* 资源id
*/
private
Long
serveId
;
/**
* 资源类型APP/PRODUCT/NEWS
*/
private
String
serveType
;
/**
* 记录类型(1弹出2点击领取3关闭)
*/
private
Integer
recordType
;
/**
* 创建时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
createTime
;
/**
* 修改时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
updateTime
;
/**
* 阅读类型
*/
private
Integer
readType
;
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/rightsSetting/entity/RightsSettingTitle.java
View file @
51ebfe46
package
com
.
pcloud
.
book
.
rightsSetting
.
entity
;
package
com
.
pcloud
.
book
.
rightsSetting
.
entity
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.pcloud.common.entity.BaseEntity
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageBeanNew
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
...
@@ -11,7 +12,7 @@ import java.util.Date;
...
@@ -11,7 +12,7 @@ import java.util.Date;
import
java.util.List
;
import
java.util.List
;
@Data
@Data
public
class
RightsSettingTitle
implements
Serializable
{
public
class
RightsSettingTitle
extends
BaseEntity
{
private
Long
id
;
private
Long
id
;
private
Long
rightsSettingId
;
private
Long
rightsSettingId
;
...
...
pcloud-service-book/src/main/java/com/pcloud/book/rightsSetting/enums/RightsNowPopupRecordType.java
0 → 100644
View file @
51ebfe46
package
com
.
pcloud
.
book
.
rightsSetting
.
enums
;
public
enum
RightsNowPopupRecordType
{
/**
* 1弹出
*/
POPUP
(
1
),
/**
* 2点击领取
*/
RECEIVE
(
2
),
/**
* 3关闭
*/
CLOSE
(
3
);
public
final
Integer
value
;
RightsNowPopupRecordType
(
Integer
value
)
{
this
.
value
=
value
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/rightsSetting/enums/RightsNowPopupType.java
0 → 100644
View file @
51ebfe46
package
com
.
pcloud
.
book
.
rightsSetting
.
enums
;
public
enum
RightsNowPopupType
{
/**
* 1 配套资料-答案
*/
SERVES_ANSWER
(
1
),
/**
* 2线上网课
*/
ONLINE_COURSE
(
2
);
public
final
Integer
value
;
RightsNowPopupType
(
Integer
value
)
{
this
.
value
=
value
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/rightsSetting/facade/RightsSettingFacede.java
View file @
51ebfe46
...
@@ -5,6 +5,7 @@ import com.pcloud.book.rightsSetting.biz.RightsSettingBiz;
...
@@ -5,6 +5,7 @@ import com.pcloud.book.rightsSetting.biz.RightsSettingBiz;
import
com.pcloud.book.rightsSetting.dto.RightsSettingDto
;
import
com.pcloud.book.rightsSetting.dto.RightsSettingDto
;
import
com.pcloud.book.rightsSetting.dto.RightsSettingShowStateDTO
;
import
com.pcloud.book.rightsSetting.dto.RightsSettingShowStateDTO
;
import
com.pcloud.book.rightsSetting.entity.RightsNowPic
;
import
com.pcloud.book.rightsSetting.entity.RightsNowPic
;
import
com.pcloud.book.rightsSetting.entity.RightsNowPopup
;
import
com.pcloud.book.rightsSetting.entity.RightsSetting
;
import
com.pcloud.book.rightsSetting.entity.RightsSetting
;
import
com.pcloud.book.rightsSetting.entity.RightsSettingClassify
;
import
com.pcloud.book.rightsSetting.entity.RightsSettingClassify
;
import
com.pcloud.book.rightsSetting.entity.RightsSettingItem
;
import
com.pcloud.book.rightsSetting.entity.RightsSettingItem
;
...
@@ -326,4 +327,29 @@ public class RightsSettingFacede {
...
@@ -326,4 +327,29 @@ public class RightsSettingFacede {
rightsSettingBiz
.
batchUpdateShowState
(
rightsSettingShowStateDTO
);
rightsSettingBiz
.
batchUpdateShowState
(
rightsSettingShowStateDTO
);
return
new
ResponseDto
<>();
return
new
ResponseDto
<>();
}
}
@ApiOperation
(
"要弹出的资源"
)
@GetMapping
(
"getPopupResourceInfoByBook"
)
public
ResponseDto
<?>
getPopupResourceInfoByBook
(
@CookieValue
(
"userInfo"
)
String
userInfo
,
@RequestParam
(
"bookId"
)
Long
bookId
,
@RequestParam
(
"channelId"
)
Long
channelId
,
@RequestParam
(
"adviserId"
)
Long
adviserId
,
@RequestParam
(
value
=
"rightsSettingId"
,
required
=
false
)
Long
rightsSettingId
,
@RequestParam
(
value
=
"readType"
,
required
=
false
)
Integer
readType
){
Long
wechatUserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
return
new
ResponseDto
<>(
rightsSettingBiz
.
getPopupResourceInfoByBook
(
wechatUserId
,
bookId
,
channelId
,
adviserId
,
rightsSettingId
,
readType
));
}
@ApiOperation
(
"资源弹窗记录埋点"
)
@PostMapping
(
"addPopupRecord"
)
public
ResponseDto
<?>
addPopupRecord
(
@CookieValue
(
"userInfo"
)
String
userInfo
,
@RequestBody
@ApiParam
RightsNowPopup
rightsNowPopup
){
if
(
null
==
rightsNowPopup
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
Long
wechatUserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
rightsNowPopup
.
setWechatUserId
(
wechatUserId
);
rightsSettingBiz
.
addPopupRecord
(
rightsNowPopup
);
return
new
ResponseDto
<>();
}
}
}
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/rightssetting/RightsNowPopupDao.xml
0 → 100644
View file @
51ebfe46
<?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.rightsSetting.dao.impl.RightsNowPopupDaoImpl"
>
<resultMap
type=
"com.pcloud.book.rightsSetting.entity.RightsNowPopup"
id=
"RightsNowPopupMap"
>
<result
property=
"id"
column=
"id"
jdbcType=
"INTEGER"
/>
<result
property=
"wechatUserId"
column=
"wechat_user_id"
jdbcType=
"INTEGER"
/>
<result
property=
"bookId"
column=
"book_id"
jdbcType=
"INTEGER"
/>
<result
property=
"channelId"
column=
"channel_id"
jdbcType=
"INTEGER"
/>
<result
property=
"adviserId"
column=
"adviser_id"
jdbcType=
"INTEGER"
/>
<result
property=
"rightsSettingId"
column=
"rights_setting_id"
jdbcType=
"INTEGER"
/>
<result
property=
"popupType"
column=
"popup_type"
jdbcType=
"INTEGER"
/>
<result
property=
"serveId"
column=
"serve_id"
jdbcType=
"INTEGER"
/>
<result
property=
"serveType"
column=
"serve_type"
jdbcType=
"VARCHAR"
/>
<result
property=
"recordType"
column=
"record_type"
jdbcType=
"INTEGER"
/>
<result
property=
"createTime"
column=
"create_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"updateTime"
column=
"update_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"readType"
column=
"read_type"
jdbcType=
"INTEGER"
/>
</resultMap>
<!--新增所有列-->
<insert
id=
"insert"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
insert into book.rights_now_popup(wechat_user_id, book_id, channel_id, adviser_id, rights_setting_id, popup_type, serve_id, serve_type, record_type, create_time, update_time, read_type)
values (#{wechatUserId}, #{bookId}, #{channelId}, #{adviserId}, #{rightsSettingId}, #{popupType}, #{serveId}, #{serveType}, #{recordType}, now(), now(), #{readType})
</insert>
<select
id=
"getUserPopupClickCount"
parameterType=
"map"
resultType=
"integer"
>
SELECT COUNT(1) FROM book.rights_now_popup
WHERE wechat_user_id = #{wechatUserId}
and book_id = #{bookId}
and channel_id = #{channelId}
and adviser_id = #{adviserId}
and popup_type = #{popupType}
AND record_type IN (2, 3)
</select>
<select
id=
"getUserPopupClickCountByServe"
parameterType=
"com.pcloud.book.rightsSetting.entity.RightsNowPopup"
resultType=
"integer"
>
SELECT COUNT(1) FROM book.rights_now_popup
WHERE wechat_user_id = #{wechatUserId}
and book_id = #{bookId}
and channel_id = #{channelId}
and adviser_id = #{adviserId}
and popup_type = #{popupType}
AND record_type IN (2, 3)
and serve_id = #{serveId}
and serve_type = #{serveType}
</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