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
536594d4
Commit
536594d4
authored
Mar 11, 2019
by
gaopeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
平台端广告位管理
parent
a0a95455
Show whitespace changes
Inline
Side-by-side
Showing
44 changed files
with
4804 additions
and
131 deletions
+4804
-131
BookDto.java
...-book/src/main/java/com/pcloud/book/book/dto/BookDto.java
+108
-6
AdvertisingSpaceBiz.java
.../com/pcloud/book/advertising/biz/AdvertisingSpaceBiz.java
+171
-0
AdvertisingSpaceBizImpl.java
...ud/book/advertising/biz/impl/AdvertisingSpaceBizImpl.java
+586
-0
AdvertisingAdviserPermissionDao.java
...book/advertising/dao/AdvertisingAdviserPermissionDao.java
+27
-0
AdvertisingAgentPermissionDao.java
...d/book/advertising/dao/AdvertisingAgentPermissionDao.java
+19
-0
AdvertisingClickRecordDao.java
...cloud/book/advertising/dao/AdvertisingClickRecordDao.java
+12
-0
AdvertisingDistributionBookDao.java
.../book/advertising/dao/AdvertisingDistributionBookDao.java
+34
-0
AdvertisingExposureRecordDao.java
...ud/book/advertising/dao/AdvertisingExposureRecordDao.java
+12
-0
AdvertisingSpaceDao.java
.../com/pcloud/book/advertising/dao/AdvertisingSpaceDao.java
+20
-0
AdvertisingAdviserPermissionDaoImpl.java
...rtising/dao/impl/AdvertisingAdviserPermissionDaoImpl.java
+32
-0
AdvertisingAgentPermissionDaoImpl.java
...vertising/dao/impl/AdvertisingAgentPermissionDaoImpl.java
+23
-0
AdvertisingClickRecordDaoImpl.java
...k/advertising/dao/impl/AdvertisingClickRecordDaoImpl.java
+15
-0
AdvertisingDistributionBookDaoImpl.java
...ertising/dao/impl/AdvertisingDistributionBookDaoImpl.java
+40
-0
AdvertisingExposureRecordDaoImpl.java
...dvertising/dao/impl/AdvertisingExposureRecordDaoImpl.java
+15
-0
AdvertisingSpaceDaoImpl.java
...ud/book/advertising/dao/impl/AdvertisingSpaceDaoImpl.java
+21
-0
AdvertisingSpaceDTO.java
.../com/pcloud/book/advertising/dto/AdvertisingSpaceDTO.java
+262
-0
DateCountDTO.java
...in/java/com/pcloud/book/advertising/dto/DateCountDTO.java
+53
-0
DistributionAppDTO.java
...a/com/pcloud/book/advertising/dto/DistributionAppDTO.java
+159
-0
AdvertisingAdviserPermission.java
...book/advertising/entity/AdvertisingAdviserPermission.java
+137
-0
AdvertisingAgentPermission.java
...d/book/advertising/entity/AdvertisingAgentPermission.java
+94
-0
AdvertisingClickRecord.java
...cloud/book/advertising/entity/AdvertisingClickRecord.java
+205
-0
AdvertisingDistributionBook.java
.../book/advertising/entity/AdvertisingDistributionBook.java
+149
-0
AdvertisingExposureRecord.java
...ud/book/advertising/entity/AdvertisingExposureRecord.java
+205
-0
AdvertisingSpace.java
.../com/pcloud/book/advertising/entity/AdvertisingSpace.java
+193
-0
AdPositionEnum.java
...ava/com/pcloud/book/advertising/enums/AdPositionEnum.java
+46
-0
AdSourceEnum.java
.../java/com/pcloud/book/advertising/enums/AdSourceEnum.java
+27
-0
DistributionTypeEnum.java
...m/pcloud/book/advertising/enums/DistributionTypeEnum.java
+27
-0
AdvertisingSpaceFacade.java
...cloud/book/advertising/facade/AdvertisingSpaceFacade.java
+377
-0
AdvertisingSpaceFacadeImpl.java
...k/advertising/facade/impl/AdvertisingSpaceFacadeImpl.java
+350
-0
BookDao.java
...-book/src/main/java/com/pcloud/book/book/dao/BookDao.java
+8
-3
BookDaoImpl.java
.../main/java/com/pcloud/book/book/dao/impl/BookDaoImpl.java
+29
-26
BookSet.java
...-book/src/main/java/com/pcloud/book/book/set/BookSet.java
+93
-85
BookTools.java
...k/src/main/java/com/pcloud/book/book/tools/BookTools.java
+59
-7
AppConsr.java
.../src/main/java/com/pcloud/book/consumer/app/AppConsr.java
+24
-0
ProductConsr.java
.../java/com/pcloud/book/consumer/resource/ProductConsr.java
+24
-1
AgentConsr.java
...c/main/java/com/pcloud/book/consumer/user/AgentConsr.java
+24
-3
CommonUtils.java
...rc/main/java/com/pcloud/book/util/common/CommonUtils.java
+100
-0
AdvertisingAdviserPermissionMapper.xml
...mapper/advertising/AdvertisingAdviserPermissionMapper.xml
+130
-0
AdvertisingAgentPermissionMapper.xml
...s/mapper/advertising/AdvertisingAgentPermissionMapper.xml
+66
-0
AdvertisingClickRecordMapper.xml
...urces/mapper/advertising/AdvertisingClickRecordMapper.xml
+125
-0
AdvertisingDistributionBookMapper.xml
.../mapper/advertising/AdvertisingDistributionBookMapper.xml
+129
-0
AdvertisingExposureRecordMapper.xml
...es/mapper/advertising/AdvertisingExposureRecordMapper.xml
+164
-0
AdvertisingSpaceMapper.xml
...n/resources/mapper/advertising/AdvertisingSpaceMapper.xml
+180
-0
Book.Mapper.xml
...rvice-book/src/main/resources/mapper/book/Book.Mapper.xml
+230
-0
No files found.
pcloud-facade-book/src/main/java/com/pcloud/book/book/dto/BookDto.java
View file @
536594d4
...
...
@@ -3,13 +3,12 @@
*/
package
com
.
pcloud
.
book
.
book
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.pcloud.common.dto.BaseDto
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.List
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.pcloud.common.dto.BaseDto
;
import
io.swagger.annotations.ApiModelProperty
;
/**
* @描述:书籍实体DTO
...
...
@@ -401,6 +400,42 @@ public class BookDto extends BaseDto {
@ApiModelProperty
(
"图书状态"
)
private
Integer
bookStatus
;
/**
* 是否开启广告位权限
*/
private
Boolean
isOpen
;
/**
* 出版ID
*/
private
Long
agentId
;
/**
* 出版社名称
*/
private
String
agentName
;
/**
* 投放时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
distributionTime
;
/**
* 曝光量
*/
private
Long
exposureNum
;
/**
* 点击量
*/
private
Long
clickNum
;
/**
* 公众号名称
*/
private
String
officialAccountsName
;
public
String
getQrRemark
()
{
return
qrRemark
;
}
...
...
@@ -441,9 +476,13 @@ public class BookDto extends BaseDto {
this
.
location
=
location
;
}
public
String
getTransferor
()
{
return
transferor
;
}
public
String
getTransferor
()
{
return
transferor
;
}
public
void
setTransferor
(
String
transferor
)
{
this
.
transferor
=
transferor
;
}
public
void
setTransferor
(
String
transferor
)
{
this
.
transferor
=
transferor
;
}
public
Long
getNoAuditNum
()
{
return
noAuditNum
;
...
...
@@ -1017,6 +1056,62 @@ public class BookDto extends BaseDto {
this
.
bookStatus
=
bookStatus
;
}
public
Boolean
getIsOpen
()
{
return
isOpen
;
}
public
void
setIsOpen
(
Boolean
isOpen
)
{
this
.
isOpen
=
isOpen
;
}
public
Long
getAgentId
()
{
return
agentId
;
}
public
void
setAgentId
(
Long
agentId
)
{
this
.
agentId
=
agentId
;
}
public
String
getAgentName
()
{
return
agentName
;
}
public
void
setAgentName
(
String
agentName
)
{
this
.
agentName
=
agentName
;
}
public
Date
getDistributionTime
()
{
return
distributionTime
;
}
public
void
setDistributionTime
(
Date
distributionTime
)
{
this
.
distributionTime
=
distributionTime
;
}
public
Long
getExposureNum
()
{
return
exposureNum
;
}
public
void
setExposureNum
(
Long
exposureNum
)
{
this
.
exposureNum
=
exposureNum
;
}
public
Long
getClickNum
()
{
return
clickNum
;
}
public
void
setClickNum
(
Long
clickNum
)
{
this
.
clickNum
=
clickNum
;
}
public
String
getOfficialAccountsName
()
{
return
officialAccountsName
;
}
public
void
setOfficialAccountsName
(
String
officialAccountsName
)
{
this
.
officialAccountsName
=
officialAccountsName
;
}
@Override
public
String
toString
()
{
return
"BookDto{"
+
...
...
@@ -1097,6 +1192,13 @@ public class BookDto extends BaseDto {
", sceneName='"
+
sceneName
+
'\''
+
", qrRemark='"
+
qrRemark
+
'\''
+
", bookStatus="
+
bookStatus
+
", isOpen="
+
isOpen
+
", agentId="
+
agentId
+
", agentName='"
+
agentName
+
'\''
+
", distributionTime="
+
distributionTime
+
", exposureNum="
+
exposureNum
+
", clickNum="
+
clickNum
+
", officialAccountsName='"
+
officialAccountsName
+
'\''
+
'}'
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/advertising/biz/AdvertisingSpaceBiz.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
biz
;
import
java.util.List
;
import
java.util.Map
;
import
com.pcloud.book.advertising.dto.AdvertisingSpaceDTO
;
import
com.pcloud.book.advertising.entity.AdvertisingAdviserPermission
;
import
com.pcloud.book.advertising.entity.AdvertisingAgentPermission
;
import
com.pcloud.book.advertising.entity.AdvertisingClickRecord
;
import
com.pcloud.book.advertising.entity.AdvertisingDistributionBook
;
import
com.pcloud.book.advertising.entity.AdvertisingExposureRecord
;
import
com.pcloud.book.advertising.entity.AdvertisingSpace
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.page.PageBean
;
import
com.pcloud.common.page.PageParam
;
/**
* Description 广告位业务逻辑层接口
* @author PENG
* @date 2019/2/28
*/
public
interface
AdvertisingSpaceBiz
{
/**
* 创建广告位
* @param advertisingSpace 广告位实体
* @return
* @throws BizException
*/
Long
create
(
AdvertisingSpace
advertisingSpace
)
throws
BizException
;
/**
* 修改广告位
* @param advertisingSpace 广告位实体
* @return
* @throws BizException
*/
void
update
(
AdvertisingSpace
advertisingSpace
)
throws
BizException
;
/**
* 停用广告位
* @param advertisingSpace 广告位实体
* @throws BizException
*/
void
stop
(
AdvertisingSpace
advertisingSpace
)
throws
BizException
;
/**
* 删除广告位
* @param advertisingSpace 广告位实体
* @throws BizException
*/
void
delete
(
AdvertisingSpace
advertisingSpace
)
throws
BizException
;
/**
* 获取广告位信息
* @param adId 广告位ID
* @return
* @throws BizException
*/
AdvertisingSpaceDTO
get
(
Long
adId
)
throws
BizException
;
/**
* 投放书刊
* @param book 广告位书刊实体
* @return
* @throws BizException
*/
void
distributeBook
(
AdvertisingDistributionBook
book
)
throws
BizException
;
/**
* 获取出版社书刊权限
* @param agentId 出版社ID
* @return
* @throws BizException
*/
Boolean
getAgentPermission
(
Long
agentId
)
throws
BizException
;
/**
* 设置出版社书刊权限
* @param agentPermission 广告位出版权限实体
* @throws BizException
*/
void
setAgentPermission
(
AdvertisingAgentPermission
agentPermission
)
throws
BizException
;
/**
* 设置编辑书刊权限
* @param adviserPermission 广告位编辑权限实体
* @throws BizException
*/
void
setAdviserPermission
(
AdvertisingAdviserPermission
adviserPermission
)
throws
BizException
;
/**
* 编辑端获取书刊列表
* @param paramMap 参数Map
* @param pageParam 分页参数
* @param adviserId 编辑ID
* @return
* @throws BizException
*/
PageBean
listBook4Adviser
(
Map
<
String
,
Object
>
paramMap
,
PageParam
pageParam
,
Long
adviserId
)
throws
BizException
;
/**
* 平台端获取某编辑书刊列表
* @param paramMap 参数Map
* @param pageParam 分页参数
* @param adviserId 编辑ID
* @return
* @throws BizException
*/
PageBean
listBook4Platform
(
Map
<
String
,
Object
>
paramMap
,
PageParam
pageParam
,
Long
adviserId
)
throws
BizException
;
/**
* 获取广告位投放书刊列表
* @param adId 广告位ID
* @param name 书刊名称
* @param pageParam 分页参数
* @return
* @throws BizException
*/
PageBean
distributionBookList
(
Long
adId
,
String
name
,
PageParam
pageParam
)
throws
BizException
;
/**
* 获取广告位投放作品/应用数据统计
* @param adId 广告位ID
* @param pageParam 分页参数
* @return
* @throws BizException
*/
PageBean
distributionAppStatics
(
Long
adId
,
PageParam
pageParam
)
throws
BizException
;
/**
* 获取广告位投放时间统计
* @param adId 广告位ID
* @param day 天数
* @return
* @throws BizException
*/
List
<
Object
>
distributionDateStatics
(
Long
adId
,
Integer
day
)
throws
BizException
;
/**
* 获取广告位列表
* @param name 名称
* @param pageParam 分页参数
* @return
* @throws BizException
*/
PageBean
list
(
String
name
,
PageParam
pageParam
)
throws
BizException
;
/**
* 客户端获取书刊配置的广告位信息
* @param sceneId 二维码ID
* @param adviserId 编辑ID
* @param channelId 运营ID
* @return
* @throws BizException
*/
AdvertisingSpaceDTO
get4Wechat
(
Long
sceneId
,
Long
adviserId
,
Long
channelId
)
throws
BizException
;
/**
* 曝光量埋点
* @param advertisingExposureRecord 广告位曝光实体
* @throws BizException
*/
void
addExposureTrack
(
AdvertisingExposureRecord
advertisingExposureRecord
)
throws
BizException
;
/**
* 点击量埋点
* @param advertisingClickRecord 广告位点击实体
* @throws BizException
*/
void
addClickTrack
(
AdvertisingClickRecord
advertisingClickRecord
)
throws
BizException
;
}
pcloud-service-book/src/main/java/com/pcloud/book/advertising/biz/impl/AdvertisingSpaceBizImpl.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
biz
.
impl
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
org.apache.commons.collections.MapUtils
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.transaction.annotation.Transactional
;
import
com.pcloud.appcenter.app.dto.AppDto
;
import
com.pcloud.book.advertising.biz.AdvertisingSpaceBiz
;
import
com.pcloud.book.advertising.dao.AdvertisingAdviserPermissionDao
;
import
com.pcloud.book.advertising.dao.AdvertisingAgentPermissionDao
;
import
com.pcloud.book.advertising.dao.AdvertisingClickRecordDao
;
import
com.pcloud.book.advertising.dao.AdvertisingDistributionBookDao
;
import
com.pcloud.book.advertising.dao.AdvertisingExposureRecordDao
;
import
com.pcloud.book.advertising.dao.AdvertisingSpaceDao
;
import
com.pcloud.book.advertising.dto.AdvertisingSpaceDTO
;
import
com.pcloud.book.advertising.dto.DistributionAppDTO
;
import
com.pcloud.book.advertising.entity.AdvertisingAdviserPermission
;
import
com.pcloud.book.advertising.entity.AdvertisingAgentPermission
;
import
com.pcloud.book.advertising.entity.AdvertisingClickRecord
;
import
com.pcloud.book.advertising.entity.AdvertisingDistributionBook
;
import
com.pcloud.book.advertising.entity.AdvertisingExposureRecord
;
import
com.pcloud.book.advertising.entity.AdvertisingSpace
;
import
com.pcloud.book.advertising.enums.AdPositionEnum
;
import
com.pcloud.book.advertising.enums.AdSourceEnum
;
import
com.pcloud.book.advertising.enums.DistributionTypeEnum
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.book.biz.BookBiz
;
import
com.pcloud.book.book.dao.BookDao
;
import
com.pcloud.book.book.dto.BookDto
;
import
com.pcloud.book.book.entity.BookAdviser
;
import
com.pcloud.book.book.set.BookSet
;
import
com.pcloud.book.consumer.app.AppConsr
;
import
com.pcloud.book.consumer.resource.ProductConsr
;
import
com.pcloud.book.consumer.user.AdviserConsr
;
import
com.pcloud.book.consumer.user.ChannelConsr
;
import
com.pcloud.book.util.common.CommonUtils
;
import
com.pcloud.channelcenter.qrcode.service.QrcodeSceneService
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.page.PageBean
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.utils.DateUtils
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.ResponseHandleUtil
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.resourcecenter.product.dto.Product4BookDTO
;
/**
* Description 广告位业务逻辑层接口实现类
* @author PENG
* @date 2019/2/28
*/
@Component
(
"advertisingSpaceBiz"
)
public
class
AdvertisingSpaceBizImpl
implements
AdvertisingSpaceBiz
{
@Autowired
private
AdvertisingSpaceDao
advertisingSpaceDao
;
@Autowired
private
AdviserConsr
adviserConsr
;
@Autowired
private
AdvertisingDistributionBookDao
advertisingDistributionBookDao
;
@Autowired
private
BookBiz
bookBiz
;
@Autowired
private
AdvertisingAgentPermissionDao
advertisingAgentPermissionDao
;
@Autowired
private
BookDao
bookDao
;
@Autowired
private
BookSet
bookSet
;
@Autowired
private
AdvertisingAdviserPermissionDao
advertisingAdviserPermissionDao
;
@Autowired
private
QrcodeSceneService
qrcodeSceneService
;
@Autowired
private
ChannelConsr
channelConsr
;
@Autowired
private
AdvertisingExposureRecordDao
advertisingExposureRecordDao
;
@Autowired
private
AdvertisingClickRecordDao
advertisingClickRecordDao
;
@Autowired
private
ProductConsr
productConsr
;
@Autowired
private
AppConsr
appConsr
;
/**
* 创建广告位
*/
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@ParamLog
(
"创建广告位"
)
public
Long
create
(
AdvertisingSpace
advertisingSpace
)
throws
BizException
{
if
(
null
==
advertisingSpace
.
getAdName
()
||
null
==
advertisingSpace
.
getAdPosition
()
||
null
==
advertisingSpace
.
getAdSource
()
||
null
==
advertisingSpace
.
getAdLink
())
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"参数有误!"
);
}
if
(!
AdPositionEnum
.
checkCodeExist
(
advertisingSpace
.
getAdPosition
()))
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"广告位置选择有误!"
);
}
if
(!
ArrayUtils
.
contains
(
AdSourceEnum
.
AD_SOURCE_GATHER
,
advertisingSpace
.
getAdSource
()))
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"广告来源选择有误!"
);
}
advertisingSpace
.
setDistributionType
(
DistributionTypeEnum
.
SIGN_BOOK
.
value
);
advertisingSpace
.
setIsOpen
(
true
);
advertisingSpaceDao
.
insert
(
advertisingSpace
);
return
advertisingSpace
.
getId
();
}
/**
* 修改广告位
*/
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@ParamLog
(
value
=
"修改广告位"
,
isAfterReturn
=
false
)
public
void
update
(
AdvertisingSpace
advertisingSpace
)
throws
BizException
{
if
(
null
==
advertisingSpace
.
getId
()
||
null
==
advertisingSpace
.
getAdName
()
||
null
==
advertisingSpace
.
getAdPosition
()
||
null
==
advertisingSpace
.
getAdSource
()
||
null
==
advertisingSpace
.
getAdLink
())
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"参数有误!"
);
}
if
(!
AdPositionEnum
.
checkCodeExist
(
advertisingSpace
.
getAdPosition
()))
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"广告位置选择有误!"
);
}
if
(!
ArrayUtils
.
contains
(
AdSourceEnum
.
AD_SOURCE_GATHER
,
advertisingSpace
.
getAdSource
()))
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"广告来源选择有误!"
);
}
AdvertisingSpace
space
=
advertisingSpaceDao
.
getById
(
advertisingSpace
.
getId
());
if
(
null
==
space
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"广告位不存在或已删除!"
);
}
advertisingSpaceDao
.
update
(
advertisingSpace
);
}
/**
* 停用广告位
*/
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@ParamLog
(
value
=
"停用广告位"
,
isAfterReturn
=
false
)
public
void
stop
(
AdvertisingSpace
advertisingSpace
)
throws
BizException
{
if
(
null
==
advertisingSpace
.
getId
())
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"参数有误!"
);
}
AdvertisingSpace
space
=
advertisingSpaceDao
.
getById
(
advertisingSpace
.
getId
());
if
(
null
==
space
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"广告位不存在或已删除!"
);
}
if
(!
space
.
getIsOpen
())
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"广告位已停用!"
);
}
advertisingSpace
.
setIsOpen
(
false
);
advertisingSpaceDao
.
update
(
advertisingSpace
);
}
/**
* 删除广告位
*/
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@ParamLog
(
value
=
"删除广告位"
,
isAfterReturn
=
false
)
public
void
delete
(
AdvertisingSpace
advertisingSpace
)
throws
BizException
{
if
(
null
==
advertisingSpace
.
getId
())
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"参数有误!"
);
}
AdvertisingSpace
space
=
advertisingSpaceDao
.
getById
(
advertisingSpace
.
getId
());
if
(
null
==
space
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"广告位不存在或已删除!"
);
}
if
(
DistributionTypeEnum
.
NO_SIGN_BOOK
.
value
.
equals
(
space
.
getDistributionType
()))
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"广告位不能删除!"
);
}
else
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"adId"
,
advertisingSpace
.
getId
());
Boolean
hasBook
=
(
Boolean
)
advertisingDistributionBookDao
.
getBy
(
paramMap
,
"checkAdSpaceHasBook"
);
if
(
null
!=
hasBook
&&
hasBook
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"广告位不能删除!"
);
}
}
advertisingSpaceDao
.
deleteById
(
advertisingSpace
.
getId
());
}
/**
* 获取广告位信息
*/
@Override
@ParamLog
(
value
=
"获取广告位信息"
)
public
AdvertisingSpaceDTO
get
(
Long
adId
)
throws
BizException
{
return
advertisingSpaceDao
.
getDTOById
(
adId
);
}
/**
* 投放书刊
*/
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@ParamLog
(
value
=
"投放书刊"
,
isAfterReturn
=
false
)
public
void
distributeBook
(
AdvertisingDistributionBook
book
)
throws
BizException
{
if
(
null
==
book
.
getAdId
()
||
null
==
book
.
getDistributionType
()
||
!
ArrayUtils
.
contains
(
DistributionTypeEnum
.
DISTRIBUTION_TYPE_GATHER
,
book
.
getDistributionType
())
||
(
DistributionTypeEnum
.
SIGN_BOOK
.
value
.
equals
(
book
.
getDistributionType
())
&&
(
ListUtils
.
isEmpty
(
book
.
getBooks
())
||
null
==
book
.
getAdviserId
())))
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"参数有误!"
);
}
if
(
DistributionTypeEnum
.
NO_SIGN_BOOK
.
value
.
equals
(
book
.
getDistributionType
()))
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"adId"
,
book
.
getAdId
());
AdvertisingSpaceDTO
spaceDTO
=
(
AdvertisingSpaceDTO
)
advertisingSpaceDao
.
getBy
(
paramMap
,
"getNoSignBookAd"
);
if
(
null
!=
spaceDTO
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"只能创建一个不指定书刊的广告位!"
);
}
}
AdvertisingSpace
space
=
new
AdvertisingSpace
();
space
.
setId
(
book
.
getAdId
());
space
.
setDistributionType
(
book
.
getDistributionType
());
advertisingSpaceDao
.
update
(
space
);
if
(
DistributionTypeEnum
.
SIGN_BOOK
.
value
.
equals
(
book
.
getDistributionType
()))
{
boolean
paramError
=
book
.
getBooks
().
stream
().
anyMatch
(
bookAdviser
->
null
==
bookAdviser
.
getBookId
()
||
null
==
bookAdviser
.
getChannelId
());
if
(
paramError
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"参数有误!"
);
}
List
<
Long
>
bookIds
=
book
.
getBooks
().
stream
().
map
(
BookAdviser:
:
getBookId
).
collect
(
Collectors
.
toList
());
List
<
Long
>
existIds
=
advertisingDistributionBookDao
.
checkBookIdExist
(
bookIds
);
if
(!
ListUtils
.
isEmpty
(
existIds
))
{
Long
bookId
=
existIds
.
get
(
0
);
BookDto
bookDto
=
bookBiz
.
getBaseById
(
bookId
);
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
StringUtil
.
addBracket
(
bookDto
.
getBookName
())
+
"等"
+
existIds
.
size
()
+
"本书已投放广告位!"
);
}
List
<
AdvertisingDistributionBook
>
list
=
new
ArrayList
<>();
Long
agentId
=
adviserConsr
.
getAgentIdByAdviser
(
book
.
getAdviserId
());
for
(
BookAdviser
bookAdviser
:
book
.
getBooks
())
{
AdvertisingDistributionBook
distributionBook
=
new
AdvertisingDistributionBook
();
distributionBook
.
setAdId
(
book
.
getAdId
());
distributionBook
.
setBookId
(
bookAdviser
.
getBookId
());
distributionBook
.
setChannelId
(
bookAdviser
.
getChannelId
());
distributionBook
.
setAdviserId
(
book
.
getAdviserId
());
distributionBook
.
setAgentId
(
agentId
);
list
.
add
(
distributionBook
);
}
advertisingDistributionBookDao
.
batchInsert
(
list
);
}
}
/**
* 获取出版社书刊权限
*/
@Override
@ParamLog
(
"获取出版社书刊权限"
)
public
Boolean
getAgentPermission
(
Long
agentId
)
throws
BizException
{
AdvertisingAgentPermission
permission
=
advertisingAgentPermissionDao
.
getByAgentId
(
agentId
);
return
null
==
permission
?
true
:
permission
.
getIsOpen
();
}
/**
* 设置出版社书刊权限
*/
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@ParamLog
(
value
=
"设置出版社书刊权限"
,
isAfterReturn
=
false
)
public
void
setAgentPermission
(
AdvertisingAgentPermission
agentPermission
)
throws
BizException
{
if
(
null
==
agentPermission
.
getAgentId
()
||
null
==
agentPermission
.
getIsOpen
())
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"参数有误!"
);
}
AdvertisingAgentPermission
permission
=
advertisingAgentPermissionDao
.
getByAgentId
(
agentPermission
.
getAgentId
());
if
(
null
==
permission
)
{
advertisingAgentPermissionDao
.
insert
(
agentPermission
);
}
else
{
agentPermission
.
setId
(
permission
.
getId
());
advertisingAgentPermissionDao
.
update
(
agentPermission
);
}
}
/**
* 设置编辑书刊权限
*/
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@ParamLog
(
value
=
"设置编辑书刊权限"
,
isAfterReturn
=
false
)
public
void
setAdviserPermission
(
AdvertisingAdviserPermission
adviserPermission
)
throws
BizException
{
if
(
null
==
adviserPermission
.
getAdviserId
()
||
null
==
adviserPermission
.
getIsOpen
()
||
(!
adviserPermission
.
getIsBatchOperation
()
&&
(
null
==
adviserPermission
.
getBookId
()
||
null
==
adviserPermission
.
getChannelId
())))
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"参数有误!"
);
}
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"adviserId"
,
adviserPermission
.
getAdviserId
());
if
(!
adviserPermission
.
getIsBatchOperation
())
{
paramMap
.
put
(
"bookId"
,
adviserPermission
.
getBookId
());
paramMap
.
put
(
"channelId"
,
adviserPermission
.
getChannelId
());
AdvertisingAdviserPermission
permission
=
(
AdvertisingAdviserPermission
)
advertisingAdviserPermissionDao
.
getBy
(
paramMap
,
"getByAdviserId"
);
if
(
null
==
permission
)
{
advertisingAdviserPermissionDao
.
insert
(
adviserPermission
);
}
else
{
adviserPermission
.
setId
(
permission
.
getId
());
advertisingAdviserPermissionDao
.
update
(
adviserPermission
);
}
}
else
{
// 删除编辑所有数据
advertisingAdviserPermissionDao
.
deleteByAdviserId
(
adviserPermission
.
getAdviserId
());
List
<
BookDto
>
bookList
=
bookDao
.
listBookIdAndChannelId4Adviser
(
paramMap
);
if
(!
ListUtils
.
isEmpty
(
bookList
))
{
List
<
AdvertisingAdviserPermission
>
list
=
new
ArrayList
<>();
for
(
BookDto
bookDto
:
bookList
)
{
AdvertisingAdviserPermission
permission
=
new
AdvertisingAdviserPermission
();
permission
.
setAdviserId
(
adviserPermission
.
getAdviserId
());
permission
.
setIsOpen
(
adviserPermission
.
getIsOpen
());
permission
.
setBookId
(
bookDto
.
getBookId
());
permission
.
setChannelId
(
bookDto
.
getChannelId
());
list
.
add
(
permission
);
}
advertisingAdviserPermissionDao
.
batchInsert
(
list
);
}
}
}
/**
* 编辑端获取书刊列表
*/
@Override
public
PageBean
listBook4Adviser
(
Map
<
String
,
Object
>
paramMap
,
PageParam
pageParam
,
Long
adviserId
)
throws
BizException
{
Long
agentId
=
adviserConsr
.
getAgentIdByAdviser
(
adviserId
);
paramMap
.
put
(
"agentId"
,
agentId
);
PageBean
pageBean
=
bookDao
.
listPage
(
pageParam
,
paramMap
,
"listBook4Adviser"
);
if
(
pageBean
==
null
||
ListUtils
.
isEmpty
(
pageBean
.
getRecordList
()))
{
return
new
PageBean
(
0
,
0
,
new
ArrayList
<>());
}
// 填充渠道基础信息
bookSet
.
setChannelInfoList
(
pageBean
.
getRecordList
());
return
pageBean
;
}
/**
* 平台端获取某编辑书刊列表
*/
@Override
public
PageBean
listBook4Platform
(
Map
<
String
,
Object
>
paramMap
,
PageParam
pageParam
,
Long
adviserId
)
throws
BizException
{
Long
agentId
=
adviserConsr
.
getAgentIdByAdviser
(
adviserId
);
paramMap
.
put
(
"agentId"
,
agentId
);
PageBean
pageBean
=
bookDao
.
listPage
(
pageParam
,
paramMap
,
"listBook4Platform"
);
if
(
pageBean
==
null
||
ListUtils
.
isEmpty
(
pageBean
.
getRecordList
()))
{
return
new
PageBean
(
0
,
0
,
new
ArrayList
<>());
}
return
pageBean
;
}
/**
* 获取广告位投放书刊列表
*/
@Override
public
PageBean
distributionBookList
(
Long
adId
,
String
name
,
PageParam
pageParam
)
throws
BizException
{
AdvertisingSpace
space
=
advertisingSpaceDao
.
getById
(
adId
);
if
(
null
==
space
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"广告位不存在或已删除!"
);
}
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"adId"
,
adId
);
paramMap
.
put
(
"name"
,
StringUtil
.
isEmpty
(
name
)
?
null
:
name
);
PageBean
pageBean
;
if
(
DistributionTypeEnum
.
SIGN_BOOK
.
value
.
equals
(
space
.
getDistributionType
()))
{
pageBean
=
bookDao
.
listPage
(
pageParam
,
paramMap
,
"listBook4AdvertisingSpace"
);
}
else
{
pageBean
=
bookDao
.
listPage
(
pageParam
,
paramMap
,
"listBook4AdvertisingSpaceNoSignBook"
);
}
if
(
pageBean
==
null
||
ListUtils
.
isEmpty
(
pageBean
.
getRecordList
()))
{
return
new
PageBean
(
0
,
0
,
new
ArrayList
<>());
}
// 设置编辑名称
bookSet
.
setAdviserName4BookDto
(
pageBean
.
getRecordList
());
// 设置出版名称
bookSet
.
setAgentName4BookDto
(
pageBean
.
getRecordList
());
// 填充渠道公众号信息
bookSet
.
setChannelOfficialAccountInfoList
(
pageBean
.
getRecordList
());
for
(
Object
object
:
pageBean
.
getRecordList
())
{
BookDto
bookDto
=
(
BookDto
)
object
;
if
(!
DistributionTypeEnum
.
SIGN_BOOK
.
value
.
equals
(
space
.
getDistributionType
()))
{
bookDto
.
setDistributionTime
(
space
.
getCreateTime
());
}
// 曝光量
Long
exposureNum
=
getExposureNumByBookId
(
adId
,
bookDto
.
getBookId
(),
bookDto
.
getAdviserId
(),
bookDto
.
getChannelId
());
bookDto
.
setExposureNum
(
exposureNum
);
// 点击量
Long
clickNum
=
getClickNumByBookId
(
adId
,
bookDto
.
getBookId
(),
bookDto
.
getAdviserId
(),
bookDto
.
getChannelId
());
bookDto
.
setClickNum
(
clickNum
);
}
return
pageBean
;
}
/**
* 获取广告位投放作品/应用数据统计
*/
@Override
public
PageBean
distributionAppStatics
(
Long
adId
,
PageParam
pageParam
)
throws
BizException
{
AdvertisingSpace
space
=
advertisingSpaceDao
.
getById
(
adId
);
if
(
null
==
space
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"广告位不存在或已删除!"
);
}
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"adId"
,
adId
);
PageBean
pageBean
=
advertisingExposureRecordDao
.
listPage
(
pageParam
,
paramMap
,
"distributionAppStatics"
);
if
(
pageBean
==
null
||
ListUtils
.
isEmpty
(
pageBean
.
getRecordList
()))
{
return
new
PageBean
(
0
,
0
,
new
ArrayList
<>());
}
List
<
Long
>
productIds
=
new
ArrayList
<>();
List
<
Long
>
appIds
=
new
ArrayList
<>();
for
(
Object
object
:
pageBean
.
getRecordList
())
{
DistributionAppDTO
dto
=
(
DistributionAppDTO
)
object
;
if
(
"PRODUCT"
.
equals
(
dto
.
getFromType
()))
{
productIds
.
add
(
dto
.
getFromId
());
}
else
if
(
"APP"
.
equals
(
dto
.
getFromType
()))
{
appIds
.
add
(
dto
.
getFromId
());
}
}
Map
<
Long
,
Product4BookDTO
>
productMap
=
productConsr
.
getProBasesWithSceneByIds
(
productIds
);
Map
<
Long
,
AppDto
>
appMap
=
appConsr
.
getBaseByIds
(
appIds
);
for
(
Object
object
:
pageBean
.
getRecordList
())
{
DistributionAppDTO
dto
=
(
DistributionAppDTO
)
object
;
if
(
"PRODUCT"
.
equals
(
dto
.
getFromType
())
&&
!
MapUtils
.
isEmpty
(
productMap
)
&&
productMap
.
containsKey
(
dto
.
getFromId
()))
{
Product4BookDTO
product4BookDTO
=
productMap
.
get
(
dto
.
getFromId
());
dto
.
setTitle
(
product4BookDTO
.
getProductName
());
dto
.
setSceneCode
(
product4BookDTO
.
getProductSceneCode
());
dto
.
setSceneName
(
product4BookDTO
.
getProductSceneName
());
dto
.
setCreateUser
(
product4BookDTO
.
getMerchantId
());
dto
.
setCreateUserName
(
product4BookDTO
.
getMerchantName
());
dto
.
setCreateRole
(
product4BookDTO
.
getIsSuperMerchant
()
?
"超级作者"
:
"普通作者"
);
}
else
if
(
"APP"
.
equals
(
dto
.
getFromType
())
&&
!
MapUtils
.
isEmpty
(
appMap
)
&&
appMap
.
containsKey
(
dto
.
getFromId
()))
{
AppDto
appDto
=
appMap
.
get
(
dto
.
getFromId
());
dto
.
setTitle
(
appDto
.
getTitle
());
dto
.
setSceneCode
(
appDto
.
getSceneCode
());
dto
.
setSceneName
(
appDto
.
getSceneName
());
dto
.
setCreateUser
(
appDto
.
getCreatedUser
());
dto
.
setCreateUserName
(
appDto
.
getAdviserName
());
dto
.
setCreateRole
(
"编辑"
);
}
}
return
pageBean
;
}
/**
* 获取广告位投放时间统计
*/
@Override
@ParamLog
(
"获取广告位投放时间统计"
)
public
List
<
Object
>
distributionDateStatics
(
Long
adId
,
Integer
day
)
throws
BizException
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"adId"
,
adId
);
Date
startTime
=
DateUtils
.
addDay
(
new
Date
(),
-
day
);
Date
endTime
=
DateUtils
.
addDay
(
new
Date
(),
-
1
);
paramMap
.
put
(
"collectDates"
,
CommonUtils
.
collectLocalDates
(
startTime
,
endTime
));
return
advertisingExposureRecordDao
.
listBy
(
paramMap
,
"distributionDateStatics"
);
}
/**
* 获取书刊广告位曝光量
*/
private
Long
getExposureNumByBookId
(
Long
adId
,
Long
bookId
,
Long
adviserId
,
Long
channelId
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"adId"
,
adId
);
paramMap
.
put
(
"bookId"
,
bookId
);
paramMap
.
put
(
"adviserId"
,
adviserId
);
paramMap
.
put
(
"channelId"
,
channelId
);
Long
exposureNum
=
(
Long
)
advertisingExposureRecordDao
.
getBy
(
paramMap
,
"getExposureNum"
);
return
null
==
exposureNum
?
0L
:
exposureNum
;
}
/**
* 获取书刊广告位点击量
*/
private
Long
getClickNumByBookId
(
Long
adId
,
Long
bookId
,
Long
adviserId
,
Long
channelId
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"adId"
,
adId
);
paramMap
.
put
(
"bookId"
,
bookId
);
paramMap
.
put
(
"adviserId"
,
adviserId
);
paramMap
.
put
(
"channelId"
,
channelId
);
Long
clickNum
=
(
Long
)
advertisingClickRecordDao
.
getBy
(
paramMap
,
"getClickNum"
);
return
null
==
clickNum
?
0L
:
clickNum
;
}
/**
* 获取书刊广告位曝光量
*/
private
Long
getExposureNumByAdId
(
Long
adId
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"adId"
,
adId
);
Long
exposureNum
=
(
Long
)
advertisingExposureRecordDao
.
getBy
(
paramMap
,
"getExposureNum"
);
return
null
==
exposureNum
?
0L
:
exposureNum
;
}
/**
* 获取书刊广告位点击量
*/
private
Long
getClickNumByAdId
(
Long
adId
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"adId"
,
adId
);
Long
clickNum
=
(
Long
)
advertisingClickRecordDao
.
getBy
(
paramMap
,
"getClickNum"
);
return
null
==
clickNum
?
0L
:
clickNum
;
}
/**
* 获取广告位列表
*/
@Override
@ParamLog
(
"获取广告位列表"
)
public
PageBean
list
(
String
name
,
PageParam
pageParam
)
throws
BizException
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"name"
,
StringUtil
.
isEmpty
(
name
)
?
null
:
name
);
PageBean
pageBean
=
advertisingSpaceDao
.
listPage
(
pageParam
,
paramMap
,
"list"
);
if
(
pageBean
==
null
||
ListUtils
.
isEmpty
(
pageBean
.
getRecordList
()))
{
return
new
PageBean
(
0
,
0
,
new
ArrayList
<>());
}
// 填充投放书籍
for
(
Object
object
:
pageBean
.
getRecordList
())
{
AdvertisingSpaceDTO
spaceDTO
=
(
AdvertisingSpaceDTO
)
object
;
if
(
null
==
spaceDTO
)
{
continue
;
}
spaceDTO
.
setExposureNum
(
getExposureNumByAdId
(
spaceDTO
.
getId
()));
spaceDTO
.
setClickNum
(
getClickNumByAdId
(
spaceDTO
.
getId
()));
if
(
DistributionTypeEnum
.
SIGN_BOOK
.
value
.
equals
(
spaceDTO
.
getDistributionType
()))
{
List
<
AdvertisingDistributionBook
>
list
=
advertisingDistributionBookDao
.
getByAdId
(
spaceDTO
.
getId
());
if
(!
ListUtils
.
isEmpty
(
list
))
{
spaceDTO
.
setBookNum
(
list
.
size
());
Long
bookId
=
list
.
get
(
0
).
getBookId
();
BookDto
bookDto
=
bookBiz
.
getBaseById
(
bookId
);
spaceDTO
.
setBookName
(
StringUtil
.
addBracket
(
bookDto
.
getBookName
()));
}
else
{
spaceDTO
.
setBookNum
(
0
);
}
}
}
return
pageBean
;
}
/**
* 客户端获取书刊配置的广告位信息
*/
@Override
@ParamLog
(
"客户端获取书刊配置的广告位信息"
)
public
AdvertisingSpaceDTO
get4Wechat
(
Long
sceneId
,
Long
adviserId
,
Long
channelId
)
throws
BizException
{
Long
agentId
=
adviserConsr
.
getAgentIdByAdviser
(
adviserId
);
Long
bookId
=
ResponseHandleUtil
.
parseResponse
(
qrcodeSceneService
.
getBookId4SceneId
(
sceneId
),
Long
.
class
);
if
(
null
==
agentId
||
null
==
bookId
)
{
return
new
AdvertisingSpaceDTO
();
}
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"bookId"
,
bookId
);
paramMap
.
put
(
"adviserId"
,
adviserId
);
paramMap
.
put
(
"channelId"
,
channelId
);
paramMap
.
put
(
"agentId"
,
agentId
);
Boolean
bookIsOpen
=
(
Boolean
)
advertisingAdviserPermissionDao
.
getBy
(
paramMap
,
"checkBookOpen"
);
if
(
null
==
bookIsOpen
||
!
bookIsOpen
)
{
return
new
AdvertisingSpaceDTO
();
}
AdvertisingSpaceDTO
spaceDTO
=
(
AdvertisingSpaceDTO
)
advertisingSpaceDao
.
getBy
(
paramMap
,
"getDTOByBookId"
);
if
(
null
==
spaceDTO
)
{
spaceDTO
=
(
AdvertisingSpaceDTO
)
advertisingSpaceDao
.
getBy
(
paramMap
,
"getNoSignBookAd"
);
}
if
(
null
!=
spaceDTO
)
{
spaceDTO
.
setBookId
(
bookId
);
}
return
spaceDTO
;
}
/**
* 曝光量埋点
*/
@Override
@ParamLog
(
value
=
"曝光量埋点"
,
isAfterReturn
=
false
)
public
void
addExposureTrack
(
AdvertisingExposureRecord
advertisingExposureRecord
)
throws
BizException
{
Long
agentId
=
channelConsr
.
getParentId
(
advertisingExposureRecord
.
getChannelId
());
advertisingExposureRecord
.
setAgentId
(
agentId
);
advertisingExposureRecordDao
.
insert
(
advertisingExposureRecord
);
}
/**
* 点击量埋点
*/
@Override
@ParamLog
(
value
=
"点击量埋点"
,
isAfterReturn
=
false
)
public
void
addClickTrack
(
AdvertisingClickRecord
advertisingClickRecord
)
throws
BizException
{
Long
agentId
=
channelConsr
.
getParentId
(
advertisingClickRecord
.
getChannelId
());
advertisingClickRecord
.
setAgentId
(
agentId
);
advertisingClickRecordDao
.
insert
(
advertisingClickRecord
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/advertising/dao/AdvertisingAdviserPermissionDao.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
dao
;
import
java.util.List
;
import
com.pcloud.book.advertising.entity.AdvertisingAdviserPermission
;
import
com.pcloud.common.core.dao.BaseDao
;
/**
* Description 广告位编辑书刊权限数据访问层接口
* @author PENG
* @date 2019/2/28
*/
public
interface
AdvertisingAdviserPermissionDao
extends
BaseDao
<
AdvertisingAdviserPermission
>
{
/**
* 批量插入
* @param list 列表
* @return
*/
long
batchInsert
(
List
<
AdvertisingAdviserPermission
>
list
);
/**
* 根据编辑ID删除
* @param adviserId 编辑ID
* @return
*/
long
deleteByAdviserId
(
Long
adviserId
);
}
pcloud-service-book/src/main/java/com/pcloud/book/advertising/dao/AdvertisingAgentPermissionDao.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
dao
;
import
com.pcloud.book.advertising.entity.AdvertisingAgentPermission
;
import
com.pcloud.common.core.dao.BaseDao
;
/**
* Description 广告位出版书刊权限数据访问层接口
* @author PENG
* @date 2019/2/28
*/
public
interface
AdvertisingAgentPermissionDao
extends
BaseDao
<
AdvertisingAgentPermission
>
{
/**
* 获取出版社权限
* @param agentId 出版社ID
* @return
*/
AdvertisingAgentPermission
getByAgentId
(
Long
agentId
);
}
pcloud-service-book/src/main/java/com/pcloud/book/advertising/dao/AdvertisingClickRecordDao.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
dao
;
import
com.pcloud.book.advertising.entity.AdvertisingClickRecord
;
import
com.pcloud.common.core.dao.BaseDao
;
/**
* Description 广告位点击记录数据访问层接口
* @author PENG
* @date 2019/2/28
*/
public
interface
AdvertisingClickRecordDao
extends
BaseDao
<
AdvertisingClickRecord
>
{
}
pcloud-service-book/src/main/java/com/pcloud/book/advertising/dao/AdvertisingDistributionBookDao.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
dao
;
import
java.util.List
;
import
com.pcloud.book.advertising.entity.AdvertisingDistributionBook
;
import
com.pcloud.common.core.dao.BaseDao
;
/**
* Description 广告位投放书籍数据访问层接口
* @author PENG
* @date 2019/2/28
*/
public
interface
AdvertisingDistributionBookDao
extends
BaseDao
<
AdvertisingDistributionBook
>
{
/**
* 批量新增
* @param list 列表
* @return
*/
long
batchInsert
(
List
<
AdvertisingDistributionBook
>
list
);
/**
* 校验书刊是否已投放
* @param list 列表
* @return
*/
List
<
Long
>
checkBookIdExist
(
List
<
Long
>
list
);
/**
* 获取广告位投放的书刊列表
* @param adId 广告位ID
* @return
*/
List
<
AdvertisingDistributionBook
>
getByAdId
(
Long
adId
);
}
pcloud-service-book/src/main/java/com/pcloud/book/advertising/dao/AdvertisingExposureRecordDao.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
dao
;
import
com.pcloud.book.advertising.entity.AdvertisingExposureRecord
;
import
com.pcloud.common.core.dao.BaseDao
;
/**
* Description 广告位曝光记录数据访问层接口
* @author PENG
* @date 2019/2/28
*/
public
interface
AdvertisingExposureRecordDao
extends
BaseDao
<
AdvertisingExposureRecord
>
{
}
pcloud-service-book/src/main/java/com/pcloud/book/advertising/dao/AdvertisingSpaceDao.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
dao
;
import
com.pcloud.book.advertising.dto.AdvertisingSpaceDTO
;
import
com.pcloud.book.advertising.entity.AdvertisingSpace
;
import
com.pcloud.common.core.dao.BaseDao
;
/**
* Description 广告位数据访问层接口
* @author PENG
* @date 2019/2/28
*/
public
interface
AdvertisingSpaceDao
extends
BaseDao
<
AdvertisingSpace
>
{
/**
* 获取广告位信息
* @param adId 广告位ID
* @return
*/
AdvertisingSpaceDTO
getDTOById
(
Long
adId
);
}
pcloud-service-book/src/main/java/com/pcloud/book/advertising/dao/impl/AdvertisingAdviserPermissionDaoImpl.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
dao
.
impl
;
import
java.util.List
;
import
org.springframework.stereotype.Repository
;
import
com.pcloud.book.advertising.dao.AdvertisingAdviserPermissionDao
;
import
com.pcloud.book.advertising.entity.AdvertisingAdviserPermission
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
/**
* Description 广告位编辑书刊权限数据访问层接口实现类
* @author PENG
* @date 2019/2/28
*/
@Repository
(
"advertisingAdviserPermissionDao"
)
public
class
AdvertisingAdviserPermissionDaoImpl
extends
BaseDaoImpl
<
AdvertisingAdviserPermission
>
implements
AdvertisingAdviserPermissionDao
{
/**
* 批量插入
*/
@Override
public
long
batchInsert
(
List
<
AdvertisingAdviserPermission
>
list
)
{
return
super
.
getSqlSession
().
insert
(
getStatement
(
"batchInsert"
),
list
);
}
/**
* 根据编辑ID删除
*/
@Override
public
long
deleteByAdviserId
(
Long
adviserId
)
{
return
super
.
getSqlSession
().
delete
(
getStatement
(
"deleteByAdviserId"
),
adviserId
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/advertising/dao/impl/AdvertisingAgentPermissionDaoImpl.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
dao
.
impl
;
import
org.springframework.stereotype.Repository
;
import
com.pcloud.book.advertising.dao.AdvertisingAgentPermissionDao
;
import
com.pcloud.book.advertising.entity.AdvertisingAgentPermission
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
/**
* Description 广告位出版书刊权限数据访问层接口实现类
* @author PENG
* @date 2019/2/28
*/
@Repository
(
"advertisingAgentPermissionDao"
)
public
class
AdvertisingAgentPermissionDaoImpl
extends
BaseDaoImpl
<
AdvertisingAgentPermission
>
implements
AdvertisingAgentPermissionDao
{
/**
* 获取出版社权限
*/
@Override
public
AdvertisingAgentPermission
getByAgentId
(
Long
agentId
)
{
return
super
.
getSqlSession
().
selectOne
(
getStatement
(
"getByAgentId"
),
agentId
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/advertising/dao/impl/AdvertisingClickRecordDaoImpl.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
dao
.
impl
;
import
org.springframework.stereotype.Repository
;
import
com.pcloud.book.advertising.dao.AdvertisingClickRecordDao
;
import
com.pcloud.book.advertising.entity.AdvertisingClickRecord
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
/**
* Description 广告位点击记录数据访问层接口实现类
* @author PENG
* @date 2019/2/28
*/
@Repository
(
"advertisingClickRecordDao"
)
public
class
AdvertisingClickRecordDaoImpl
extends
BaseDaoImpl
<
AdvertisingClickRecord
>
implements
AdvertisingClickRecordDao
{
}
pcloud-service-book/src/main/java/com/pcloud/book/advertising/dao/impl/AdvertisingDistributionBookDaoImpl.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
dao
.
impl
;
import
java.util.List
;
import
org.springframework.stereotype.Repository
;
import
com.pcloud.book.advertising.dao.AdvertisingDistributionBookDao
;
import
com.pcloud.book.advertising.entity.AdvertisingDistributionBook
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
/**
* Description 广告位投放书籍数据访问层接口实现类
* @author PENG
* @date 2019/2/28
*/
@Repository
(
"advertisingDistributionBookDao"
)
public
class
AdvertisingDistributionBookDaoImpl
extends
BaseDaoImpl
<
AdvertisingDistributionBook
>
implements
AdvertisingDistributionBookDao
{
/**
* 批量新增
*/
@Override
public
long
batchInsert
(
List
<
AdvertisingDistributionBook
>
list
)
{
return
super
.
getSqlSession
().
insert
(
getStatement
(
"batchInsert"
),
list
);
}
/**
* 校验书刊是否已投放
*/
@Override
public
List
<
Long
>
checkBookIdExist
(
List
<
Long
>
list
)
{
return
super
.
getSqlSession
().
selectList
(
getStatement
(
"checkBookIdExist"
),
list
);
}
/**
* 获取广告位投放的书刊列表
*/
@Override
public
List
<
AdvertisingDistributionBook
>
getByAdId
(
Long
adId
)
{
return
super
.
getSqlSession
().
selectList
(
getStatement
(
"getByAdId"
),
adId
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/advertising/dao/impl/AdvertisingExposureRecordDaoImpl.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
dao
.
impl
;
import
org.springframework.stereotype.Repository
;
import
com.pcloud.book.advertising.dao.AdvertisingExposureRecordDao
;
import
com.pcloud.book.advertising.entity.AdvertisingExposureRecord
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
/**
* Description 广告位曝光记录数据访问层接口实现类
* @author PENG
* @date 2019/2/28
*/
@Repository
(
"advertisingExposureRecordDao"
)
public
class
AdvertisingExposureRecordDaoImpl
extends
BaseDaoImpl
<
AdvertisingExposureRecord
>
implements
AdvertisingExposureRecordDao
{
}
pcloud-service-book/src/main/java/com/pcloud/book/advertising/dao/impl/AdvertisingSpaceDaoImpl.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
dao
.
impl
;
import
org.springframework.stereotype.Repository
;
import
com.pcloud.book.advertising.dao.AdvertisingSpaceDao
;
import
com.pcloud.book.advertising.dto.AdvertisingSpaceDTO
;
import
com.pcloud.book.advertising.entity.AdvertisingSpace
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
/**
* Description 广告位数据访问层接口实现类
* @author PENG
* @date 2019/2/28
*/
@Repository
(
"advertisingSpaceDao"
)
public
class
AdvertisingSpaceDaoImpl
extends
BaseDaoImpl
<
AdvertisingSpace
>
implements
AdvertisingSpaceDao
{
@Override
public
AdvertisingSpaceDTO
getDTOById
(
Long
adId
)
{
return
super
.
getSqlSession
().
selectOne
(
getStatement
(
"getDTOById"
),
adId
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/advertising/dto/AdvertisingSpaceDTO.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
dto
;
import
java.util.Date
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.pcloud.common.dto.BaseDto
;
/**
* @author PENG
*/
public
class
AdvertisingSpaceDTO
extends
BaseDto
{
private
static
final
long
serialVersionUID
=
-
1774181367397964304L
;
/**
* advertising_space.id (唯一标识)
*/
private
Long
id
;
/**
* advertising_space.ad_name (广告位名称)
*/
private
String
adName
;
/**
* advertising_space.ad_position (广告位置)
*/
private
String
adPosition
;
/**
* advertising_space.ad_source (广告来源)
*/
private
String
adSource
;
/**
* advertising_space.ad_link (广告位链接)
*/
private
String
adLink
;
/**
* advertising_space.source_id (对方id)
*/
private
String
sourceId
;
/**
* advertising_space.ad_slogan (广告位文案)
*/
private
String
adSlogan
;
/**
* advertising_space.ad_pic (广告位图片)
*/
private
String
adPic
;
/**
* advertising_space.distribution_type (投放方式(0:指定书刊;1:不指定书刊))
*/
private
Integer
distributionType
;
/**
* advertising_space.exposure_num (曝光量)
*/
private
Long
exposureNum
;
/**
* advertising_space.click_num (点击量)
*/
private
Long
clickNum
;
/**
* advertising_space.create_time (创建时间)
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
createTime
;
/**
* advertising_space.update_time (修改时间)
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
updateTime
;
/**
* advertising_space.is_open (是否打开)
*/
private
Boolean
isOpen
;
/**
* 投放书刊数量
*/
private
Integer
bookNum
;
/**
* 投放书刊名称
*/
private
String
bookName
;
/**
* 书刊ID
*/
private
Long
bookId
;
public
Long
getId
()
{
return
id
;
}
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
public
String
getAdName
()
{
return
adName
;
}
public
void
setAdName
(
String
adName
)
{
this
.
adName
=
adName
;
}
public
String
getAdPosition
()
{
return
adPosition
;
}
public
void
setAdPosition
(
String
adPosition
)
{
this
.
adPosition
=
adPosition
;
}
public
String
getAdSource
()
{
return
adSource
;
}
public
void
setAdSource
(
String
adSource
)
{
this
.
adSource
=
adSource
;
}
public
String
getAdLink
()
{
return
adLink
;
}
public
void
setAdLink
(
String
adLink
)
{
this
.
adLink
=
adLink
;
}
public
String
getSourceId
()
{
return
sourceId
;
}
public
void
setSourceId
(
String
sourceId
)
{
this
.
sourceId
=
sourceId
;
}
public
String
getAdSlogan
()
{
return
adSlogan
;
}
public
void
setAdSlogan
(
String
adSlogan
)
{
this
.
adSlogan
=
adSlogan
;
}
public
String
getAdPic
()
{
return
adPic
;
}
public
void
setAdPic
(
String
adPic
)
{
this
.
adPic
=
adPic
;
}
public
Integer
getDistributionType
()
{
return
distributionType
;
}
public
void
setDistributionType
(
Integer
distributionType
)
{
this
.
distributionType
=
distributionType
;
}
public
Long
getExposureNum
()
{
return
exposureNum
;
}
public
void
setExposureNum
(
Long
exposureNum
)
{
this
.
exposureNum
=
exposureNum
;
}
public
Long
getClickNum
()
{
return
clickNum
;
}
public
void
setClickNum
(
Long
clickNum
)
{
this
.
clickNum
=
clickNum
;
}
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
public
Date
getCreateTime
()
{
return
createTime
;
}
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
public
Date
getUpdateTime
()
{
return
updateTime
;
}
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
public
Boolean
getIsOpen
()
{
return
isOpen
;
}
public
void
setIsOpen
(
Boolean
isOpen
)
{
this
.
isOpen
=
isOpen
;
}
public
Integer
getBookNum
()
{
return
bookNum
;
}
public
void
setBookNum
(
Integer
bookNum
)
{
this
.
bookNum
=
bookNum
;
}
public
String
getBookName
()
{
return
bookName
;
}
public
void
setBookName
(
String
bookName
)
{
this
.
bookName
=
bookName
;
}
public
Long
getBookId
()
{
return
bookId
;
}
public
void
setBookId
(
Long
bookId
)
{
this
.
bookId
=
bookId
;
}
@Override
public
String
toString
()
{
return
"AdvertisingSpaceDTO{"
+
"id="
+
id
+
", adName='"
+
adName
+
'\''
+
", adPosition='"
+
adPosition
+
'\''
+
", adSource='"
+
adSource
+
'\''
+
", adLink='"
+
adLink
+
'\''
+
", sourceId='"
+
sourceId
+
'\''
+
", adSlogan='"
+
adSlogan
+
'\''
+
", adPic='"
+
adPic
+
'\''
+
", distributionType="
+
distributionType
+
", exposureNum="
+
exposureNum
+
", clickNum="
+
clickNum
+
", createTime="
+
createTime
+
", updateTime="
+
updateTime
+
", isOpen="
+
isOpen
+
", bookNum="
+
bookNum
+
", bookName='"
+
bookName
+
'\''
+
", bookId="
+
bookId
+
"} "
+
super
.
toString
();
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/advertising/dto/DateCountDTO.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
dto
;
import
java.io.Serializable
;
/**
* @description 日期数量DTO
* @author PENG
* @date 2017年6月11日 下午2:08:30
* @version 1.0
*/
public
class
DateCountDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
4234798666223706295L
;
/**
* 日期
*/
private
String
date
;
/**
* 曝光量
*/
private
Long
exposureNum
;
/**
* 点击量
*/
private
Long
clickNum
;
public
String
getDate
()
{
return
date
;
}
public
void
setDate
(
String
date
)
{
this
.
date
=
date
;
}
public
Long
getExposureNum
()
{
return
exposureNum
;
}
public
void
setExposureNum
(
Long
exposureNum
)
{
this
.
exposureNum
=
exposureNum
;
}
public
Long
getClickNum
()
{
return
clickNum
;
}
public
void
setClickNum
(
Long
clickNum
)
{
this
.
clickNum
=
clickNum
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/advertising/dto/DistributionAppDTO.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
dto
;
import
com.pcloud.common.dto.BaseDto
;
/**
* Description 投放作品/应用DTO
* @author PENG
* @date 2019/3/6
*/
public
class
DistributionAppDTO
extends
BaseDto
{
private
static
final
long
serialVersionUID
=
5416187350592226379L
;
/**
* 来源
*/
private
String
fromType
;
/**
* 来源ID
*/
private
Long
fromId
;
/**
* 名称
*/
private
String
title
;
/**
* 场景编码
*/
private
String
sceneCode
;
/**
* 场景名称
*/
private
String
sceneName
;
/**
* 创建人
*/
private
Long
createUser
;
/**
* 创建人名称
*/
private
String
createUserName
;
/**
* 创建角色
*/
private
String
createRole
;
/**
* 曝光量
*/
private
Long
exposureNum
;
/**
* 点击量
*/
private
Long
clickNum
;
public
String
getFromType
()
{
return
fromType
;
}
public
void
setFromType
(
String
fromType
)
{
this
.
fromType
=
fromType
;
}
public
Long
getFromId
()
{
return
fromId
;
}
public
void
setFromId
(
Long
fromId
)
{
this
.
fromId
=
fromId
;
}
public
String
getTitle
()
{
return
title
;
}
public
void
setTitle
(
String
title
)
{
this
.
title
=
title
;
}
public
String
getSceneCode
()
{
return
sceneCode
;
}
public
void
setSceneCode
(
String
sceneCode
)
{
this
.
sceneCode
=
sceneCode
;
}
public
String
getSceneName
()
{
return
sceneName
;
}
public
void
setSceneName
(
String
sceneName
)
{
this
.
sceneName
=
sceneName
;
}
public
Long
getCreateUser
()
{
return
createUser
;
}
public
void
setCreateUser
(
Long
createUser
)
{
this
.
createUser
=
createUser
;
}
public
String
getCreateUserName
()
{
return
createUserName
;
}
public
void
setCreateUserName
(
String
createUserName
)
{
this
.
createUserName
=
createUserName
;
}
public
String
getCreateRole
()
{
return
createRole
;
}
public
void
setCreateRole
(
String
createRole
)
{
this
.
createRole
=
createRole
;
}
public
Long
getExposureNum
()
{
return
exposureNum
;
}
public
void
setExposureNum
(
Long
exposureNum
)
{
this
.
exposureNum
=
exposureNum
;
}
public
Long
getClickNum
()
{
return
clickNum
;
}
public
void
setClickNum
(
Long
clickNum
)
{
this
.
clickNum
=
clickNum
;
}
@Override
public
String
toString
()
{
return
"DistributionAppDTO{"
+
"fromType='"
+
fromType
+
'\''
+
", fromId="
+
fromId
+
", title='"
+
title
+
'\''
+
", sceneCode='"
+
sceneCode
+
'\''
+
", sceneName='"
+
sceneName
+
'\''
+
", createUser="
+
createUser
+
", createUserName='"
+
createUserName
+
'\''
+
", createRole='"
+
createRole
+
'\''
+
", exposureNum="
+
exposureNum
+
", clickNum="
+
clickNum
+
"} "
+
super
.
toString
();
}
}
pcloud-service-book/src/main/java/com/pcloud/book/advertising/entity/AdvertisingAdviserPermission.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
entity
;
import
java.util.Date
;
import
com.pcloud.common.entity.BaseEntity
;
/**
* @author PENG
*/
public
class
AdvertisingAdviserPermission
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
3864910610568657776L
;
/**
* advertising_adviser_permission.id (唯一标识)
*/
private
Long
id
;
/**
* advertising_adviser_permission.adviser_id (编辑ID)
*/
private
Long
adviserId
;
/**
* advertising_adviser_permission.book_id (书刊ID)
*/
private
Long
bookId
;
/**
* 运营ID
*/
private
Long
channelId
;
/**
* advertising_adviser_permission.is_open (是否打开)
*/
private
Boolean
isOpen
;
/**
* advertising_adviser_permission.create_time (创建时间)
*/
private
Date
createTime
;
/**
* advertising_adviser_permission.update_time (修改时间)
*/
private
Date
updateTime
;
/**
* 是否是批量操作
*/
private
Boolean
isBatchOperation
;
@Override
public
Long
getId
()
{
return
id
;
}
@Override
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
public
Long
getAdviserId
()
{
return
adviserId
;
}
public
void
setAdviserId
(
Long
adviserId
)
{
this
.
adviserId
=
adviserId
;
}
public
Long
getBookId
()
{
return
bookId
;
}
public
void
setBookId
(
Long
bookId
)
{
this
.
bookId
=
bookId
;
}
public
Boolean
getIsOpen
()
{
return
isOpen
;
}
public
void
setIsOpen
(
Boolean
isOpen
)
{
this
.
isOpen
=
isOpen
;
}
@Override
public
Date
getCreateTime
()
{
return
createTime
;
}
@Override
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
@Override
public
Date
getUpdateTime
()
{
return
updateTime
;
}
@Override
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
public
Long
getChannelId
()
{
return
channelId
;
}
public
void
setChannelId
(
Long
channelId
)
{
this
.
channelId
=
channelId
;
}
public
Boolean
getIsBatchOperation
()
{
return
isBatchOperation
;
}
public
void
setIsBatchOperation
(
Boolean
isBatchOperation
)
{
this
.
isBatchOperation
=
isBatchOperation
;
}
@Override
public
String
toString
()
{
return
"AdvertisingAdviserPermission{"
+
"id="
+
id
+
", adviserId="
+
adviserId
+
", bookId="
+
bookId
+
", channelId="
+
channelId
+
", isOpen="
+
isOpen
+
", isBatchOperation="
+
isBatchOperation
+
", createTime="
+
createTime
+
", updateTime="
+
updateTime
+
"} "
+
super
.
toString
();
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/advertising/entity/AdvertisingAgentPermission.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
entity
;
import
java.util.Date
;
import
com.pcloud.common.entity.BaseEntity
;
/**
* @author PENG
*/
public
class
AdvertisingAgentPermission
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
8108241715183544708L
;
/**
* advertising_agent_permission.id (唯一标识)
*/
private
Long
id
;
/**
* advertising_agent_permission.agent_id (出版社ID)
*/
private
Long
agentId
;
/**
* advertising_agent_permission.is_open (是否打开)
*/
private
Boolean
isOpen
;
/**
* advertising_agent_permission.create_time (创建时间)
*/
private
Date
createTime
;
/**
* advertising_agent_permission.update_time (修改时间)
*/
private
Date
updateTime
;
@Override
public
Long
getId
()
{
return
id
;
}
@Override
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
public
Long
getAgentId
()
{
return
agentId
;
}
public
void
setAgentId
(
Long
agentId
)
{
this
.
agentId
=
agentId
;
}
public
Boolean
getIsOpen
()
{
return
isOpen
;
}
public
void
setIsOpen
(
Boolean
isOpen
)
{
this
.
isOpen
=
isOpen
;
}
@Override
public
Date
getCreateTime
()
{
return
createTime
;
}
@Override
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
@Override
public
Date
getUpdateTime
()
{
return
updateTime
;
}
@Override
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
@Override
public
String
toString
()
{
return
"AdvertisingAgentPermission{"
+
"id="
+
id
+
", agentId="
+
agentId
+
", isOpen="
+
isOpen
+
", createTime="
+
createTime
+
", updateTime="
+
updateTime
+
"} "
+
super
.
toString
();
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/advertising/entity/AdvertisingClickRecord.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
entity
;
import
java.util.Date
;
import
com.pcloud.common.entity.BaseEntity
;
/**
* @author PENG
*/
public
class
AdvertisingClickRecord
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1236769572623516883L
;
/**
* advertising_click_record.id (唯一标识)
*/
private
Long
id
;
/**
* advertising_click_record.ad_id (广告位ID)
*/
private
Long
adId
;
/**
* advertising_click_record.book_id (书刊ID)
*/
private
Long
bookId
;
/**
* 二维码ID
*/
private
Long
sceneId
;
/**
* advertising_click_record.adviser_id (编辑ID)
*/
private
Long
adviserId
;
/**
* advertising_click_record.agent_id (出版社ID)
*/
private
Long
agentId
;
/**
* advertising_click_record.channel_id (运营ID)
*/
private
Long
channelId
;
/**
* advertising_click_record.official_account_id (公众号ID)
*/
private
Long
officialAccountId
;
/**
* advertising_click_record.from_type (来源类型)
*/
private
String
fromType
;
/**
* advertising_click_record.from_id (来源ID)
*/
private
Long
fromId
;
/**
* advertising_click_record.wechat_user_id (读者ID)
*/
private
Long
wechatUserId
;
/**
* advertising_click_record.create_time (创建时间)
*/
private
Date
createTime
;
/**
* advertising_click_record.create_day (创建日期)
*/
private
Date
createDay
;
@Override
public
Long
getId
()
{
return
id
;
}
@Override
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
public
Long
getAdId
()
{
return
adId
;
}
public
void
setAdId
(
Long
adId
)
{
this
.
adId
=
adId
;
}
public
Long
getBookId
()
{
return
bookId
;
}
public
void
setBookId
(
Long
bookId
)
{
this
.
bookId
=
bookId
;
}
public
Long
getAdviserId
()
{
return
adviserId
;
}
public
void
setAdviserId
(
Long
adviserId
)
{
this
.
adviserId
=
adviserId
;
}
public
Long
getAgentId
()
{
return
agentId
;
}
public
void
setAgentId
(
Long
agentId
)
{
this
.
agentId
=
agentId
;
}
public
Long
getChannelId
()
{
return
channelId
;
}
public
void
setChannelId
(
Long
channelId
)
{
this
.
channelId
=
channelId
;
}
public
Long
getOfficialAccountId
()
{
return
officialAccountId
;
}
public
void
setOfficialAccountId
(
Long
officialAccountId
)
{
this
.
officialAccountId
=
officialAccountId
;
}
public
String
getFromType
()
{
return
fromType
;
}
public
void
setFromType
(
String
fromType
)
{
this
.
fromType
=
fromType
;
}
public
Long
getFromId
()
{
return
fromId
;
}
public
void
setFromId
(
Long
fromId
)
{
this
.
fromId
=
fromId
;
}
public
Long
getWechatUserId
()
{
return
wechatUserId
;
}
public
void
setWechatUserId
(
Long
wechatUserId
)
{
this
.
wechatUserId
=
wechatUserId
;
}
@Override
public
Date
getCreateTime
()
{
return
createTime
;
}
@Override
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
public
Date
getCreateDay
()
{
return
createDay
;
}
public
void
setCreateDay
(
Date
createDay
)
{
this
.
createDay
=
createDay
;
}
public
Long
getSceneId
()
{
return
sceneId
;
}
public
void
setSceneId
(
Long
sceneId
)
{
this
.
sceneId
=
sceneId
;
}
@Override
public
String
toString
()
{
return
"AdvertisingClickRecord{"
+
"id="
+
id
+
", adId="
+
adId
+
", bookId="
+
bookId
+
", sceneId="
+
sceneId
+
", adviserId="
+
adviserId
+
", agentId="
+
agentId
+
", channelId="
+
channelId
+
", officialAccountId="
+
officialAccountId
+
", fromType='"
+
fromType
+
'\''
+
", fromId="
+
fromId
+
", wechatUserId="
+
wechatUserId
+
", createTime="
+
createTime
+
", createDay="
+
createDay
+
"} "
+
super
.
toString
();
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/advertising/entity/AdvertisingDistributionBook.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
entity
;
import
java.util.Date
;
import
java.util.List
;
import
com.pcloud.book.book.entity.BookAdviser
;
import
com.pcloud.common.entity.BaseEntity
;
/**
* @author PENG
*/
public
class
AdvertisingDistributionBook
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
-
7658299195342462203L
;
/**
* advertising_distribution_book.id (唯一标识)
*/
private
Long
id
;
/**
* advertising_distribution_book.ad_id (广告位ID)
*/
private
Long
adId
;
/**
* advertising_distribution_book.book_id (书刊ID)
*/
private
Long
bookId
;
/**
* advertising_distribution_book.adviser_id (编辑ID)
*/
private
Long
adviserId
;
/**
* advertising_distribution_book.agent_id (出版ID)
*/
private
Long
agentId
;
/**
* advertising_distribution_book.channel_id (运营ID)
*/
private
Long
channelId
;
/**
* advertising_distribution_book.distribution_time (投放时间)
*/
private
Date
distributionTime
;
/**
* 书刊ID列表
*/
private
List
<
BookAdviser
>
books
;
/**
* 投放方式(0:指定书刊;1:不指定书刊)
*/
private
Integer
distributionType
;
@Override
public
Long
getId
()
{
return
id
;
}
@Override
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
public
Long
getAdId
()
{
return
adId
;
}
public
void
setAdId
(
Long
adId
)
{
this
.
adId
=
adId
;
}
public
Long
getBookId
()
{
return
bookId
;
}
public
void
setBookId
(
Long
bookId
)
{
this
.
bookId
=
bookId
;
}
public
Long
getAdviserId
()
{
return
adviserId
;
}
public
void
setAdviserId
(
Long
adviserId
)
{
this
.
adviserId
=
adviserId
;
}
public
Long
getAgentId
()
{
return
agentId
;
}
public
void
setAgentId
(
Long
agentId
)
{
this
.
agentId
=
agentId
;
}
public
Long
getChannelId
()
{
return
channelId
;
}
public
void
setChannelId
(
Long
channelId
)
{
this
.
channelId
=
channelId
;
}
public
Date
getDistributionTime
()
{
return
distributionTime
;
}
public
void
setDistributionTime
(
Date
distributionTime
)
{
this
.
distributionTime
=
distributionTime
;
}
public
List
<
BookAdviser
>
getBooks
()
{
return
books
;
}
public
void
setBooks
(
List
<
BookAdviser
>
books
)
{
this
.
books
=
books
;
}
public
Integer
getDistributionType
()
{
return
distributionType
;
}
public
void
setDistributionType
(
Integer
distributionType
)
{
this
.
distributionType
=
distributionType
;
}
@Override
public
String
toString
()
{
return
"AdvertisingDistributionBook{"
+
"id="
+
id
+
", adId="
+
adId
+
", bookId="
+
bookId
+
", adviserId="
+
adviserId
+
", agentId="
+
agentId
+
", channelId="
+
channelId
+
", distributionTime="
+
distributionTime
+
", books="
+
books
+
", distributionType="
+
distributionType
+
"} "
+
super
.
toString
();
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/advertising/entity/AdvertisingExposureRecord.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
entity
;
import
java.util.Date
;
import
com.pcloud.common.entity.BaseEntity
;
/**
* @author PENG
*/
public
class
AdvertisingExposureRecord
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
-
2164449923488376086L
;
/**
* advertising_exposure_record.id (唯一标识)
*/
private
Long
id
;
/**
* advertising_exposure_record.ad_id (广告位ID)
*/
private
Long
adId
;
/**
* advertising_exposure_record.book_id (书刊ID)
*/
private
Long
bookId
;
/**
* 二维码ID
*/
private
Long
sceneId
;
/**
* advertising_exposure_record.adviser_id (编辑ID)
*/
private
Long
adviserId
;
/**
* advertising_exposure_record.agent_id (出版社ID)
*/
private
Long
agentId
;
/**
* advertising_exposure_record.channel_id (运营ID)
*/
private
Long
channelId
;
/**
* advertising_exposure_record.official_account_id (公众号ID)
*/
private
Long
officialAccountId
;
/**
* advertising_exposure_record.from_type (来源类型)
*/
private
String
fromType
;
/**
* advertising_exposure_record.from_id (来源ID)
*/
private
Long
fromId
;
/**
* advertising_exposure_record.wechat_user_id (读者ID)
*/
private
Long
wechatUserId
;
/**
* advertising_exposure_record.create_time (创建时间)
*/
private
Date
createTime
;
/**
* advertising_exposure_record.create_day (创建日期)
*/
private
Date
createDay
;
@Override
public
Long
getId
()
{
return
id
;
}
@Override
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
public
Long
getAdId
()
{
return
adId
;
}
public
void
setAdId
(
Long
adId
)
{
this
.
adId
=
adId
;
}
public
Long
getBookId
()
{
return
bookId
;
}
public
void
setBookId
(
Long
bookId
)
{
this
.
bookId
=
bookId
;
}
public
Long
getAdviserId
()
{
return
adviserId
;
}
public
void
setAdviserId
(
Long
adviserId
)
{
this
.
adviserId
=
adviserId
;
}
public
Long
getAgentId
()
{
return
agentId
;
}
public
void
setAgentId
(
Long
agentId
)
{
this
.
agentId
=
agentId
;
}
public
Long
getChannelId
()
{
return
channelId
;
}
public
void
setChannelId
(
Long
channelId
)
{
this
.
channelId
=
channelId
;
}
public
Long
getOfficialAccountId
()
{
return
officialAccountId
;
}
public
void
setOfficialAccountId
(
Long
officialAccountId
)
{
this
.
officialAccountId
=
officialAccountId
;
}
public
String
getFromType
()
{
return
fromType
;
}
public
void
setFromType
(
String
fromType
)
{
this
.
fromType
=
fromType
;
}
public
Long
getFromId
()
{
return
fromId
;
}
public
void
setFromId
(
Long
fromId
)
{
this
.
fromId
=
fromId
;
}
public
Long
getWechatUserId
()
{
return
wechatUserId
;
}
public
void
setWechatUserId
(
Long
wechatUserId
)
{
this
.
wechatUserId
=
wechatUserId
;
}
@Override
public
Date
getCreateTime
()
{
return
createTime
;
}
@Override
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
public
Date
getCreateDay
()
{
return
createDay
;
}
public
void
setCreateDay
(
Date
createDay
)
{
this
.
createDay
=
createDay
;
}
public
Long
getSceneId
()
{
return
sceneId
;
}
public
void
setSceneId
(
Long
sceneId
)
{
this
.
sceneId
=
sceneId
;
}
@Override
public
String
toString
()
{
return
"AdvertisingExposureRecord{"
+
"id="
+
id
+
", adId="
+
adId
+
", bookId="
+
bookId
+
", sceneId="
+
sceneId
+
", adviserId="
+
adviserId
+
", agentId="
+
agentId
+
", channelId="
+
channelId
+
", officialAccountId="
+
officialAccountId
+
", fromType='"
+
fromType
+
'\''
+
", fromId="
+
fromId
+
", wechatUserId="
+
wechatUserId
+
", createTime="
+
createTime
+
", createDay="
+
createDay
+
"} "
+
super
.
toString
();
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/advertising/entity/AdvertisingSpace.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
entity
;
import
java.util.Date
;
import
com.pcloud.common.entity.BaseEntity
;
/**
* @author PENG
*/
public
class
AdvertisingSpace
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
-
2436861846992974754L
;
/**
* advertising_space.id (唯一标识)
*/
private
Long
id
;
/**
* advertising_space.ad_name (广告位名称)
*/
private
String
adName
;
/**
* advertising_space.ad_position (广告位置)
*/
private
String
adPosition
;
/**
* advertising_space.ad_source (广告来源)
*/
private
String
adSource
;
/**
* advertising_space.ad_link (广告位链接)
*/
private
String
adLink
;
/**
* advertising_space.source_id (对方id)
*/
private
String
sourceId
;
/**
* advertising_space.ad_slogan (广告位文案)
*/
private
String
adSlogan
;
/**
* advertising_space.ad_pic (广告位图片)
*/
private
String
adPic
;
/**
* advertising_space.distribution_type (投放方式(0:指定书刊;1:不指定书刊))
*/
private
Integer
distributionType
;
/**
* advertising_space.create_time (创建时间)
*/
private
Date
createTime
;
/**
* advertising_space.update_time (修改时间)
*/
private
Date
updateTime
;
/**
* advertising_space.is_open (是否打开)
*/
private
Boolean
isOpen
;
@Override
public
Long
getId
()
{
return
id
;
}
@Override
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
public
String
getAdName
()
{
return
adName
;
}
public
void
setAdName
(
String
adName
)
{
this
.
adName
=
adName
;
}
public
String
getAdPosition
()
{
return
adPosition
;
}
public
void
setAdPosition
(
String
adPosition
)
{
this
.
adPosition
=
adPosition
;
}
public
String
getAdSource
()
{
return
adSource
;
}
public
void
setAdSource
(
String
adSource
)
{
this
.
adSource
=
adSource
;
}
public
String
getAdLink
()
{
return
adLink
;
}
public
void
setAdLink
(
String
adLink
)
{
this
.
adLink
=
adLink
;
}
public
String
getSourceId
()
{
return
sourceId
;
}
public
void
setSourceId
(
String
sourceId
)
{
this
.
sourceId
=
sourceId
;
}
public
String
getAdSlogan
()
{
return
adSlogan
;
}
public
void
setAdSlogan
(
String
adSlogan
)
{
this
.
adSlogan
=
adSlogan
;
}
public
String
getAdPic
()
{
return
adPic
;
}
public
void
setAdPic
(
String
adPic
)
{
this
.
adPic
=
adPic
;
}
public
Integer
getDistributionType
()
{
return
distributionType
;
}
public
void
setDistributionType
(
Integer
distributionType
)
{
this
.
distributionType
=
distributionType
;
}
@Override
public
Date
getCreateTime
()
{
return
createTime
;
}
@Override
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
@Override
public
Date
getUpdateTime
()
{
return
updateTime
;
}
@Override
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
public
Boolean
getIsOpen
()
{
return
isOpen
;
}
public
void
setIsOpen
(
Boolean
isOpen
)
{
this
.
isOpen
=
isOpen
;
}
@Override
public
String
toString
()
{
return
"AdvertisingSpace{"
+
"id="
+
id
+
", adName='"
+
adName
+
'\''
+
", adPosition='"
+
adPosition
+
'\''
+
", adSource='"
+
adSource
+
'\''
+
", adLink='"
+
adLink
+
'\''
+
", sourceId='"
+
sourceId
+
'\''
+
", adSlogan='"
+
adSlogan
+
'\''
+
", adPic='"
+
adPic
+
'\''
+
", distributionType="
+
distributionType
+
", createTime="
+
createTime
+
", updateTime="
+
updateTime
+
", isOpen="
+
isOpen
+
"} "
+
super
.
toString
();
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/advertising/enums/AdPositionEnum.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
enums
;
/**
* Description 广告位置枚举
* @author PENG
* @date 2019/3/1
*/
public
enum
AdPositionEnum
{
/**
* 应用或作品详情浮标
*/
DETAIL_PAGE
(
"DETAIL_PAGE"
,
"应用或作品详情浮标"
,
true
),
/**
* 扫码消息
*/
SCENE_MESSAGE
(
"SCENE_MESSAGE"
,
"扫码消息"
,
false
);
public
final
String
positionCode
;
public
final
String
positionName
;
public
final
Boolean
isOpen
;
AdPositionEnum
(
String
positionCode
,
String
positionName
,
Boolean
isOpen
)
{
this
.
positionCode
=
positionCode
;
this
.
positionName
=
positionName
;
this
.
isOpen
=
isOpen
;
}
/**
* 校验位置是否存在
*/
public
static
Boolean
checkCodeExist
(
String
positionCode
)
{
AdPositionEnum
[]
var1
=
values
();
int
var2
=
var1
.
length
;
for
(
int
var3
=
0
;
var3
<
var2
;
++
var3
)
{
AdPositionEnum
adPositionEnum
=
var1
[
var3
];
if
(
adPositionEnum
.
positionCode
.
equals
(
positionCode
)
&&
adPositionEnum
.
isOpen
)
{
return
true
;
}
}
return
false
;
}
public
static
final
String
[]
AD_POSITION_GATHER
=
{
DETAIL_PAGE
.
positionCode
,
SCENE_MESSAGE
.
positionCode
};
}
pcloud-service-book/src/main/java/com/pcloud/book/advertising/enums/AdSourceEnum.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
enums
;
/**
* Description 广告来源枚举
* @author PENG
* @date 2019/3/1
*/
public
enum
AdSourceEnum
{
/**
* 推啊
*/
TUIA
(
"TUIA"
),
/**
* 招行
*/
CMB
(
"CMB"
);
public
String
code
;
AdSourceEnum
(
String
code
)
{
this
.
code
=
code
;
}
public
static
final
String
[]
AD_SOURCE_GATHER
=
{
TUIA
.
code
,
CMB
.
code
};
}
pcloud-service-book/src/main/java/com/pcloud/book/advertising/enums/DistributionTypeEnum.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
enums
;
/**
* Description 广告投放方式枚举
* @author PENG
* @date 2019/3/1
*/
public
enum
DistributionTypeEnum
{
/**
* 指定书刊
*/
SIGN_BOOK
(
0
),
/**
* 不指定书刊
*/
NO_SIGN_BOOK
(
1
);
public
Integer
value
;
DistributionTypeEnum
(
Integer
value
)
{
this
.
value
=
value
;
}
public
static
final
Integer
[]
DISTRIBUTION_TYPE_GATHER
=
{
SIGN_BOOK
.
value
,
NO_SIGN_BOOK
.
value
};
}
pcloud-service-book/src/main/java/com/pcloud/book/advertising/facade/AdvertisingSpaceFacade.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
facade
;
import
org.codehaus.jackson.JsonParseException
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.web.bind.annotation.CookieValue
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestHeader
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
com.pcloud.book.advertising.entity.AdvertisingAdviserPermission
;
import
com.pcloud.book.advertising.entity.AdvertisingAgentPermission
;
import
com.pcloud.book.advertising.entity.AdvertisingClickRecord
;
import
com.pcloud.book.advertising.entity.AdvertisingDistributionBook
;
import
com.pcloud.book.advertising.entity.AdvertisingExposureRecord
;
import
com.pcloud.book.advertising.entity.AdvertisingSpace
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.permission.PermissionException
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
/**
* Description 广告位接口层接口
* @author PENG
* @date 2019/2/28
*/
@FeignClient
(
value
=
"pcloud-service-book"
,
qualifier
=
"advertisingSpaceFacadeCloud"
,
path
=
"book/v1.0/advertising"
)
@Api
(
description
=
"广告位接口层接口"
)
public
interface
AdvertisingSpaceFacade
{
/**
* 创建广告位
* @param token 用户身份信息
* @param advertisingSpace 广告位实体
* @return
* @throws PermissionException
* @throws BizException
* @throws JsonParseException
*/
@ApiOperation
(
value
=
"创建广告位"
,
httpMethod
=
"POST"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"用户身份信息"
,
required
=
false
,
dataType
=
"string"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"advertisingSpace"
,
value
=
"广告位实体"
,
required
=
false
,
dataType
=
"AdvertisingSpace"
,
paramType
=
"body"
)
})
@RequestMapping
(
value
=
"create"
,
method
=
RequestMethod
.
POST
)
ResponseDto
<?>
create
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
AdvertisingSpace
advertisingSpace
)
throws
PermissionException
,
BizException
,
JsonParseException
;
/**
* 修改广告位
* @param token 用户身份信息
* @param advertisingSpace 广告位实体
* @return
* @throws PermissionException
* @throws BizException
* @throws JsonParseException
*/
@ApiOperation
(
value
=
"修改广告位"
,
httpMethod
=
"POST"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"用户身份信息"
,
required
=
false
,
dataType
=
"string"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"advertisingSpace"
,
value
=
"广告位实体"
,
required
=
false
,
dataType
=
"AdvertisingSpace"
,
paramType
=
"body"
)
})
@RequestMapping
(
value
=
"update"
,
method
=
RequestMethod
.
POST
)
ResponseDto
<?>
update
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
AdvertisingSpace
advertisingSpace
)
throws
PermissionException
,
BizException
,
JsonParseException
;
/**
* 获取广告位信息
* @param token 用户身份信息
* @param adId 广告位ID
* @return
* @throws PermissionException
* @throws BizException
* @throws JsonParseException
*/
@ApiOperation
(
value
=
"修改广告位"
,
httpMethod
=
"GET"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"用户身份信息"
,
required
=
false
,
dataType
=
"string"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"adId"
,
value
=
"广告位ID"
,
required
=
false
,
dataType
=
"Long"
,
paramType
=
"query"
)
})
@RequestMapping
(
value
=
"get"
,
method
=
RequestMethod
.
GET
)
ResponseDto
<?>
get
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"adId"
,
required
=
false
)
Long
adId
)
throws
PermissionException
,
BizException
,
JsonParseException
;
/**
* 停用广告位
* @param token 用户身份信息
* @param advertisingSpace 广告位实体
* @return
* @throws PermissionException
* @throws BizException
* @throws JsonParseException
*/
@ApiOperation
(
value
=
"停用广告位"
,
httpMethod
=
"POST"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"用户身份信息"
,
required
=
false
,
dataType
=
"string"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"advertisingSpace"
,
value
=
"广告位实体"
,
required
=
false
,
dataType
=
"AdvertisingSpace"
,
paramType
=
"body"
)
})
@RequestMapping
(
value
=
"stop"
,
method
=
RequestMethod
.
POST
)
ResponseDto
<?>
stop
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
AdvertisingSpace
advertisingSpace
)
throws
PermissionException
,
BizException
,
JsonParseException
;
/**
* 删除广告位
* @param token 用户身份信息
* @param advertisingSpace 广告位实体
* @return
* @throws PermissionException
* @throws BizException
* @throws JsonParseException
*/
@ApiOperation
(
value
=
"删除广告位"
,
httpMethod
=
"POST"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"用户身份信息"
,
required
=
false
,
dataType
=
"string"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"advertisingSpace"
,
value
=
"广告位实体"
,
required
=
false
,
dataType
=
"AdvertisingSpace"
,
paramType
=
"body"
)
})
@RequestMapping
(
value
=
"delete"
,
method
=
RequestMethod
.
POST
)
ResponseDto
<?>
delete
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
AdvertisingSpace
advertisingSpace
)
throws
PermissionException
,
BizException
,
JsonParseException
;
/**
* 投放书刊
* @param token 用户身份信息
* @param advertisingDistributionBook 广告位书刊实体
* @return
* @throws PermissionException
* @throws BizException
* @throws JsonParseException
*/
@ApiOperation
(
value
=
"投放书刊"
,
httpMethod
=
"POST"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"用户身份信息"
,
required
=
false
,
dataType
=
"string"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"advertisingDistributionBook"
,
value
=
"广告位书刊实体"
,
required
=
false
,
dataType
=
"AdvertisingDistributionBook"
,
paramType
=
"body"
)
})
@RequestMapping
(
value
=
"distributeBook"
,
method
=
RequestMethod
.
POST
)
ResponseDto
<?>
distributeBook
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
AdvertisingDistributionBook
advertisingDistributionBook
)
throws
PermissionException
,
BizException
,
JsonParseException
;
/**
* 获取出版社书刊权限
* @param token 用户身份信息
* @return
* @throws PermissionException
* @throws BizException
* @throws JsonParseException
*/
@ApiOperation
(
value
=
"获取出版社书刊权限"
,
httpMethod
=
"GET"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"用户身份信息"
,
required
=
false
,
dataType
=
"string"
,
paramType
=
"header"
)
})
@RequestMapping
(
value
=
"getAgentPermission"
,
method
=
RequestMethod
.
GET
)
ResponseDto
<?>
getAgentPermission
(
@RequestHeader
(
"token"
)
String
token
)
throws
PermissionException
,
BizException
,
JsonParseException
;
/**
* 设置出版社书刊权限
* @param token 用户身份信息
* @param advertisingAgentPermission 广告位出版权限实体
* @return
* @throws PermissionException
* @throws BizException
* @throws JsonParseException
*/
@ApiOperation
(
value
=
"设置出版社书刊权限"
,
httpMethod
=
"POST"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"用户身份信息"
,
required
=
false
,
dataType
=
"string"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"advertisingAgentPermission"
,
value
=
"广告位出版权限实体"
,
required
=
false
,
dataType
=
"AdvertisingAgentPermission"
,
paramType
=
"body"
)
})
@RequestMapping
(
value
=
"setAgentPermission"
,
method
=
RequestMethod
.
POST
)
ResponseDto
<?>
setAgentPermission
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
AdvertisingAgentPermission
advertisingAgentPermission
)
throws
PermissionException
,
BizException
,
JsonParseException
;
/**
* 设置编辑书刊权限
* @param token 用户身份信息
* @param advertisingAdviserPermission 广告位编辑权限实体
* @return
* @throws PermissionException
* @throws BizException
* @throws JsonParseException
*/
@ApiOperation
(
value
=
"设置编辑书刊权限"
,
httpMethod
=
"POST"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"用户身份信息"
,
required
=
false
,
dataType
=
"string"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"advertisingAdviserPermission"
,
value
=
"广告位编辑权限实体"
,
required
=
false
,
dataType
=
"AdvertisingAdviserPermission"
,
paramType
=
"body"
)
})
@RequestMapping
(
value
=
"setAdviserPermission"
,
method
=
RequestMethod
.
POST
)
ResponseDto
<?>
setAdviserPermission
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
AdvertisingAdviserPermission
advertisingAdviserPermission
)
throws
PermissionException
,
BizException
,
JsonParseException
;
/**
* 编辑端获取书刊列表
* @param token 用户身份信息
* @param name 书籍名称
* @param currentPage 当前页
* @param numPerPage 每页条数
* @return
* @throws PermissionException
* @throws BizException
* @throws JsonParseException
*/
@ApiOperation
(
value
=
"编辑端获取书刊列表"
,
httpMethod
=
"GET"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"token"
,
dataType
=
"string"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"name"
,
value
=
"书籍名称"
,
dataType
=
"string"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"currentPage"
,
value
=
"当前页"
,
dataType
=
"int"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"numPerPage"
,
value
=
"每页条数"
,
dataType
=
"int"
,
paramType
=
"query"
)
})
@RequestMapping
(
value
=
"listBook4Adviser"
,
method
=
RequestMethod
.
GET
)
ResponseDto
<?>
listBook4Adviser
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"name"
,
required
=
false
)
String
name
,
@RequestParam
(
value
=
"currentPage"
,
required
=
false
)
Integer
currentPage
,
@RequestParam
(
value
=
"numPerPage"
,
required
=
false
)
Integer
numPerPage
)
throws
PermissionException
,
BizException
,
JsonParseException
;
/**
* 平台端获取某编辑书刊列表
* @param token 用户身份信息
* @param adviserId 编辑ID
* @param name 书籍名称
* @param currentPage 当前页
* @param numPerPage 每页条数
* @return
* @throws PermissionException
* @throws BizException
* @throws JsonParseException
*/
@ApiOperation
(
value
=
"平台端获取某编辑书刊列表"
,
httpMethod
=
"GET"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"token"
,
dataType
=
"string"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"adviserId"
,
value
=
"编辑ID"
,
dataType
=
"Long"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"name"
,
value
=
"书籍名称"
,
dataType
=
"string"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"currentPage"
,
value
=
"当前页"
,
dataType
=
"int"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"numPerPage"
,
value
=
"每页条数"
,
dataType
=
"int"
,
paramType
=
"query"
)
})
@RequestMapping
(
value
=
"listBook4Platform"
,
method
=
RequestMethod
.
GET
)
ResponseDto
<?>
listBook4Platform
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"adviserId"
,
required
=
false
)
Long
adviserId
,
@RequestParam
(
value
=
"name"
,
required
=
false
)
String
name
,
@RequestParam
(
value
=
"currentPage"
,
required
=
false
)
Integer
currentPage
,
@RequestParam
(
value
=
"numPerPage"
,
required
=
false
)
Integer
numPerPage
)
throws
PermissionException
,
BizException
,
JsonParseException
;
/**
* 获取广告位列表
* @param token 用户身份信息
* @param name 广告位名称
* @param currentPage 当前页
* @param numPerPage 每页条数
* @return
* @throws PermissionException
* @throws BizException
* @throws JsonParseException
*/
@ApiOperation
(
value
=
"获取广告位列表"
,
httpMethod
=
"GET"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"token"
,
dataType
=
"string"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"name"
,
value
=
"广告位名称"
,
dataType
=
"string"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"currentPage"
,
value
=
"当前页"
,
dataType
=
"int"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"numPerPage"
,
value
=
"每页条数"
,
dataType
=
"int"
,
paramType
=
"query"
)
})
@RequestMapping
(
value
=
"list"
,
method
=
RequestMethod
.
GET
)
ResponseDto
<?>
list
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"name"
,
required
=
false
)
String
name
,
@RequestParam
(
value
=
"currentPage"
,
required
=
false
)
Integer
currentPage
,
@RequestParam
(
value
=
"numPerPage"
,
required
=
false
)
Integer
numPerPage
)
throws
PermissionException
,
BizException
,
JsonParseException
;
/**
* 获取广告位投放书刊列表
* @param token 用户身份信息
* @param adId 广告位ID
* @param name 书刊名称
* @param currentPage 当前页
* @param numPerPage 每页条数
* @return
* @throws PermissionException
* @throws BizException
* @throws JsonParseException
*/
@ApiOperation
(
value
=
"获取广告位投放书刊列表"
,
httpMethod
=
"GET"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"token"
,
dataType
=
"string"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"adId"
,
value
=
"广告位ID"
,
dataType
=
"Long"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"name"
,
value
=
"书刊名称"
,
dataType
=
"string"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"currentPage"
,
value
=
"当前页"
,
dataType
=
"int"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"numPerPage"
,
value
=
"每页条数"
,
dataType
=
"int"
,
paramType
=
"query"
)
})
@RequestMapping
(
value
=
"distributionBookList"
,
method
=
RequestMethod
.
GET
)
ResponseDto
<?>
distributionBookList
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"adId"
,
required
=
false
)
Long
adId
,
@RequestParam
(
value
=
"name"
,
required
=
false
)
String
name
,
@RequestParam
(
value
=
"currentPage"
,
required
=
false
)
Integer
currentPage
,
@RequestParam
(
value
=
"numPerPage"
,
required
=
false
)
Integer
numPerPage
)
throws
PermissionException
,
BizException
,
JsonParseException
;
/**
* 获取广告位投放作品/应用数据统计
* @param token 用户身份信息
* @param adId 广告位ID
* @param currentPage 当前页
* @param numPerPage 每页条数
* @return
* @throws PermissionException
* @throws BizException
* @throws JsonParseException
*/
@ApiOperation
(
value
=
"获取广告位投放作品/应用数据统计"
,
httpMethod
=
"GET"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"token"
,
dataType
=
"string"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"adId"
,
value
=
"广告位ID"
,
dataType
=
"Long"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"currentPage"
,
value
=
"当前页"
,
dataType
=
"int"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"numPerPage"
,
value
=
"每页条数"
,
dataType
=
"int"
,
paramType
=
"query"
)
})
@RequestMapping
(
value
=
"distributionAppStatics"
,
method
=
RequestMethod
.
GET
)
ResponseDto
<?>
distributionAppStatics
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"adId"
,
required
=
false
)
Long
adId
,
@RequestParam
(
value
=
"currentPage"
,
required
=
false
)
Integer
currentPage
,
@RequestParam
(
value
=
"numPerPage"
,
required
=
false
)
Integer
numPerPage
)
throws
PermissionException
,
BizException
,
JsonParseException
;
/**
* 获取广告位投放时间统计
* @param token 用户身份信息
* @param adId 广告位ID
* @param day 天数
* @return
* @throws PermissionException
* @throws BizException
* @throws JsonParseException
*/
@ApiOperation
(
value
=
"获取广告位投放时间统计"
,
httpMethod
=
"GET"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"token"
,
value
=
"token"
,
dataType
=
"string"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"adId"
,
value
=
"广告位ID"
,
dataType
=
"Long"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"day"
,
value
=
"天数"
,
dataType
=
"Long"
,
paramType
=
"query"
)
})
@RequestMapping
(
value
=
"distributionDateStatics"
,
method
=
RequestMethod
.
GET
)
ResponseDto
<?>
distributionDateStatics
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"adId"
,
required
=
false
)
Long
adId
,
@RequestParam
(
value
=
"day"
,
required
=
false
)
Integer
day
)
throws
PermissionException
,
BizException
,
JsonParseException
;
/**
* 获取书刊配置的广告位信息
* @param userInfo 用户身份信息
* @return
* @throws PermissionException
* @throws BizException
* @throws JsonParseException
*/
@ApiOperation
(
value
=
"获取书刊配置的广告位信息"
,
httpMethod
=
"GET"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"userInfo"
,
value
=
"用户身份信息"
,
dataType
=
"string"
,
paramType
=
"header"
)
})
@RequestMapping
(
value
=
"get4Wechat"
,
method
=
RequestMethod
.
GET
)
ResponseDto
<?>
get4Wechat
(
@CookieValue
(
"userInfo"
)
String
userInfo
)
throws
PermissionException
,
BizException
,
JsonParseException
;
/**
* 曝光量埋点
* @param userInfo 用户身份信息
* @param advertisingExposureRecord 广告位曝光实体
* @return
* @throws PermissionException
* @throws BizException
* @throws JsonParseException
*/
@ApiOperation
(
value
=
"曝光量埋点"
,
httpMethod
=
"POST"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"userInfo"
,
value
=
"用户身份信息"
,
required
=
false
,
dataType
=
"string"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"advertisingExposureRecord"
,
value
=
"广告位曝光实体"
,
required
=
false
,
dataType
=
"AdvertisingExposureRecord"
,
paramType
=
"body"
)
})
@RequestMapping
(
value
=
"addExposureTrack"
,
method
=
RequestMethod
.
POST
)
ResponseDto
<?>
addExposureTrack
(
@CookieValue
(
"userInfo"
)
String
userInfo
,
@RequestBody
AdvertisingExposureRecord
advertisingExposureRecord
)
throws
PermissionException
,
BizException
,
JsonParseException
;
/**
* 点击量埋点
* @param userInfo 用户身份信息
* @param advertisingClickRecord 广告位点击实体
* @return
* @throws PermissionException
* @throws BizException
* @throws JsonParseException
*/
@ApiOperation
(
value
=
"点击量埋点"
,
httpMethod
=
"POST"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"userInfo"
,
value
=
"用户身份信息"
,
required
=
false
,
dataType
=
"string"
,
paramType
=
"header"
),
@ApiImplicitParam
(
name
=
"advertisingClickRecord"
,
value
=
"广告位点击实体"
,
required
=
false
,
dataType
=
"AdvertisingClickRecord"
,
paramType
=
"body"
)
})
@RequestMapping
(
value
=
"addClickTrack"
,
method
=
RequestMethod
.
POST
)
ResponseDto
<?>
addClickTrack
(
@CookieValue
(
"userInfo"
)
String
userInfo
,
@RequestBody
AdvertisingClickRecord
advertisingClickRecord
)
throws
PermissionException
,
BizException
,
JsonParseException
;
}
pcloud-service-book/src/main/java/com/pcloud/book/advertising/facade/impl/AdvertisingSpaceFacadeImpl.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
advertising
.
facade
.
impl
;
import
java.util.HashMap
;
import
java.util.Map
;
import
org.codehaus.jackson.JsonParseException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.CookieValue
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestHeader
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.pcloud.book.advertising.biz.AdvertisingSpaceBiz
;
import
com.pcloud.book.advertising.dto.AdvertisingSpaceDTO
;
import
com.pcloud.book.advertising.entity.AdvertisingAdviserPermission
;
import
com.pcloud.book.advertising.entity.AdvertisingAgentPermission
;
import
com.pcloud.book.advertising.entity.AdvertisingClickRecord
;
import
com.pcloud.book.advertising.entity.AdvertisingDistributionBook
;
import
com.pcloud.book.advertising.entity.AdvertisingExposureRecord
;
import
com.pcloud.book.advertising.entity.AdvertisingSpace
;
import
com.pcloud.book.advertising.facade.AdvertisingSpaceFacade
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.permission.PermissionException
;
import
com.pcloud.common.utils.SessionUtil
;
import
com.pcloud.common.utils.cookie.Cookie
;
import
com.pcloud.common.utils.string.StringUtil
;
/**
* Description 广告位接口层接口实现类
* @author PENG
* @date 2019/2/28
*/
@RestController
(
"advertisingSpaceFacade"
)
@RequestMapping
(
"/advertising"
)
public
class
AdvertisingSpaceFacadeImpl
implements
AdvertisingSpaceFacade
{
@Autowired
private
AdvertisingSpaceBiz
advertisingSpaceBiz
;
/**
* 创建广告位
*/
@Override
@RequestMapping
(
value
=
"create"
,
method
=
RequestMethod
.
POST
)
public
ResponseDto
<?>
create
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
AdvertisingSpace
advertisingSpace
)
throws
PermissionException
,
BizException
,
JsonParseException
{
if
(
null
==
advertisingSpace
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"参数有误!"
);
}
SessionUtil
.
getToken4Redis
(
token
);
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
result
.
put
(
"adId"
,
advertisingSpaceBiz
.
create
(
advertisingSpace
));
return
new
ResponseDto
<>(
result
);
}
/**
* 修改广告位
*/
@Override
@RequestMapping
(
value
=
"update"
,
method
=
RequestMethod
.
POST
)
public
ResponseDto
<?>
update
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
AdvertisingSpace
advertisingSpace
)
throws
PermissionException
,
BizException
,
JsonParseException
{
if
(
null
==
advertisingSpace
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"参数有误!"
);
}
SessionUtil
.
getToken4Redis
(
token
);
advertisingSpaceBiz
.
update
(
advertisingSpace
);
return
new
ResponseDto
<>();
}
/**
* 获取广告位信息
*/
@Override
@RequestMapping
(
value
=
"get"
,
method
=
RequestMethod
.
GET
)
public
ResponseDto
<?>
get
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"adId"
,
required
=
false
)
Long
adId
)
throws
PermissionException
,
BizException
,
JsonParseException
{
if
(
null
==
adId
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"参数有误!"
);
}
SessionUtil
.
getToken4Redis
(
token
);
return
new
ResponseDto
<>(
advertisingSpaceBiz
.
get
(
adId
));
}
/**
* 停用广告位
*/
@Override
@RequestMapping
(
value
=
"stop"
,
method
=
RequestMethod
.
POST
)
public
ResponseDto
<?>
stop
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
AdvertisingSpace
advertisingSpace
)
throws
PermissionException
,
BizException
,
JsonParseException
{
if
(
null
==
advertisingSpace
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"参数有误!"
);
}
SessionUtil
.
getToken4Redis
(
token
);
advertisingSpaceBiz
.
stop
(
advertisingSpace
);
return
new
ResponseDto
<>();
}
/**
* 删除广告位
*/
@Override
@RequestMapping
(
value
=
"delete"
,
method
=
RequestMethod
.
POST
)
public
ResponseDto
<?>
delete
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
AdvertisingSpace
advertisingSpace
)
throws
PermissionException
,
BizException
,
JsonParseException
{
if
(
null
==
advertisingSpace
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"参数有误!"
);
}
SessionUtil
.
getToken4Redis
(
token
);
advertisingSpaceBiz
.
delete
(
advertisingSpace
);
return
new
ResponseDto
<>();
}
/**
* 投放书刊
*/
@Override
@RequestMapping
(
value
=
"distributeBook"
,
method
=
RequestMethod
.
POST
)
public
ResponseDto
<?>
distributeBook
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
AdvertisingDistributionBook
advertisingDistributionBook
)
throws
PermissionException
,
BizException
,
JsonParseException
{
if
(
null
==
advertisingDistributionBook
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"参数有误!"
);
}
advertisingSpaceBiz
.
distributeBook
(
advertisingDistributionBook
);
return
new
ResponseDto
<>();
}
/**
* 获取出版社书刊权限
*/
@Override
@RequestMapping
(
value
=
"getAgentPermission"
,
method
=
RequestMethod
.
GET
)
public
ResponseDto
<?>
getAgentPermission
(
@RequestHeader
(
"token"
)
String
token
)
throws
PermissionException
,
BizException
,
JsonParseException
{
Long
agentId
=
(
Long
)
SessionUtil
.
getVlaue
(
token
,
SessionUtil
.
PARTY_ID
);
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
result
.
put
(
"isOpen"
,
advertisingSpaceBiz
.
getAgentPermission
(
agentId
));
return
new
ResponseDto
<>(
result
);
}
/**
* 设置出版社书刊权限
*/
@Override
@RequestMapping
(
value
=
"setAgentPermission"
,
method
=
RequestMethod
.
POST
)
public
ResponseDto
<?>
setAgentPermission
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
AdvertisingAgentPermission
advertisingAgentPermission
)
throws
PermissionException
,
BizException
,
JsonParseException
{
if
(
null
==
advertisingAgentPermission
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"参数有误!"
);
}
Long
agentId
=
(
Long
)
SessionUtil
.
getVlaue
(
token
,
SessionUtil
.
PARTY_ID
);
advertisingAgentPermission
.
setAgentId
(
agentId
);
advertisingSpaceBiz
.
setAgentPermission
(
advertisingAgentPermission
);
return
new
ResponseDto
<>();
}
/**
* 设置编辑书刊权限
*/
@Override
@RequestMapping
(
value
=
"setAdviserPermission"
,
method
=
RequestMethod
.
POST
)
public
ResponseDto
<?>
setAdviserPermission
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
AdvertisingAdviserPermission
advertisingAdviserPermission
)
throws
PermissionException
,
BizException
,
JsonParseException
{
if
(
null
==
advertisingAdviserPermission
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"参数有误!"
);
}
Long
adviserId
=
(
Long
)
SessionUtil
.
getVlaue
(
token
,
SessionUtil
.
PARTY_ID
);
advertisingAdviserPermission
.
setAdviserId
(
adviserId
);
if
(
null
==
advertisingAdviserPermission
.
getIsBatchOperation
())
{
advertisingAdviserPermission
.
setIsBatchOperation
(
false
);
}
advertisingSpaceBiz
.
setAdviserPermission
(
advertisingAdviserPermission
);
return
new
ResponseDto
<>();
}
/**
* 编辑端获取书刊列表
*/
@Override
@RequestMapping
(
value
=
"listBook4Adviser"
,
method
=
RequestMethod
.
GET
)
public
ResponseDto
<?>
listBook4Adviser
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"name"
,
required
=
false
)
String
name
,
@RequestParam
(
value
=
"currentPage"
,
required
=
false
)
Integer
currentPage
,
@RequestParam
(
value
=
"numPerPage"
,
required
=
false
)
Integer
numPerPage
)
throws
PermissionException
,
BizException
,
JsonParseException
{
Long
adviserId
=
(
Long
)
SessionUtil
.
getVlaue
(
token
,
SessionUtil
.
PARTY_ID
);
if
(
currentPage
==
null
||
numPerPage
==
null
||
currentPage
<
0
||
numPerPage
<
0
)
{
throw
BookBizException
.
PAGE_PARAM_DELETION
;
}
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"adviserId"
,
adviserId
);
paramMap
.
put
(
"name"
,
StringUtil
.
isEmpty
(
name
)
?
null
:
name
);
return
new
ResponseDto
<>(
advertisingSpaceBiz
.
listBook4Adviser
(
paramMap
,
new
PageParam
(
currentPage
,
numPerPage
),
adviserId
));
}
/**
* 平台端获取某编辑书刊列表
*/
@Override
@RequestMapping
(
value
=
"listBook4Platform"
,
method
=
RequestMethod
.
GET
)
public
ResponseDto
<?>
listBook4Platform
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"adviserId"
,
required
=
false
)
Long
adviserId
,
@RequestParam
(
value
=
"name"
,
required
=
false
)
String
name
,
@RequestParam
(
value
=
"currentPage"
,
required
=
false
)
Integer
currentPage
,
@RequestParam
(
value
=
"numPerPage"
,
required
=
false
)
Integer
numPerPage
)
throws
PermissionException
,
BizException
,
JsonParseException
{
if
(
currentPage
==
null
||
numPerPage
==
null
||
currentPage
<
0
||
numPerPage
<
0
)
{
throw
BookBizException
.
PAGE_PARAM_DELETION
;
}
if
(
null
==
adviserId
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"参数有误!"
);
}
SessionUtil
.
getToken4Redis
(
token
);
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"adviserId"
,
adviserId
);
paramMap
.
put
(
"name"
,
StringUtil
.
isEmpty
(
name
)
?
null
:
name
);
return
new
ResponseDto
<>(
advertisingSpaceBiz
.
listBook4Platform
(
paramMap
,
new
PageParam
(
currentPage
,
numPerPage
),
adviserId
));
}
/**
* 获取广告位列表
*/
@Override
@RequestMapping
(
value
=
"list"
,
method
=
RequestMethod
.
GET
)
public
ResponseDto
<?>
list
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"name"
,
required
=
false
)
String
name
,
@RequestParam
(
value
=
"currentPage"
,
required
=
false
)
Integer
currentPage
,
@RequestParam
(
value
=
"numPerPage"
,
required
=
false
)
Integer
numPerPage
)
throws
PermissionException
,
BizException
,
JsonParseException
{
if
(
currentPage
==
null
||
numPerPage
==
null
||
currentPage
<
0
||
numPerPage
<
0
)
{
throw
BookBizException
.
PAGE_PARAM_DELETION
;
}
return
new
ResponseDto
<>(
advertisingSpaceBiz
.
list
(
name
,
new
PageParam
(
currentPage
,
numPerPage
)));
}
/**
* 获取广告位投放书刊列表
*/
@Override
@RequestMapping
(
value
=
"distributionBookList"
,
method
=
RequestMethod
.
GET
)
public
ResponseDto
<?>
distributionBookList
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"adId"
,
required
=
false
)
Long
adId
,
@RequestParam
(
value
=
"name"
,
required
=
false
)
String
name
,
@RequestParam
(
value
=
"currentPage"
,
required
=
false
)
Integer
currentPage
,
@RequestParam
(
value
=
"numPerPage"
,
required
=
false
)
Integer
numPerPage
)
throws
PermissionException
,
BizException
,
JsonParseException
{
if
(
currentPage
==
null
||
numPerPage
==
null
||
currentPage
<
0
||
numPerPage
<
0
)
{
throw
BookBizException
.
PAGE_PARAM_DELETION
;
}
if
(
null
==
adId
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"参数有误!"
);
}
SessionUtil
.
getToken4Redis
(
token
);
return
new
ResponseDto
<>(
advertisingSpaceBiz
.
distributionBookList
(
adId
,
name
,
new
PageParam
(
currentPage
,
numPerPage
)));
}
/**
* 获取广告位投放作品/应用数据统计
*/
@Override
@RequestMapping
(
value
=
"distributionAppStatics"
,
method
=
RequestMethod
.
GET
)
public
ResponseDto
<?>
distributionAppStatics
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"adId"
,
required
=
false
)
Long
adId
,
@RequestParam
(
value
=
"currentPage"
,
required
=
false
)
Integer
currentPage
,
@RequestParam
(
value
=
"numPerPage"
,
required
=
false
)
Integer
numPerPage
)
throws
PermissionException
,
BizException
,
JsonParseException
{
if
(
currentPage
==
null
||
numPerPage
==
null
||
currentPage
<
0
||
numPerPage
<
0
)
{
throw
BookBizException
.
PAGE_PARAM_DELETION
;
}
if
(
null
==
adId
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"参数有误!"
);
}
SessionUtil
.
getToken4Redis
(
token
);
return
new
ResponseDto
<>(
advertisingSpaceBiz
.
distributionAppStatics
(
adId
,
new
PageParam
(
currentPage
,
numPerPage
)));
}
/**
* 获取广告位投放时间统计
*/
@Override
@RequestMapping
(
value
=
"distributionDateStatics"
,
method
=
RequestMethod
.
GET
)
public
ResponseDto
<?>
distributionDateStatics
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"adId"
,
required
=
false
)
Long
adId
,
@RequestParam
(
value
=
"day"
,
required
=
false
)
Integer
day
)
throws
PermissionException
,
BizException
,
JsonParseException
{
if
(
null
==
adId
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"参数有误!"
);
}
SessionUtil
.
getToken4Redis
(
token
);
if
(
null
==
day
)
{
day
=
7
;
}
return
new
ResponseDto
<>(
advertisingSpaceBiz
.
distributionDateStatics
(
adId
,
day
));
}
/**
* 获取书刊配置的广告位信息
*/
@Override
@RequestMapping
(
value
=
"get4Wechat"
,
method
=
RequestMethod
.
GET
)
public
ResponseDto
<?>
get4Wechat
(
@CookieValue
(
"userInfo"
)
String
userInfo
)
throws
PermissionException
,
BizException
,
JsonParseException
{
Long
sceneId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_SCENE_ID
);
Long
adviserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_ADVISER_ID
);
Long
channelId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_CHANNEL_ID
);
if
(
null
==
sceneId
||
null
==
adviserId
||
null
==
channelId
)
{
return
new
ResponseDto
<>(
new
AdvertisingSpaceDTO
());
}
return
new
ResponseDto
<>(
advertisingSpaceBiz
.
get4Wechat
(
sceneId
,
adviserId
,
channelId
));
}
/**
* 曝光量埋点
*/
@Override
@RequestMapping
(
value
=
"addExposureTrack"
,
method
=
RequestMethod
.
POST
)
public
ResponseDto
<?>
addExposureTrack
(
@CookieValue
(
"userInfo"
)
String
userInfo
,
@RequestBody
AdvertisingExposureRecord
advertisingExposureRecord
)
throws
PermissionException
,
BizException
,
JsonParseException
{
if
(
null
==
advertisingExposureRecord
||
null
==
advertisingExposureRecord
.
getAdId
()
||
null
==
advertisingExposureRecord
.
getBookId
())
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"参数有误!"
);
}
Long
sceneId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_SCENE_ID
);
Long
adviserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_ADVISER_ID
);
Long
channelId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_CHANNEL_ID
);
Long
officialAccountsId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_OFFICIAL_ACCOUNTS_ID
);
Long
wechatUserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
advertisingExposureRecord
.
setSceneId
(
sceneId
);
advertisingExposureRecord
.
setAdviserId
(
adviserId
);
advertisingExposureRecord
.
setChannelId
(
channelId
);
advertisingExposureRecord
.
setOfficialAccountId
(
officialAccountsId
);
advertisingExposureRecord
.
setWechatUserId
(
wechatUserId
);
advertisingSpaceBiz
.
addExposureTrack
(
advertisingExposureRecord
);
return
new
ResponseDto
<>();
}
/**
* 点击量埋点
*/
@Override
@RequestMapping
(
value
=
"addClickTrack"
,
method
=
RequestMethod
.
POST
)
public
ResponseDto
<?>
addClickTrack
(
@CookieValue
(
"userInfo"
)
String
userInfo
,
@RequestBody
AdvertisingClickRecord
advertisingClickRecord
)
throws
PermissionException
,
BizException
,
JsonParseException
{
if
(
null
==
advertisingClickRecord
||
null
==
advertisingClickRecord
.
getAdId
()
||
null
==
advertisingClickRecord
.
getBookId
())
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"参数有误!"
);
}
Long
sceneId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_SCENE_ID
);
Long
adviserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_ADVISER_ID
);
Long
channelId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_CHANNEL_ID
);
Long
officialAccountsId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_OFFICIAL_ACCOUNTS_ID
);
Long
wechatUserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
advertisingClickRecord
.
setSceneId
(
sceneId
);
advertisingClickRecord
.
setAdviserId
(
adviserId
);
advertisingClickRecord
.
setChannelId
(
channelId
);
advertisingClickRecord
.
setOfficialAccountId
(
officialAccountsId
);
advertisingClickRecord
.
setWechatUserId
(
wechatUserId
);
advertisingSpaceBiz
.
addClickTrack
(
advertisingClickRecord
);
return
new
ResponseDto
<>();
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/dao/BookDao.java
View file @
536594d4
...
...
@@ -3,15 +3,14 @@
*/
package
com
.
pcloud
.
book
.
book
.
dao
;
import
java.util.List
;
import
java.util.Map
;
import
com.pcloud.book.book.dto.BookDto
;
import
com.pcloud.book.book.dto.BookInfo4AnlysicsDTO
;
import
com.pcloud.book.book.dto.BookInfoAnalysicsDTO
;
import
com.pcloud.book.book.entity.Book
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.List
;
import
java.util.Map
;
/**
* @描述:书籍数据访问层接口
* @作者:songx
...
...
@@ -286,4 +285,10 @@ public interface BookDao extends BaseDao<Book> {
*/
List
<
BookInfo4AnlysicsDTO
>
getBookAnalysis
(
Map
<
String
,
Object
>
paramMap
);
/**
* 获取编辑书刊ID和运营ID列表
* @param paramMap
* @return
*/
List
<
BookDto
>
listBookIdAndChannelId4Adviser
(
Map
<
String
,
Object
>
paramMap
);
}
pcloud-service-book/src/main/java/com/pcloud/book/book/dao/impl/BookDaoImpl.java
View file @
536594d4
...
...
@@ -3,6 +3,10 @@
*/
package
com
.
pcloud
.
book
.
book
.
dao
.
impl
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
org.springframework.stereotype.Repository
;
import
com.google.common.collect.Maps
;
import
com.pcloud.book.book.dao.BookDao
;
import
com.pcloud.book.book.dto.BookDto
;
...
...
@@ -10,11 +14,6 @@ import com.pcloud.book.book.dto.BookInfo4AnlysicsDTO;
import
com.pcloud.book.book.dto.BookInfoAnalysicsDTO
;
import
com.pcloud.book.book.entity.Book
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Repository
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @描述:书籍数据访问层实现类
...
...
@@ -29,7 +28,7 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao {
* 批量删除
*/
public
Integer
deleteByIds
(
List
<
Long
>
bookIds
,
Long
deleteUserId
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<
String
,
Object
>();
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<
String
,
Object
>();
paramMap
.
put
(
"bookIds"
,
bookIds
);
paramMap
.
put
(
"lastModifiedUser"
,
deleteUserId
);
return
super
.
getSqlSession
().
update
(
super
.
getStatement
(
"deleteByIds"
),
paramMap
);
...
...
@@ -54,13 +53,13 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao {
return
super
.
getSqlSession
().
selectOne
(
super
.
getStatement
(
"getByIsbnAndSnumContainsDelete"
),
paramMap
);
}
// /**
// * 根据ISBN获取图书信息
// */
// @Override
// public BookDto getByIsbn(String isbn) {
// return super.getSqlSession().selectOne(super.getStatement("selectByIsbn"), isbn);
// }
// /**
// * 根据ISBN获取图书信息
// */
// @Override
// public BookDto getByIsbn(String isbn) {
// return super.getSqlSession().selectOne(super.getStatement("selectByIsbn"), isbn);
// }
/**
...
...
@@ -89,14 +88,14 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao {
@Override
public
List
<
BookDto
>
listDetailByIds
(
Map
<
String
,
Object
>
paramMap
)
{
return
super
.
getSqlSession
().
selectList
(
super
.
getStatement
(
"listDetailByIds"
),
paramMap
);
return
super
.
getSqlSession
().
selectList
(
super
.
getStatement
(
"listDetailByIds"
),
paramMap
);
}
/**
* 根据名称获取ID
*/
@Override
public
List
<
Long
>
getIdsByName
(
String
bookName
)
{
public
List
<
Long
>
getIdsByName
(
String
bookName
)
{
return
super
.
getSqlSession
().
selectList
(
super
.
getStatement
(
"getIdsByName"
),
bookName
);
}
...
...
@@ -104,7 +103,7 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao {
* 根据名称获取ID
*/
@Override
public
List
<
Long
>
getIdsByNameMap
(
Map
<
String
,
Object
>
paramMap
)
{
public
List
<
Long
>
getIdsByNameMap
(
Map
<
String
,
Object
>
paramMap
)
{
return
super
.
getSqlSession
().
selectList
(
super
.
getStatement
(
"getIdsByNameMap"
),
paramMap
);
}
...
...
@@ -162,7 +161,7 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao {
*/
@Override
public
int
getBookCount4Platform
(
Map
<
String
,
Object
>
paramMap
)
{
return
super
.
getSqlSession
().
selectOne
(
super
.
getStatement
(
"getBookCount4Platform"
),
paramMap
);
return
super
.
getSqlSession
().
selectOne
(
super
.
getStatement
(
"getBookCount4Platform"
),
paramMap
);
}
/**
...
...
@@ -170,7 +169,7 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao {
*/
@Override
public
void
updateCoverImg
(
Book
book
)
{
super
.
getSqlSession
().
update
(
this
.
getStatement
(
"updateCoverImg"
),
book
);
super
.
getSqlSession
().
update
(
this
.
getStatement
(
"updateCoverImg"
),
book
);
}
/**
...
...
@@ -178,7 +177,7 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao {
*/
@Override
public
List
<
BookDto
>
listBookByAppId
(
Map
<
String
,
Object
>
paramMap
)
{
return
super
.
getSqlSession
().
selectList
(
this
.
getStatement
(
"listBookByAppId"
),
paramMap
);
return
super
.
getSqlSession
().
selectList
(
this
.
getStatement
(
"listBookByAppId"
),
paramMap
);
}
/**
...
...
@@ -186,7 +185,7 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao {
*/
@Override
public
Integer
deleteBook
(
Long
bookId
,
Long
deleteUserId
)
{
Map
<
String
,
Long
>
paramMap
=
new
HashMap
<
String
,
Long
>();
Map
<
String
,
Long
>
paramMap
=
new
HashMap
<
String
,
Long
>();
paramMap
.
put
(
"bookId"
,
bookId
);
paramMap
.
put
(
"lastModifiedUser"
,
deleteUserId
);
return
super
.
getSqlSession
().
update
(
this
.
getStatement
(
"deleteBook"
),
paramMap
);
...
...
@@ -238,7 +237,6 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao {
/**
* 根据图书isbn和序号获取图书基本信息(不包含删除图书)
*
* @param isbn
* @param serialNumber
* @return
...
...
@@ -252,26 +250,31 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao {
@Override
public
List
<
BookDto
>
getList4Adviser
(
Map
<
String
,
Object
>
param
)
{
return
super
.
getSqlSession
().
selectList
(
this
.
getStatement
(
"getListPage4Adviser"
),
param
);
return
super
.
getSqlSession
().
selectList
(
this
.
getStatement
(
"getListPage4Adviser"
),
param
);
}
@Override
public
void
updateTimeById
(
Map
<
String
,
Object
>
param
)
{
super
.
getSqlSession
().
update
(
super
.
getStatement
(
"updateTimeById"
),
param
);
super
.
getSqlSession
().
update
(
super
.
getStatement
(
"updateTimeById"
),
param
);
}
@Override
public
void
updateTimeByIds
(
Map
<
String
,
Object
>
param
)
{
super
.
getSqlSession
().
update
(
super
.
getStatement
(
"updateTimeByIds"
),
param
);
super
.
getSqlSession
().
update
(
super
.
getStatement
(
"updateTimeByIds"
),
param
);
}
@Override
public
List
<
BookInfoAnalysicsDTO
>
getBookInfoBy
(
Map
<
String
,
Object
>
param
)
{
return
super
.
getSqlSession
().
selectList
(
this
.
getStatement
(
"getBookInfoBy"
),
param
);
return
super
.
getSqlSession
().
selectList
(
this
.
getStatement
(
"getBookInfoBy"
),
param
);
}
@Override
public
List
<
BookInfo4AnlysicsDTO
>
getBookAnalysis
(
Map
<
String
,
Object
>
paramMap
)
{
return
super
.
getSqlSession
().
selectList
(
this
.
getStatement
(
"getBookAnalysis"
),
paramMap
);
return
super
.
getSqlSession
().
selectList
(
this
.
getStatement
(
"getBookAnalysis"
),
paramMap
);
}
@Override
public
List
<
BookDto
>
listBookIdAndChannelId4Adviser
(
Map
<
String
,
Object
>
paramMap
)
{
return
super
.
getSqlSession
().
selectList
(
getStatement
(
"listBookIdAndChannelId4Adviser"
),
paramMap
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/set/BookSet.java
View file @
536594d4
...
...
@@ -3,6 +3,20 @@
*/
package
com
.
pcloud
.
book
.
book
.
set
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
org.apache.commons.collections.MapUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.math.NumberUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.amqp.core.AmqpTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
com.alibaba.fastjson.JSONObject
;
import
com.google.common.collect.Lists
;
import
com.pcloud.analysisengine.browse.dto.BrowseCacheRecordDto
;
...
...
@@ -29,6 +43,7 @@ import com.pcloud.book.book.dto.BookResourceDto;
import
com.pcloud.book.book.dto.BookTypeDto
;
import
com.pcloud.book.book.entity.BookDefendant
;
import
com.pcloud.book.book.tools.BookTools
;
import
com.pcloud.book.book.vo.NoAuthBookVO
;
import
com.pcloud.book.consumer.analysisengine.BookScanCountConsr
;
import
com.pcloud.book.consumer.analysisengine.BrowseRecordConsr
;
import
com.pcloud.book.consumer.app.AppConsr
;
...
...
@@ -40,15 +55,17 @@ import com.pcloud.book.consumer.message.MessageConsr;
import
com.pcloud.book.consumer.resource.ProductConsr
;
import
com.pcloud.book.consumer.settlement.BookConsr
;
import
com.pcloud.book.consumer.user.AdviserConsr
;
import
com.pcloud.book.consumer.user.AgentConsr
;
import
com.pcloud.book.consumer.user.BookcaseConsr
;
import
com.pcloud.book.consumer.user.ChannelConsr
;
import
com.pcloud.book.consumer.user.PartyConsr
;
import
com.pcloud.book.consumer.voicemessage.MerchantVideoConsr
;
import
com.pcloud.book.book.vo.NoAuthBookVO
;
import
com.pcloud.channelcenter.base.constants.MessageFromTypeEnum
;
import
com.pcloud.channelcenter.qrcode.dto.QrcodeLocationDto
;
import
com.pcloud.channelcenter.qrcode.vo.BookAssocLastQrAskVO
;
import
com.pcloud.channelcenter.qrcode.vo.BookAssocLastQrVO
;
import
com.pcloud.channelcenter.wechat.dto.AccountSettingDto
;
import
com.pcloud.channelcenter.wechat.service.AccountSettingService
;
import
com.pcloud.comment.base.enums.SysCodeEnum
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.core.constant.MQTopicProducer
;
...
...
@@ -57,6 +74,7 @@ import com.pcloud.common.exceptions.BizException;
import
com.pcloud.common.utils.BookUtils
;
import
com.pcloud.common.utils.DateUtils
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.ResponseHandleUtil
;
import
com.pcloud.common.utils.number.AmountUtil
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.contentcenter.resource.dto.ResourceDTO
;
...
...
@@ -69,25 +87,9 @@ import com.pcloud.usercenter.party.adviser.dto.AdviserBaseInfoDto;
import
com.pcloud.usercenter.party.adviser.entity.Adviser
;
import
com.pcloud.usercenter.party.agent.entity.Agent
;
import
com.pcloud.voicemessage.party.merchant.entity.MerchantVideo
;
import
org.apache.commons.collections.MapUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.math.NumberUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.amqp.core.AmqpTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @描述:图书信息填充
*
* @作者:songx
* @创建时间:2016年12月30日,下午7:40:43 @版本:1.0
*/
...
...
@@ -139,11 +141,14 @@ public class BookSet {
private
BookFreezeDao
bookFreezeDao
;
@Autowired
private
AmqpTemplate
amqpTemplate
;
@Autowired
private
AgentConsr
agentConsr
;
@Autowired
private
AccountSettingService
accountSettingService
;
/**
* 检验书号是否合法,包括ISSN,ISBN,CSSN
*
* @param typeCode
* 类型,图书或者期刊
* @param typeCode 类型,图书或者期刊
* @param isbn
*/
public
void
checkISBNEx
(
String
typeCode
,
String
isbn
)
{
...
...
@@ -165,9 +170,7 @@ public class BookSet {
/**
* 检验书号是否合法
*
* @param typeCode
* 类型,图书
* @param typeCode 类型,图书
* @param isbn
*/
public
void
checkISBN
(
String
typeCode
,
String
isbn
)
throws
BizException
{
...
...
@@ -179,7 +182,6 @@ public class BookSet {
/**
* 验证issn,CSSN
*
* @param typeCode
* @param issn
*/
...
...
@@ -237,6 +239,26 @@ public class BookSet {
}
/**
* 批量填充渠道公众号信息
*/
public
void
setChannelOfficialAccountInfoList
(
List
<
Object
>
objects
)
throws
BizException
{
LOGGER
.
info
(
"【书刊基础】批量填充渠道公众号信息,<START>"
);
// 组装运营标识(去重)
List
<
Long
>
channelIds
=
BookTools
.
listChannelIds
(
objects
);
if
(
ListUtils
.
isEmpty
(
channelIds
))
{
return
;
}
// 从渠道中心批量获取渠道公众号名称
Map
<
Long
,
AccountSettingDto
>
officialAccountNameMap
=
ResponseHandleUtil
.
parseMap
(
accountSettingService
.
listWechat
(
channelIds
),
Long
.
class
,
AccountSettingDto
.
class
);
if
(
MapUtils
.
isEmpty
(
officialAccountNameMap
))
{
return
;
}
// 批量填充运营公众号信息
BookTools
.
setChannelOfficialAccountsNames
(
objects
,
officialAccountNameMap
);
LOGGER
.
info
(
"【书刊基础】批量填充渠道公众号信息,<END>"
);
}
/**
* 批量填充顾问名称
*/
public
void
setAdviserName4BookDto
(
List
<
Object
>
objects
)
{
...
...
@@ -253,6 +275,23 @@ public class BookSet {
LOGGER
.
info
(
"【书刊基础】批量填充顾问名称,<END>"
);
}
/**
* 批量填充出版名称
*/
public
void
setAgentName4BookDto
(
List
<
Object
>
objects
)
{
LOGGER
.
info
(
"【书刊基础】批量填充出版名称,<START>"
);
// 组装出版标识(去重)
List
<
Long
>
agentIds
=
BookTools
.
listAgentIds
(
objects
);
// 从用户中心批量获取出版名称
Map
<
Long
,
String
>
agentNameMap
=
agentConsr
.
getNames
(
agentIds
);
if
(
MapUtils
.
isEmpty
(
agentNameMap
))
{
return
;
}
// 批量填充出版名称
BookTools
.
setAgentNames
(
objects
,
agentNameMap
);
LOGGER
.
info
(
"【书刊基础】批量填充出版名称,<END>"
);
}
/**
* 批量填充顾问名称
...
...
@@ -273,7 +312,6 @@ public class BookSet {
/**
* 设置申诉方及被诉方基本信息
*
* @param bookAppealDto
*/
public
void
setAdviserInfo
(
BookAppealDto
bookAppealDto
)
{
...
...
@@ -370,7 +408,6 @@ public class BookSet {
/**
* 设置书籍是否加入书架
*
* @param recordList
*/
public
void
setIsHaveAddBookcase
(
List
<
Object
>
recordList
,
Long
wechatUserId
)
{
...
...
@@ -397,9 +434,7 @@ public class BookSet {
/**
* 发送书籍删除topic
*
* @param bookId
* 书籍标识
* @param bookId 书籍标识
*/
public
void
sendBookDeleteTopic
(
Long
bookId
)
{
LOGGER
.
info
(
"【书籍基础】发送书籍删除topic,<START>"
);
...
...
@@ -417,7 +452,6 @@ public class BookSet {
/**
* 批量删除书籍topic
*
* @param bookIds
*/
public
void
sendBooksDeleteTopic
(
List
<
Long
>
bookIds
)
{
...
...
@@ -434,7 +468,6 @@ public class BookSet {
/**
* 设置被诉方
*
* @param adviserBooks
* @param bookAppealId
*/
...
...
@@ -456,12 +489,9 @@ public class BookSet {
/**
* 设置申诉和被诉编辑信息
*
* @param appealAdviserList
* @param bookAppealDto
* 申诉方
* @param defendantAdvisers
* 被诉方
* @param bookAppealDto 申诉方
* @param defendantAdvisers 被诉方
*/
public
void
setAppealAdviserList
(
List
<
AppealAdviserDto
>
appealAdviserList
,
BookAppealDto
bookAppealDto
,
List
<
BookAdviserDto
>
defendantAdvisers
)
{
...
...
@@ -496,7 +526,7 @@ public class BookSet {
Map
<
Long
,
String
>
adviserNameMap
=
adviserConsr
.
getNames
(
adviserIds
);
//获取运营平台名称
Map
<
Long
,
String
>
channelNameMap
=
channelConsr
.
getNamesByIdList
(
channelIds
);
if
(
MapUtils
.
isEmpty
(
adviserNameMap
))
{
if
(
MapUtils
.
isEmpty
(
adviserNameMap
))
{
return
;
}
for
(
AppealAdviserDto
adviser
:
appealAdviserList
)
{
...
...
@@ -511,7 +541,6 @@ public class BookSet {
/**
* 设置编辑详细信息
*
* @param adviserManageDtos
* @param adviserIds
* @return: void
...
...
@@ -552,9 +581,9 @@ public class BookSet {
}
/**
* @Description:设置主编辑信息
* @param bookDto
* @param mainAdviserId
* @Description:设置主编辑信息
* @author: lihao
* @date: 2017年7月12日 下午6:46:48
*/
...
...
@@ -567,8 +596,8 @@ public class BookSet {
}
/**
* @Description:设置微信端书刊列表详细信息
* @param recordList
* @Description:设置微信端书刊列表详细信息
* @return: void
* @author: lihao
* @date: 2017年7月18日 下午8:07:15
...
...
@@ -684,7 +713,6 @@ public class BookSet {
/**
* 设置应用基本信息(过滤审核不通过的与过期的应用)
*
* @param bookAppDtos
* @return
*/
...
...
@@ -720,7 +748,6 @@ public class BookSet {
/**
* 设置录音并转换为map
*
* @param bookProductDtos
* @return
*/
...
...
@@ -753,7 +780,6 @@ public class BookSet {
/**
* 设置应用基本信息
*
* @param bookAppDtos
*/
public
void
setAppInfo
(
List
<
BookAppDto
>
bookAppDtos
)
{
...
...
@@ -786,7 +812,6 @@ public class BookSet {
/**
* 设置是否配置过录音
*
* @param bookProductAssoc
*/
public
void
setIsHaveSound
(
List
<
BookProductDto
>
bookProductAssoc
)
{
...
...
@@ -821,7 +846,6 @@ public class BookSet {
/**
* 设置商品基本信息
*
* @param bookProductAssoc
*/
public
void
setProductInfo
(
List
<
BookProductDto
>
bookProductAssoc
,
Long
channelId
)
{
...
...
@@ -864,7 +888,6 @@ public class BookSet {
/**
* 设置资源文件
*
* @param bookResources
*/
public
List
<
Object
>
listResourceFile
(
List
<
BookResourceDto
>
bookResources
)
{
...
...
@@ -909,7 +932,6 @@ public class BookSet {
/**
* 设置资源基本信息
*
* @param bookResources
*/
public
void
setResourceInfo
(
List
<
BookResourceDto
>
bookResources
)
{
...
...
@@ -930,7 +952,6 @@ public class BookSet {
/**
* 设置百分比
*
* @param bookTypes
*/
public
void
setPercent
(
List
<
BookTypeDto
>
bookTypes
)
{
...
...
@@ -960,7 +981,6 @@ public class BookSet {
/**
* 设置模板名称
*
* @param recordList
*/
public
void
setTemplateName
(
List
<
Object
>
recordList
)
{
...
...
@@ -995,7 +1015,7 @@ public class BookSet {
* 设置待审核数
* @param recordList
*/
public
void
setAuditWaitNum
(
List
<
Object
>
recordList
)
{
public
void
setAuditWaitNum
(
List
<
Object
>
recordList
)
{
LOGGER
.
info
(
"设置待审核数【START】"
);
if
(
ListUtils
.
isEmpty
(
recordList
))
{
return
;
...
...
@@ -1007,11 +1027,11 @@ public class BookSet {
bookIds
.
add
(
bookDto
.
getBookId
());
}
}
if
(
ListUtils
.
isEmpty
(
bookIds
))
{
if
(
ListUtils
.
isEmpty
(
bookIds
))
{
return
;
}
Map
<
Long
,
Long
>
resultMap
=
qrcodeSceneConsr
.
getCountMapByBookIds
(
bookIds
);
if
(
MapUtils
.
isEmpty
(
resultMap
))
{
Map
<
Long
,
Long
>
resultMap
=
qrcodeSceneConsr
.
getCountMapByBookIds
(
bookIds
);
if
(
MapUtils
.
isEmpty
(
resultMap
))
{
return
;
}
for
(
Object
object
:
recordList
)
{
...
...
@@ -1025,7 +1045,6 @@ public class BookSet {
/**
* 设置模板名称
*
* @param bookDto
*/
public
void
setTemplateName
(
BookDto
bookDto
)
{
...
...
@@ -1050,7 +1069,6 @@ public class BookSet {
/**
* 组合excel数据
*
* @param agentBook
* @return
*/
...
...
@@ -1130,14 +1148,13 @@ public class BookSet {
/**
* 生成Excel
*
* @param dataList
* @return
*/
public
String
createExcel
(
List
<
Object
[]>
dataList
)
{
LOGGER
.
info
(
"生成Excel【Start】"
);
String
[]
rowsName
=
{
"书刊名称"
,
"书刊类型"
,
"书刊分类"
,
"条形码"
,
"添加编辑"
,
"出版社"
,
"添加时间"
,
"运营平台"
,
"浏览量"
,
"读者量"
,
"扫码次数"
,
"收益"
};
String
[]
rowsName
=
{
"书刊名称"
,
"书刊类型"
,
"书刊分类"
,
"条形码"
,
"添加编辑"
,
"出版社"
,
"添加时间"
,
"运营平台"
,
"浏览量"
,
"读者量"
,
"扫码次数"
,
"收益"
};
String
fileUrl
=
exportConsr
.
exportExcel
(
"编辑添加书刊列表-"
+
DateUtils
.
getStrFormTime
(
"yyyyMMdd"
,
new
Date
()),
rowsName
,
dataList
);
LOGGER
.
info
(
"生成Excel【END】fileUrl="
+
fileUrl
);
...
...
@@ -1146,7 +1163,6 @@ public class BookSet {
/**
* 发送图书Excel生成完成站内信
*
* @param agentId
* @param url
* @param sendDate
...
...
@@ -1165,7 +1181,6 @@ public class BookSet {
/**
* 设置图书读者量、扫码量、浏览量
*
* @param bookList
*/
public
void
setBookSvUvPv
(
List
<
BookDto
>
bookList
)
{
...
...
@@ -1201,7 +1216,6 @@ public class BookSet {
/**
* 设置图书读者量、扫码量、浏览量
*
* @param bookList
*/
@ParamLog
(
value
=
"设置图书读者量、扫码量、浏览量"
,
isBefore
=
false
)
...
...
@@ -1240,7 +1254,6 @@ public class BookSet {
/**
* 冻结状态
*
* @param bookList
*/
public
void
setFreezeStatus
(
List
<
Object
>
bookList
)
{
...
...
@@ -1267,7 +1280,6 @@ public class BookSet {
/**
* 设置冻结状态
*
* @param bookDto
*/
public
void
setFreezeStatus
(
BookDto
bookDto
)
{
...
...
@@ -1284,13 +1296,13 @@ public class BookSet {
* 设置二维码相关信息
* @param recordList
*/
public
void
setQrInfo
(
List
<
Object
>
recordList
)
{
public
void
setQrInfo
(
List
<
Object
>
recordList
)
{
if
(
ListUtils
.
isEmpty
(
recordList
))
{
return
;
}
List
<
BookAssocLastQrAskVO
>
bookAssocLastQrAskVOS
=
Lists
.
newArrayList
();
BookAssocLastQrAskVO
bookAssocLastQrAskVO
=
null
;
for
(
Object
object:
recordList
)
{
for
(
Object
object
:
recordList
)
{
BookDto
bookDto
=
(
BookDto
)
object
;
bookAssocLastQrAskVO
=
new
BookAssocLastQrAskVO
();
bookAssocLastQrAskVO
.
setAdviserId
(
bookDto
.
getAdviserId
());
...
...
@@ -1298,24 +1310,24 @@ public class BookSet {
bookAssocLastQrAskVO
.
setChannelId
(
bookDto
.
getChannelId
());
bookAssocLastQrAskVOS
.
add
(
bookAssocLastQrAskVO
);
}
if
(
ListUtils
.
isEmpty
(
bookAssocLastQrAskVOS
))
{
if
(
ListUtils
.
isEmpty
(
bookAssocLastQrAskVOS
))
{
return
;
}
Map
<
String
,
BookAssocLastQrVO
>
bookAssocLastQrVOMap
=
qrcodeSceneConsr
.
getLastQrInfoByBookIds
(
bookAssocLastQrAskVOS
);
if
(
MapUtils
.
isEmpty
(
bookAssocLastQrVOMap
))
{
Map
<
String
,
BookAssocLastQrVO
>
bookAssocLastQrVOMap
=
qrcodeSceneConsr
.
getLastQrInfoByBookIds
(
bookAssocLastQrAskVOS
);
if
(
MapUtils
.
isEmpty
(
bookAssocLastQrVOMap
))
{
return
;
}
for
(
Object
object:
recordList
)
{
for
(
Object
object
:
recordList
)
{
BookDto
bookDto
=
(
BookDto
)
object
;
String
key
=
bookDto
.
getBookId
()+
"_"
+
bookDto
.
getChannelId
();
String
key
=
bookDto
.
getBookId
()
+
"_"
+
bookDto
.
getChannelId
();
BookAssocLastQrVO
bookAssocLastQrVO
=
bookAssocLastQrVOMap
.
get
(
key
);
if
(
null
!=
bookAssocLastQrVO
)
{
if
(
null
!=
bookAssocLastQrVO
)
{
bookDto
.
setQrcodeUrl
(
bookAssocLastQrVO
.
getQrcodeUrl
());
bookDto
.
setMessageCount
(
bookAssocLastQrVO
.
getCount
());
List
<
QrcodeLocationDto
>
qrcodeLocationDtos
=
bookAssocLastQrVO
.
getQrcodeLocations
();
String
localtion
=
null
;
if
(!
ListUtils
.
isEmpty
(
qrcodeLocationDtos
))
{
localtion
=
StringUtil
.
isEmpty
(
qrcodeLocationDtos
.
get
(
0
).
getLocationName
())?
qrcodeLocationDtos
.
get
(
0
).
getLocationRemark
():
qrcodeLocationDtos
.
get
(
0
).
getLocationName
();
if
(!
ListUtils
.
isEmpty
(
qrcodeLocationDtos
))
{
localtion
=
StringUtil
.
isEmpty
(
qrcodeLocationDtos
.
get
(
0
).
getLocationName
())
?
qrcodeLocationDtos
.
get
(
0
).
getLocationRemark
()
:
qrcodeLocationDtos
.
get
(
0
).
getLocationName
();
}
bookDto
.
setLocation
(
localtion
);
bookDto
.
setSceneName
(
bookAssocLastQrVO
.
getSceneName
());
...
...
@@ -1324,12 +1336,12 @@ public class BookSet {
}
}
}
/**
* 设置图书收益
*
* @param recordList
*/
@ParamLog
(
value
=
"图书收益"
,
isBefore
=
false
)
@ParamLog
(
value
=
"图书收益"
,
isBefore
=
false
)
public
void
setBookIncome
(
List
<
Object
>
recordList
)
{
if
(
ListUtils
.
isEmpty
(
recordList
))
{
return
;
...
...
@@ -1375,7 +1387,6 @@ public class BookSet {
/**
* 发送图书Excel生成完成站内信(平台端)
*
* @param
* @param url
* @param sendDate
...
...
@@ -1391,7 +1402,6 @@ public class BookSet {
/**
* 组合excel数据(平台端)
*
* @param platformBook
* @return
*/
...
...
@@ -1445,7 +1455,6 @@ public class BookSet {
/**
* 设置图书是否关联二维码和个数
*
* @param recordList (List<BookDto>)
* @param adviserId 编辑标识
*/
...
...
@@ -1482,26 +1491,25 @@ public class BookSet {
* 设置父模板标识
* @param bookDto
*/
public
void
setTempleParentId
(
BookDto
bookDto
)
{
LOGGER
.
info
(
"设置父模板标识.setTempleParentId.<START>.[bookDto]:"
+
bookDto
);
if
(
null
!=
bookDto
&&
null
!=
bookDto
.
getTempletId
())
{
public
void
setTempleParentId
(
BookDto
bookDto
)
{
LOGGER
.
info
(
"设置父模板标识.setTempleParentId.<START>.[bookDto]:"
+
bookDto
);
if
(
null
!=
bookDto
&&
null
!=
bookDto
.
getTempletId
())
{
List
<
Long
>
assistTempletIds
=
Lists
.
newArrayList
();
assistTempletIds
.
add
(
bookDto
.
getTempletId
());
Map
<
Long
,
AssistTempletDTO
>
templeMap
=
assistTempletConsr
.
mapByIds
(
assistTempletIds
);
if
(!
MapUtils
.
isEmpty
(
templeMap
))
{
if
(!
MapUtils
.
isEmpty
(
templeMap
))
{
AssistTempletDTO
templetDTO
=
templeMap
.
get
(
bookDto
.
getTempletId
());
if
(
null
!=
templetDTO
)
{
if
(
null
!=
templetDTO
)
{
bookDto
.
setTempleParentId
(
templetDTO
.
getParentId
());
}
}
}
LOGGER
.
info
(
"设置父模板标识.setTempleParentId.<END>.[bookDto]:"
+
bookDto
);
LOGGER
.
info
(
"设置父模板标识.setTempleParentId.<END>.[bookDto]:"
+
bookDto
);
}
/**
* 设置模板名称
*
*/
public
void
setTempletNames
(
List
<
NoAuthBookVO
>
noAuthBookVOs
)
{
if
(
ListUtils
.
isEmpty
(
noAuthBookVOs
))
{
...
...
pcloud-service-book/src/main/java/com/pcloud/book/book/tools/BookTools.java
View file @
536594d4
...
...
@@ -3,17 +3,15 @@
*/
package
com
.
pcloud
.
book
.
book
.
tools
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
com.google.common.collect.Lists
;
import
com.pcloud.book.book.dto.BookDto
;
import
com.pcloud.book.book.vo.NoAuthBookVO
;
import
com.pcloud.channelcenter.wechat.dto.AccountSettingDto
;
import
com.pcloud.common.exceptions.BizException
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @描述:
* @作者:songx
...
...
@@ -82,6 +80,26 @@ public class BookTools {
}
/**
* 批量填充运营公众号信息
*/
public
static
void
setChannelOfficialAccountsNames
(
List
<
Object
>
objects
,
Map
<
Long
,
AccountSettingDto
>
officialAccountNameMap
)
throws
BizException
{
for
(
Object
object
:
objects
)
{
BookDto
bookDto
=
(
BookDto
)
object
;
Long
channelId
=
bookDto
.
getChannelId
();
if
(
officialAccountNameMap
.
containsKey
(
channelId
))
{
AccountSettingDto
accountSettingDto
=
officialAccountNameMap
.
get
(
channelId
);
if
(
null
!=
accountSettingDto
)
{
bookDto
.
setOfficialAccountsName
(
accountSettingDto
.
getBaseAppName
());
}
else
{
bookDto
.
setOfficialAccountsName
(
""
);
}
}
else
{
bookDto
.
setOfficialAccountsName
(
""
);
}
}
}
/**
* 组装编辑标识(去重)
* @param objects
* @return
...
...
@@ -99,6 +117,23 @@ public class BookTools {
}
/**
* 组装出版标识(去重)
* @param objects
* @return
*/
public
static
List
<
Long
>
listAgentIds
(
List
<
Object
>
objects
)
{
Map
<
Long
,
Long
>
agentIdMap
=
new
HashMap
<>();
for
(
Object
object
:
objects
)
{
BookDto
bookDto
=
(
BookDto
)
object
;
Long
agentId
=
bookDto
.
getAgentId
();
if
(!
agentIdMap
.
containsKey
(
agentId
))
{
agentIdMap
.
put
(
agentId
,
agentId
);
}
}
return
Lists
.
newArrayList
(
agentIdMap
.
values
());
}
/**
* 批量填充编辑名称
* @param objects
* @param adviserNameMap
...
...
@@ -115,7 +150,24 @@ public class BookTools {
}
}
public
static
void
setChannelNames4NoAuthBookVO
(
List
<
NoAuthBookVO
>
noAuthBookVOS
,
Map
<
Long
,
String
>
channelNameMap
)
{
/**
* 批量填充出版名称
* @param objects
* @param agentNameMap
*/
public
static
void
setAgentNames
(
List
<
Object
>
objects
,
Map
<
Long
,
String
>
agentNameMap
)
{
for
(
Object
object
:
objects
)
{
BookDto
bookDto
=
(
BookDto
)
object
;
Long
agentId
=
bookDto
.
getAgentId
();
if
(
agentNameMap
.
containsKey
(
agentId
))
{
bookDto
.
setAgentName
(
agentNameMap
.
get
(
agentId
));
}
else
{
bookDto
.
setAgentName
(
""
);
}
}
}
public
static
void
setChannelNames4NoAuthBookVO
(
List
<
NoAuthBookVO
>
noAuthBookVOS
,
Map
<
Long
,
String
>
channelNameMap
)
{
for
(
NoAuthBookVO
noAuthBookVO
:
noAuthBookVOS
)
{
Long
channelId
=
noAuthBookVO
.
getChannelId
();
if
(
channelNameMap
.
containsKey
(
channelId
))
{
...
...
pcloud-service-book/src/main/java/com/pcloud/book/consumer/app/AppConsr.java
View file @
536594d4
...
...
@@ -84,4 +84,28 @@ public class AppConsr {
return
appDtos
;
}
/**
* 获取应用基本信息
* @param appIds 应用ID列表
* @return
*/
public
Map
<
Long
,
AppDto
>
getBaseByIds
(
List
<
Long
>
appIds
)
{
LOGGER
.
info
(
"获取应用基本信息[appService.getBaseByIds],参数列表[appIds]:"
+
appIds
);
Map
<
Long
,
AppDto
>
appDtos
=
new
HashMap
<>();
if
(
ListUtils
.
isEmpty
(
appIds
))
{
return
appDtos
;
}
try
{
ResponseEntity
<
ResponseDto
<
Map
<
Long
,
AppDto
>>>
appDtosEntity
=
appService
.
getBaseByIds
(
appIds
);
appDtos
=
ResponseHandleUtil
.
parseMapResponse
(
appDtosEntity
,
Long
.
class
,
AppDto
.
class
);
}
catch
(
BizException
e
)
{
LOGGER
.
warn
(
"获取应用基本信息[appService.getBaseByIds]:"
+
e
.
getMessage
(),
e
);
throw
new
BizException
(
e
.
getCode
(),
e
.
getMessage
());
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"获取应用基本信息[appService.getBaseByIds]:"
+
e
.
getMessage
(),
e
);
throw
new
BookBizException
(
BookBizException
.
INVOKE_USER_ERROR
,
"获取应用基本信息失败~!"
);
}
return
appDtos
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/consumer/resource/ProductConsr.java
View file @
536594d4
...
...
@@ -16,6 +16,7 @@ import com.pcloud.book.base.exception.BookBizException;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.ResponseHandleUtil
;
import
com.pcloud.resourcecenter.product.dto.Product4BookDTO
;
import
com.pcloud.resourcecenter.product.dto.ProductDto
;
import
com.pcloud.resourcecenter.product.service.ProductService
;
...
...
@@ -61,7 +62,7 @@ public class ProductConsr {
* 资源中心拉取商品基本信息
*/
public
Map
<
Long
,
ProductDto
>
getProBasesByIds
(
List
<
Long
>
productIds
)
throws
BizException
{
LOGGER
.
info
(
"【资源中心(消)】获取商品基本信息,<START>.[productIds]="
+
productIds
.
toString
()
+
"]"
);
LOGGER
.
info
(
"【资源中心(消)】获取商品基本信息,<START>.[productIds]="
+
productIds
+
"]"
);
if
(
productIds
==
null
||
productIds
.
isEmpty
())
{
return
null
;
}
...
...
@@ -80,6 +81,28 @@ public class ProductConsr {
}
/**
* 资源中心拉取商品基本信息
*/
public
Map
<
Long
,
Product4BookDTO
>
getProBasesWithSceneByIds
(
List
<
Long
>
productIds
)
throws
BizException
{
LOGGER
.
info
(
"【资源中心(消)】获取商品基本信息,<START>.[productIds]="
+
productIds
+
"]"
);
if
(
productIds
==
null
||
productIds
.
isEmpty
())
{
return
null
;
}
try
{
return
ResponseHandleUtil
.
parseMapResponse
(
productService
.
getProInfoListWithScene
(
productIds
),
Long
.
class
,
Product4BookDTO
.
class
);
}
catch
(
BizException
e
)
{
LOGGER
.
warn
(
"【资源中心(消)】获取商品基本信息失败:"
+
e
.
getMessage
(),
e
);
throw
new
BizException
(
e
.
getCode
(),
e
.
getMessage
());
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"【资源中心(消)】获取商品基本信息.[getProInfoListWithScene]:"
+
e
.
getMessage
(),
e
);
throw
new
BookBizException
(
BookBizException
.
INVOKE_RES_ERROR
,
"服务内部错误,请稍后重试"
);
}
finally
{
LOGGER
.
info
(
"【资源中心(消)】获取商品基本信息,<END>"
);
}
}
/**
* 获取问答商品信息
*/
public
Map
<
Long
,
ProductDto
>
getQaProRetailBase4Group
(
List
<
Long
>
productIds
,
Long
channelId
,
Long
agentId
)
...
...
pcloud-service-book/src/main/java/com/pcloud/book/consumer/user/AgentConsr.java
View file @
536594d4
...
...
@@ -3,17 +3,19 @@
*/
package
com
.
pcloud
.
book
.
consumer
.
user
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.usercenter.party.agent.entity.Agent
;
import
java.util.List
;
import
java.util.Map
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.stereotype.Component
;
import
com.pcloud.channelcenter.base.exceptions.ChannelBizException
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.ResponseHandleUtil
;
import
com.pcloud.usercenter.party.agent.entity.Agent
;
import
com.pcloud.usercenter.party.agent.service.AgentService
;
/**
...
...
@@ -73,4 +75,23 @@ public class AgentConsr {
}
return
agent
.
getId
();
}
/**
* 批量获取出版名称
*/
public
Map
<
Long
,
String
>
getNames
(
List
<
Long
>
agentIds
)
throws
BizException
{
LOGGER
.
info
(
"【出版用户(消)】批量获取出版名称,<START>.[agentIds]="
+
agentIds
.
toString
());
if
(
ListUtils
.
isEmpty
(
agentIds
))
{
return
null
;
}
Map
<
Long
,
String
>
agentMap
=
null
;
try
{
agentMap
=
ResponseHandleUtil
.
parseMapResponse
(
agentService
.
getNamesByIdList
(
agentIds
),
Long
.
class
,
String
.
class
);
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"【出版用户(消)】批量获取出版名称.[getNames]:"
+
e
.
getMessage
(),
e
);
}
LOGGER
.
info
(
"【出版用户(消)】批量获取出版名称,<END>"
);
return
agentMap
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/util/common/CommonUtils.java
0 → 100644
View file @
536594d4
package
com
.
pcloud
.
book
.
util
.
common
;
import
java.util.ArrayList
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.List
;
import
com.pcloud.common.utils.DateNewUtils
;
/**
* @author PENG
* @version 1.0
* @description 通用Utils
* @date 2017年6月14日 下午2:11:50
*/
public
class
CommonUtils
{
/**
* Long数字转字符串
* @param number Long数字
* @return
* @author PENG
*/
public
static
String
longToString
(
Long
number
)
{
return
number
==
null
?
"0"
:
number
.
toString
();
}
/**
* 获取Boolean类型的值(处理为null的情况)
* @param value Boolean值
* @return
*/
public
static
Boolean
getBooleanValue
(
Boolean
value
)
{
return
value
==
null
?
false
:
value
;
}
/**
* 两个时间之间的秒数
* @param date1 时间1
* @param date2 时间2
* @return
* @author PENG
*/
public
static
Integer
subSecond
(
Date
date1
,
Date
date2
)
{
long
d1
=
date1
.
getTime
();
long
d2
=
date2
.
getTime
();
int
sub
=
(
int
)
((
d1
-
d2
)
/
1000
);
return
sub
;
}
/**
* 获取今日所剩秒数
* @return
* @author PENG
*/
public
static
Integer
todayRemainingSeconds
()
{
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
new
Date
());
cal
.
set
(
Calendar
.
HOUR_OF_DAY
,
23
);
cal
.
set
(
Calendar
.
MINUTE
,
59
);
cal
.
set
(
Calendar
.
SECOND
,
59
);
Integer
second
=
subSecond
(
cal
.
getTime
(),
new
Date
());
if
(
second
<=
0
)
{
second
=
1
;
}
return
second
;
}
/**
* 收集起始时间到结束时间之间所有的时间并以字符串集合方式返回
* @param timeStart 开始时间
* @param timeEnd 截止时间
* @return
* @author PENG
*/
public
static
List
<
String
>
collectLocalDates
(
Date
timeStart
,
Date
timeEnd
)
{
List
<
String
>
result
=
new
ArrayList
<>();
Calendar
start
=
Calendar
.
getInstance
();
start
.
setTime
(
timeStart
);
Calendar
end
=
Calendar
.
getInstance
();
end
.
setTime
(
timeEnd
);
while
(
start
.
before
(
end
)
||
start
.
equals
(
end
))
{
result
.
add
(
DateNewUtils
.
getShortDateStr
(
start
.
getTime
()));
start
.
add
(
Calendar
.
DAY_OF_YEAR
,
1
);
}
return
result
;
}
/**
* 收集起始时间到结束时间之间所有的时间并以字符串集合方式返回
* @param timeStart 开始时间
* @param timeEnd 截止时间
* @return
* @author PENG
*/
public
static
List
<
String
>
collectLocalDates
(
String
timeStart
,
String
timeEnd
)
{
Date
startDate
=
DateNewUtils
.
getDateByStr
(
timeStart
);
Date
endDate
=
DateNewUtils
.
getDateByStr
(
timeEnd
);
return
collectLocalDates
(
startDate
,
endDate
);
}
}
pcloud-service-book/src/main/resources/mapper/advertising/AdvertisingAdviserPermissionMapper.xml
0 → 100644
View file @
536594d4
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" >
<mapper
namespace=
"com.pcloud.book.advertising.dao.impl.AdvertisingAdviserPermissionDaoImpl"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.advertising.entity.AdvertisingAdviserPermission"
>
<id
column=
"id"
property=
"id"
jdbcType=
"INTEGER"
/>
<result
column=
"adviser_id"
property=
"adviserId"
jdbcType=
"INTEGER"
/>
<result
column=
"book_id"
property=
"bookId"
jdbcType=
"INTEGER"
/>
<result
column=
"channel_id"
property=
"channelId"
jdbcType=
"INTEGER"
/>
<result
column=
"is_open"
property=
"isOpen"
jdbcType=
"BIT"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, adviser_id, book_id, channel_id, is_open, create_time, update_time
</sql>
<select
id=
"getById"
resultMap=
"BaseResultMap"
parameterType=
"Long"
>
select
<include
refid=
"Base_Column_List"
/>
from advertising_adviser_permission
where id = #{id}
</select>
<select
id=
"getByAdviserId"
resultMap=
"BaseResultMap"
parameterType=
"map"
>
select
<include
refid=
"Base_Column_List"
/>
from advertising_adviser_permission
where adviser_id = #{adviserId}
and book_id = #{bookId}
and channel_id = #{channelId}
</select>
<select
id=
"checkBookOpen"
parameterType=
"map"
resultType=
"Boolean"
>
SELECT
IF (
adp.is_open = 0
OR (
adp.is_open IS NULL
AND ap.is_open = 0
),
0,
1
) isOpen
FROM
book_adviser a
LEFT JOIN advertising_agent_permission ap ON ap.agent_id = #{agentId}
LEFT JOIN advertising_adviser_permission adp ON adp.adviser_id = a.ADVISER_ID
AND adp.channel_id = a.CHANNEL_ID
AND adp.book_id = a.BOOK_ID
WHERE
a.BOOK_ID = #{bookId}
AND a.ADVISER_ID = #{adviserId}
AND a.CHANNEL_ID = #{channelId}
AND a.IS_MAIN_EDITOR = 1
</select>
<delete
id=
"deleteById"
parameterType=
"Long"
>
delete from advertising_adviser_permission
where id = #{id}
</delete>
<delete
id=
"deleteByAdviserId"
parameterType=
"Long"
>
delete from advertising_adviser_permission
where adviser_id = #{adviserId}
</delete>
<insert
id=
"insert"
parameterType=
"com.pcloud.book.advertising.entity.AdvertisingAdviserPermission"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into advertising_adviser_permission
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
adviser_id,
book_id,
channel_id,
is_open,
create_time,
update_time,
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
#{adviserId,jdbcType=INTEGER},
#{bookId,jdbcType=INTEGER},
#{channelId,jdbcType=INTEGER},
#{isOpen,jdbcType=BIT},
NOW(),
NOW(),
</trim>
</insert>
<insert
id=
"batchInsert"
parameterType=
"com.pcloud.book.advertising.entity.AdvertisingAdviserPermission"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into advertising_adviser_permission (
adviser_id,
book_id,
channel_id,
is_open,
create_time,
update_time
) values
<foreach
collection=
"list"
item=
"item"
index=
"index"
separator=
","
>
(#{item.adviserId,jdbcType=INTEGER},
#{item.bookId,jdbcType=INTEGER},
#{item.channelId,jdbcType=INTEGER},
#{item.isOpen,jdbcType=BIT},
NOW(),
NOW())
</foreach>
</insert>
<update
id=
"update"
parameterType=
"com.pcloud.book.advertising.entity.AdvertisingAdviserPermission"
>
update advertising_adviser_permission
<set>
<if
test=
"adviserId != null"
>
adviser_id = #{adviserId,jdbcType=INTEGER},
</if>
<if
test=
"bookId != null"
>
book_id = #{bookId,jdbcType=INTEGER},
</if>
<if
test=
"channelId != null"
>
channel_id = #{channelId,jdbcType=INTEGER},
</if>
<if
test=
"isOpen != null"
>
is_open = #{isOpen,jdbcType=BIT},
</if>
update_time = NOW(),
</set>
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/advertising/AdvertisingAgentPermissionMapper.xml
0 → 100644
View file @
536594d4
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" >
<mapper
namespace=
"com.pcloud.book.advertising.dao.impl.AdvertisingAgentPermissionDaoImpl"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.advertising.entity.AdvertisingAgentPermission"
>
<id
column=
"id"
property=
"id"
jdbcType=
"INTEGER"
/>
<result
column=
"agent_id"
property=
"agentId"
jdbcType=
"INTEGER"
/>
<result
column=
"is_open"
property=
"isOpen"
jdbcType=
"BIT"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, agent_id, is_open, create_time, update_time
</sql>
<select
id=
"getById"
resultMap=
"BaseResultMap"
parameterType=
"Long"
>
select
<include
refid=
"Base_Column_List"
/>
from advertising_agent_permission
where id = #{id}
</select>
<select
id=
"getByAgentId"
resultMap=
"BaseResultMap"
parameterType=
"Long"
>
select
<include
refid=
"Base_Column_List"
/>
from advertising_agent_permission
where agent_id = #{agentId}
</select>
<delete
id=
"deleteById"
parameterType=
"Long"
>
delete from advertising_agent_permission
where id = #{id}
</delete>
<insert
id=
"insert"
parameterType=
"com.pcloud.book.advertising.entity.AdvertisingAgentPermission"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into advertising_agent_permission
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
agent_id,
is_open,
create_time,
update_time,
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
#{agentId,jdbcType=INTEGER},
#{isOpen,jdbcType=BIT},
NOW(),
NOW(),
</trim>
</insert>
<update
id=
"update"
parameterType=
"com.pcloud.book.advertising.entity.AdvertisingAgentPermission"
>
update advertising_agent_permission
<set>
<if
test=
"agentId != null"
>
agent_id = #{agentId,jdbcType=INTEGER},
</if>
<if
test=
"isOpen != null"
>
is_open = #{isOpen,jdbcType=BIT},
</if>
update_time = NOW(),
</set>
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/advertising/AdvertisingClickRecordMapper.xml
0 → 100644
View file @
536594d4
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" >
<mapper
namespace=
"com.pcloud.book.advertising.dao.impl.AdvertisingClickRecordDaoImpl"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.advertising.entity.AdvertisingClickRecord"
>
<id
column=
"id"
property=
"id"
jdbcType=
"INTEGER"
/>
<result
column=
"ad_id"
property=
"adId"
jdbcType=
"INTEGER"
/>
<result
column=
"book_id"
property=
"bookId"
jdbcType=
"INTEGER"
/>
<result
column=
"scene_id"
property=
"sceneId"
jdbcType=
"INTEGER"
/>
<result
column=
"adviser_id"
property=
"adviserId"
jdbcType=
"INTEGER"
/>
<result
column=
"agent_id"
property=
"agentId"
jdbcType=
"INTEGER"
/>
<result
column=
"channel_id"
property=
"channelId"
jdbcType=
"INTEGER"
/>
<result
column=
"official_account_id"
property=
"officialAccountId"
jdbcType=
"INTEGER"
/>
<result
column=
"from_type"
property=
"fromType"
jdbcType=
"VARCHAR"
/>
<result
column=
"from_id"
property=
"fromId"
jdbcType=
"INTEGER"
/>
<result
column=
"wechat_user_id"
property=
"wechatUserId"
jdbcType=
"INTEGER"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"create_day"
property=
"createDay"
jdbcType=
"DATE"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, ad_id, book_id, scene_id, adviser_id, agent_id, channel_id, official_account_id, from_type,
from_id, wechat_user_id, create_time, create_day
</sql>
<select
id=
"getById"
resultMap=
"BaseResultMap"
parameterType=
"Long"
>
select
<include
refid=
"Base_Column_List"
/>
from advertising_click_record
where id = #{id}
</select>
<select
id=
"getClickNum"
parameterType=
"map"
resultType=
"Long"
>
SELECT
count(1)
FROM
advertising_click_record
WHERE
ad_id = #{adId}
<if
test=
"bookId != null"
>
AND book_id = #{bookId}
AND adviser_id = #{adviserId}
AND channel_id = #{channelId}
</if>
<if
test=
"fromId != null"
>
AND from_id = #{fromId}
AND from_type = #{fromType}
</if>
</select>
<delete
id=
"deleteById"
parameterType=
"Long"
>
delete from advertising_click_record
where id = #{id}
</delete>
<insert
id=
"insert"
parameterType=
"com.pcloud.book.advertising.entity.AdvertisingClickRecord"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into advertising_click_record
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
ad_id,
book_id,
scene_id,
adviser_id,
agent_id,
channel_id,
official_account_id,
from_type,
from_id,
wechat_user_id,
create_time,
create_day,
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
#{adId,jdbcType=INTEGER},
#{bookId,jdbcType=INTEGER},
#{sceneId,jdbcType=INTEGER},
#{adviserId,jdbcType=INTEGER},
#{agentId,jdbcType=INTEGER},
#{channelId,jdbcType=INTEGER},
#{officialAccountId,jdbcType=INTEGER},
#{fromType,jdbcType=VARCHAR},
#{fromId,jdbcType=INTEGER},
#{wechatUserId,jdbcType=INTEGER},
NOW(),
NOW(),
</trim>
</insert>
<update
id=
"update"
parameterType=
"com.pcloud.book.advertising.entity.AdvertisingClickRecord"
>
update advertising_click_record
<set>
<if
test=
"adId != null"
>
ad_id = #{adId,jdbcType=INTEGER},
</if>
<if
test=
"bookId != null"
>
book_id = #{bookId,jdbcType=INTEGER},
</if>
<if
test=
"sceneId != null"
>
scene_id = #{sceneId,jdbcType=INTEGER},
</if>
<if
test=
"adviserId != null"
>
adviser_id = #{adviserId,jdbcType=INTEGER},
</if>
<if
test=
"agentId != null"
>
agent_id = #{agentId,jdbcType=INTEGER},
</if>
<if
test=
"channelId != null"
>
channel_id = #{channelId,jdbcType=INTEGER},
</if>
<if
test=
"officialAccountId != null"
>
official_account_id = #{officialAccountId,jdbcType=INTEGER},
</if>
<if
test=
"fromType != null"
>
from_type = #{fromType,jdbcType=VARCHAR},
</if>
<if
test=
"fromId != null"
>
from_id = #{fromId,jdbcType=INTEGER},
</if>
<if
test=
"wechatUserId != null"
>
wechat_user_id = #{wechatUserId,jdbcType=INTEGER},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/advertising/AdvertisingDistributionBookMapper.xml
0 → 100644
View file @
536594d4
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" >
<mapper
namespace=
"com.pcloud.book.advertising.dao.impl.AdvertisingDistributionBookDaoImpl"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.advertising.entity.AdvertisingDistributionBook"
>
<id
column=
"id"
property=
"id"
jdbcType=
"INTEGER"
/>
<result
column=
"ad_id"
property=
"adId"
jdbcType=
"INTEGER"
/>
<result
column=
"book_id"
property=
"bookId"
jdbcType=
"INTEGER"
/>
<result
column=
"adviser_id"
property=
"adviserId"
jdbcType=
"INTEGER"
/>
<result
column=
"agent_id"
property=
"agentId"
jdbcType=
"INTEGER"
/>
<result
column=
"channel_id"
property=
"channelId"
jdbcType=
"INTEGER"
/>
<result
column=
"distribution_time"
property=
"distributionTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, ad_id, book_id, adviser_id, agent_id, channel_id, distribution_time
</sql>
<select
id=
"getById"
resultMap=
"BaseResultMap"
parameterType=
"Long"
>
select
<include
refid=
"Base_Column_List"
/>
from advertising_distribution_book
where id = #{id}
</select>
<select
id=
"getByAdId"
resultMap=
"BaseResultMap"
parameterType=
"Long"
>
select
<include
refid=
"Base_Column_List"
/>
from advertising_distribution_book
where ad_id = #{adId}
</select>
<select
id=
"checkBookIdExist"
parameterType=
"list"
resultType=
"Long"
>
select
b.book_id
from
advertising_distribution_book b,
advertising_space s
where
b.ad_id = s.id
and s.is_open = 1
and b.book_id in
<foreach
collection=
"list"
index=
"i"
item=
"item"
open=
"("
separator=
","
close=
")"
>
${item}
</foreach>
</select>
<select
id=
"checkAdSpaceHasBook"
parameterType=
"map"
resultType=
"Boolean"
>
select
exists (
select
id
from
advertising_distribution_book
where
ad_id = #{adId}
)
</select>
<delete
id=
"deleteById"
parameterType=
"Long"
>
delete from advertising_distribution_book
where id = #{id}
</delete>
<insert
id=
"insert"
parameterType=
"com.pcloud.book.advertising.entity.AdvertisingDistributionBook"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into advertising_distribution_book
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
ad_id,
book_id,
adviser_id,
agent_id,
channel_id,
distribution_time,
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
#{adId,jdbcType=INTEGER},
#{bookId,jdbcType=INTEGER},
#{adviserId,jdbcType=INTEGER},
#{agentId,jdbcType=INTEGER},
#{channelId,jdbcType=INTEGER},
NOW(),
</trim>
</insert>
<insert
id=
"batchInsert"
parameterType=
"com.pcloud.book.advertising.entity.AdvertisingDistributionBook"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into advertising_distribution_book (
ad_id,
book_id,
adviser_id,
agent_id,
channel_id,
distribution_time
) values
<foreach
collection=
"list"
item=
"item"
index=
"index"
separator=
","
>
(#{item.adId,jdbcType=INTEGER},
#{item.bookId,jdbcType=INTEGER},
#{item.adviserId,jdbcType=INTEGER},
#{item.agentId,jdbcType=INTEGER},
#{item.channelId,jdbcType=INTEGER},
NOW())
</foreach>
</insert>
<update
id=
"update"
parameterType=
"com.pcloud.book.advertising.entity.AdvertisingDistributionBook"
>
update advertising_distribution_book
<set>
<if
test=
"adId != null"
>
ad_id = #{adId,jdbcType=INTEGER},
</if>
<if
test=
"bookId != null"
>
book_id = #{bookId,jdbcType=INTEGER},
</if>
<if
test=
"adviserId != null"
>
adviser_id = #{adviserId,jdbcType=INTEGER},
</if>
<if
test=
"agentId != null"
>
agent_id = #{agentId,jdbcType=INTEGER},
</if>
<if
test=
"channelId != null"
>
channel_id = #{channelId,jdbcType=INTEGER},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/advertising/AdvertisingExposureRecordMapper.xml
0 → 100644
View file @
536594d4
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" >
<mapper
namespace=
"com.pcloud.book.advertising.dao.impl.AdvertisingExposureRecordDaoImpl"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.advertising.entity.AdvertisingExposureRecord"
>
<id
column=
"id"
property=
"id"
jdbcType=
"INTEGER"
/>
<result
column=
"ad_id"
property=
"adId"
jdbcType=
"INTEGER"
/>
<result
column=
"book_id"
property=
"bookId"
jdbcType=
"INTEGER"
/>
<result
column=
"scene_id"
property=
"sceneId"
jdbcType=
"INTEGER"
/>
<result
column=
"adviser_id"
property=
"adviserId"
jdbcType=
"INTEGER"
/>
<result
column=
"agent_id"
property=
"agentId"
jdbcType=
"INTEGER"
/>
<result
column=
"channel_id"
property=
"channelId"
jdbcType=
"INTEGER"
/>
<result
column=
"official_account_id"
property=
"officialAccountId"
jdbcType=
"INTEGER"
/>
<result
column=
"from_type"
property=
"fromType"
jdbcType=
"VARCHAR"
/>
<result
column=
"from_id"
property=
"fromId"
jdbcType=
"INTEGER"
/>
<result
column=
"wechat_user_id"
property=
"wechatUserId"
jdbcType=
"INTEGER"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"create_day"
property=
"createDay"
jdbcType=
"DATE"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, ad_id, book_id, scene_id, adviser_id, agent_id, channel_id, official_account_id, from_type,
from_id, wechat_user_id, create_time, create_day
</sql>
<select
id=
"getById"
resultMap=
"BaseResultMap"
parameterType=
"Long"
>
select
<include
refid=
"Base_Column_List"
/>
from advertising_exposure_record
where id = #{id}
</select>
<select
id=
"getExposureNum"
parameterType=
"map"
resultType=
"Long"
>
SELECT
count(1)
FROM
advertising_exposure_record
WHERE
ad_id = #{adId}
<if
test=
"bookId != null"
>
AND book_id = #{bookId}
AND adviser_id = #{adviserId}
AND channel_id = #{channelId}
</if>
<if
test=
"fromId != null"
>
AND from_id = #{fromId}
AND from_type = #{fromType}
</if>
</select>
<select
id=
"distributionDateStatics"
resultType=
"com.pcloud.book.advertising.dto.DateCountDTO"
parameterType=
"map"
>
SELECT
tmp.date,
ifnull(count(DISTINCT er.id), 0) exposureNum,
ifnull(count(DISTINCT cr.id), 0) clickNum
FROM
<foreach
collection=
"collectDates"
index=
"index"
item=
"item"
open=
"("
separator=
"date union all"
close=
"date ) tmp"
>
select '${item}'
</foreach>
LEFT JOIN advertising_exposure_record er ON er.create_day = tmp.date
AND er.ad_id = #{adId}
LEFT JOIN advertising_click_record cr ON cr.create_day = tmp.date
AND cr.ad_id = #{adId}
GROUP BY
tmp.date
ORDER BY
tmp.date
</select>
<select
id=
"distributionAppStatics"
resultType=
"com.pcloud.book.advertising.dto.DistributionAppDTO"
parameterType=
"map"
>
SELECT
er.from_type fromType,
er.from_id fromId,
count(DISTINCT er.id) exposureNum,
count(DISTINCT cr.id) clickNum
FROM
advertising_exposure_record er
LEFT JOIN advertising_click_record cr ON er.ad_id = cr.ad_id
AND er.from_type = cr.from_type
AND er.from_id = cr.from_id
WHERE
er.ad_id = #{adId}
GROUP BY
er.from_type,
er.from_id
ORDER BY
er.create_time ASC
</select>
<delete
id=
"deleteById"
parameterType=
"Long"
>
delete from advertising_exposure_record
where id = #{id}
</delete>
<insert
id=
"insert"
parameterType=
"com.pcloud.book.advertising.entity.AdvertisingExposureRecord"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into advertising_exposure_record
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
ad_id,
book_id,
scene_id,
adviser_id,
agent_id,
channel_id,
official_account_id,
from_type,
from_id,
wechat_user_id,
create_time,
create_day,
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
#{adId,jdbcType=INTEGER},
#{bookId,jdbcType=INTEGER},
#{sceneId,jdbcType=INTEGER},
#{adviserId,jdbcType=INTEGER},
#{agentId,jdbcType=INTEGER},
#{channelId,jdbcType=INTEGER},
#{officialAccountId,jdbcType=INTEGER},
#{fromType,jdbcType=VARCHAR},
#{fromId,jdbcType=INTEGER},
#{wechatUserId,jdbcType=INTEGER},
NOW(),
NOW(),
</trim>
</insert>
<update
id=
"update"
parameterType=
"com.pcloud.book.advertising.entity.AdvertisingExposureRecord"
>
update advertising_exposure_record
<set>
<if
test=
"adId != null"
>
ad_id = #{adId,jdbcType=INTEGER},
</if>
<if
test=
"bookId != null"
>
book_id = #{bookId,jdbcType=INTEGER},
</if>
<if
test=
"sceneId != null"
>
scene_id = #{sceneId,jdbcType=INTEGER},
</if>
<if
test=
"adviserId != null"
>
adviser_id = #{adviserId,jdbcType=INTEGER},
</if>
<if
test=
"agentId != null"
>
agent_id = #{agentId,jdbcType=INTEGER},
</if>
<if
test=
"channelId != null"
>
channel_id = #{channelId,jdbcType=INTEGER},
</if>
<if
test=
"officialAccountId != null"
>
official_account_id = #{officialAccountId,jdbcType=INTEGER},
</if>
<if
test=
"fromType != null"
>
from_type = #{fromType,jdbcType=VARCHAR},
</if>
<if
test=
"fromId != null"
>
from_id = #{fromId,jdbcType=INTEGER},
</if>
<if
test=
"wechatUserId != null"
>
wechat_user_id = #{wechatUserId,jdbcType=INTEGER},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/advertising/AdvertisingSpaceMapper.xml
0 → 100644
View file @
536594d4
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" >
<mapper
namespace=
"com.pcloud.book.advertising.dao.impl.AdvertisingSpaceDaoImpl"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.advertising.entity.AdvertisingSpace"
>
<id
column=
"id"
property=
"id"
jdbcType=
"INTEGER"
/>
<result
column=
"ad_name"
property=
"adName"
jdbcType=
"VARCHAR"
/>
<result
column=
"ad_position"
property=
"adPosition"
jdbcType=
"VARCHAR"
/>
<result
column=
"ad_source"
property=
"adSource"
jdbcType=
"VARCHAR"
/>
<result
column=
"ad_link"
property=
"adLink"
jdbcType=
"VARCHAR"
/>
<result
column=
"source_id"
property=
"sourceId"
jdbcType=
"VARCHAR"
/>
<result
column=
"ad_slogan"
property=
"adSlogan"
jdbcType=
"VARCHAR"
/>
<result
column=
"ad_pic"
property=
"adPic"
jdbcType=
"VARCHAR"
/>
<result
column=
"distribution_type"
property=
"distributionType"
jdbcType=
"BIT"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"is_open"
property=
"isOpen"
jdbcType=
"BIT"
/>
</resultMap>
<resultMap
id=
"AdvertisingSpaceDTO"
type=
"com.pcloud.book.advertising.dto.AdvertisingSpaceDTO"
>
<id
column=
"id"
property=
"id"
jdbcType=
"INTEGER"
/>
<result
column=
"ad_name"
property=
"adName"
jdbcType=
"VARCHAR"
/>
<result
column=
"ad_position"
property=
"adPosition"
jdbcType=
"VARCHAR"
/>
<result
column=
"ad_source"
property=
"adSource"
jdbcType=
"VARCHAR"
/>
<result
column=
"ad_link"
property=
"adLink"
jdbcType=
"VARCHAR"
/>
<result
column=
"source_id"
property=
"sourceId"
jdbcType=
"VARCHAR"
/>
<result
column=
"ad_slogan"
property=
"adSlogan"
jdbcType=
"VARCHAR"
/>
<result
column=
"ad_pic"
property=
"adPic"
jdbcType=
"VARCHAR"
/>
<result
column=
"distribution_type"
property=
"distributionType"
jdbcType=
"BIT"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"is_open"
property=
"isOpen"
jdbcType=
"BIT"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, ad_name, ad_position, ad_source, ad_link, source_id, ad_slogan, ad_pic, distribution_type,
create_time, update_time, is_open
</sql>
<select
id=
"getById"
resultMap=
"BaseResultMap"
parameterType=
"Long"
>
select
<include
refid=
"Base_Column_List"
/>
from advertising_space
where id = #{id}
</select>
<select
id=
"getDTOById"
resultMap=
"AdvertisingSpaceDTO"
parameterType=
"Long"
>
select
<include
refid=
"Base_Column_List"
/>
from advertising_space
where id = #{id}
</select>
<select
id=
"getDTOByBookId"
resultMap=
"AdvertisingSpaceDTO"
parameterType=
"map"
>
SELECT
s.id,
s.ad_name,
s.ad_link,
s.ad_position,
s.ad_source,
s.source_id,
s.ad_slogan,
s.ad_pic
FROM
advertising_distribution_book b,
advertising_space s
WHERE
b.ad_id = s.id
AND s.is_open = 1
AND b.book_id = #{bookId}
AND b.adviser_id = #{adviserId}
AND b.channel_id = #{channelId}
ORDER BY
b.distribution_time DESC
LIMIT 1
</select>
<select
id=
"getNoSignBookAd"
resultMap=
"AdvertisingSpaceDTO"
parameterType=
"map"
>
SELECT
s.id,
s.ad_name,
s.ad_link,
s.ad_position,
s.ad_source,
s.source_id,
s.ad_slogan,
s.ad_pic
FROM
advertising_space s
WHERE
s.is_open = 1
and s.distribution_type = 1
ORDER BY
s.create_time DESC
LIMIT 1
</select>
<select
id=
"list"
parameterType=
"map"
resultMap=
"AdvertisingSpaceDTO"
>
select
<include
refid=
"Base_Column_List"
/>
from advertising_space
where 1 = 1
<if
test=
"name != null"
>
AND (ad_name LIKE CONCAT('%', #{name}, '%') OR source_id LIKE CONCAT(#{name},'%'))
</if>
ORDER BY
create_time DESC
</select>
<delete
id=
"deleteById"
parameterType=
"Long"
>
delete from advertising_space
where id = #{id}
</delete>
<insert
id=
"insert"
parameterType=
"com.pcloud.book.advertising.entity.AdvertisingSpace"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into advertising_space
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
ad_name,
ad_position,
ad_source,
ad_link,
source_id,
ad_slogan,
ad_pic,
distribution_type,
create_time,
update_time,
is_open,
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
#{adName,jdbcType=VARCHAR},
#{adPosition,jdbcType=VARCHAR},
#{adSource,jdbcType=VARCHAR},
#{adLink,jdbcType=VARCHAR},
#{sourceId,jdbcType=VARCHAR},
#{adSlogan,jdbcType=VARCHAR},
#{adPic,jdbcType=VARCHAR},
#{distributionType,jdbcType=BIT},
NOW(),
NOW(),
#{isOpen,jdbcType=BIT},
</trim>
</insert>
<update
id=
"update"
parameterType=
"com.pcloud.book.advertising.entity.AdvertisingSpace"
>
update advertising_space
<set>
<if
test=
"adName != null"
>
ad_name = #{adName,jdbcType=VARCHAR},
</if>
<if
test=
"adPosition != null"
>
ad_position = #{adPosition,jdbcType=VARCHAR},
</if>
<if
test=
"adSource != null"
>
ad_source = #{adSource,jdbcType=VARCHAR},
</if>
<if
test=
"adLink != null"
>
ad_link = #{adLink,jdbcType=VARCHAR},
</if>
<if
test=
"sourceId != null"
>
source_id = #{sourceId,jdbcType=VARCHAR},
</if>
<if
test=
"adSlogan != null"
>
ad_slogan = #{adSlogan,jdbcType=VARCHAR},
</if>
<if
test=
"adPic != null"
>
ad_pic = #{adPic,jdbcType=VARCHAR},
</if>
<if
test=
"distributionType != null"
>
distribution_type = #{distributionType,jdbcType=BIT},
</if>
update_time = NOW(),
<if
test=
"isOpen != null"
>
is_open = #{isOpen,jdbcType=BIT},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/book/Book.Mapper.xml
View file @
536594d4
...
...
@@ -511,6 +511,236 @@
</select>
<!-- 获取书籍列表(编辑) -->
<select
id=
"listBook4Adviser"
resultMap=
"bookMap"
parameterType=
"map"
>
SELECT
a.BOOK_ID,
a.CHANNEL_ID,
a.ADVISER_ID,
a.IS_MAIN_EDITOR,
b.ISBN,
b.BOOK_NAME,
b.REMARK,
b.AUTHOR,
b.PUBLISH,
b.PUBLISH_DATE,
b.COVER_IMG,
b.ORIGIN_NAME,
b.BOOK_PRICE,
b.ISSN,
b.BOOK_NUM,
b.SERIAL_NUMBER,
a.TEMPLET_ID,
a.CREATED_DATE,
a.LAST_MODIFIED_DATE,
a.BOOK_ADVISER_ID,
IF (
adp.is_open = 0
OR (
adp.is_open IS NULL
AND ap.is_open = 0
),
0,
1
) isOpen
FROM
BOOK_ADVISER a
INNER JOIN BOOK b ON a.BOOK_ID = b.BOOK_ID
AND a.ADVISER_ID = #{adviserId}
AND a.IS_DELETE = 0
AND b.IS_DELETE = 0
LEFT JOIN advertising_agent_permission ap ON ap.agent_id = #{agentId}
LEFT JOIN advertising_adviser_permission adp ON adp.adviser_id = a.ADVISER_ID
AND adp.channel_id = a.CHANNEL_ID
AND adp.book_id = a.BOOK_ID
WHERE
a.IS_MAIN_EDITOR = 1
<if
test=
"name != null"
>
AND (b.BOOK_NAME LIKE CONCAT('%', #{name}, '%') OR b.ISBN LIKE CONCAT(#{name},'%'))
</if>
GROUP BY
a.BOOK_ID,
a.CHANNEL_ID
ORDER BY
a.LAST_MODIFIED_DATE DESC
</select>
<!-- 获取书籍列表(编辑) -->
<select
id=
"listBook4AdvertisingSpace"
resultMap=
"bookMap"
parameterType=
"map"
>
SELECT
a.BOOK_ID,
a.CHANNEL_ID,
a.ADVISER_ID,
db.agent_id agentId,
b.ISBN,
b.BOOK_NAME,
b.COVER_IMG,
db.distribution_time distributionTime,
IF (
adp.is_open = 0
OR (
adp.is_open IS NULL
AND ap.is_open = 0
),
0,
1
) isOpen
FROM
BOOK_ADVISER a
INNER JOIN BOOK b ON a.BOOK_ID = b.BOOK_ID
AND a.IS_DELETE = 0
AND b.IS_DELETE = 0
INNER JOIN advertising_distribution_book db ON db.book_id = a.BOOK_ID
AND db.channel_id = a.CHANNEL_ID
AND db.adviser_id = a.ADVISER_ID
AND db.ad_id = #{adId}
LEFT JOIN advertising_agent_permission ap ON ap.agent_id = db.agent_id
LEFT JOIN advertising_adviser_permission adp ON adp.adviser_id = a.ADVISER_ID
AND adp.channel_id = a.CHANNEL_ID
AND adp.book_id = a.BOOK_ID
WHERE
1 = 1
<if
test=
"name != null"
>
AND (b.BOOK_NAME LIKE CONCAT('%', #{name}, '%') OR b.ISBN LIKE CONCAT(#{name},'%'))
</if>
GROUP BY
a.BOOK_ID,
a.CHANNEL_ID
ORDER BY
db.distribution_time DESC
</select>
<!-- 获取书籍列表(编辑) -->
<select
id=
"listBook4AdvertisingSpaceNoSignBook"
resultMap=
"bookMap"
parameterType=
"map"
>
SELECT
a.BOOK_ID,
a.CHANNEL_ID,
a.ADVISER_ID,
db.agent_id agentId,
b.ISBN,
b.BOOK_NAME,
b.COVER_IMG,
IF (
adp.is_open = 0
OR (
adp.is_open IS NULL
AND ap.is_open = 0
),
0,
1
) isOpen
FROM
BOOK_ADVISER a
INNER JOIN BOOK b ON a.BOOK_ID = b.BOOK_ID
AND a.IS_DELETE = 0
AND b.IS_DELETE = 0
INNER JOIN (
SELECT
book_id,
adviser_id,
channel_id,
agent_id
FROM
advertising_exposure_record
WHERE
ad_id = #{adId}
GROUP BY
book_id,
adviser_id,
channel_id
) db ON db.book_id = a.BOOK_ID
AND db.channel_id = a.CHANNEL_ID
AND db.adviser_id = a.ADVISER_ID
LEFT JOIN advertising_agent_permission ap ON ap.agent_id = db.agent_id
LEFT JOIN advertising_adviser_permission adp ON adp.adviser_id = a.ADVISER_ID
AND adp.channel_id = a.CHANNEL_ID
AND adp.book_id = a.BOOK_ID
WHERE
1 = 1
<if
test=
"name != null"
>
AND (b.BOOK_NAME LIKE CONCAT('%', #{name}, '%') OR b.ISBN LIKE CONCAT(#{name},'%'))
</if>
GROUP BY
a.BOOK_ID,
a.CHANNEL_ID
ORDER BY
a.CREATED_DATE DESC
</select>
<!-- 获取书籍列表(平台) -->
<select
id=
"listBook4Platform"
resultMap=
"bookMap"
parameterType=
"map"
>
SELECT
a.BOOK_ID,
a.CHANNEL_ID,
a.ADVISER_ID,
a.IS_MAIN_EDITOR,
b.ISBN,
b.BOOK_NAME,
b.REMARK,
b.AUTHOR,
b.PUBLISH,
b.PUBLISH_DATE,
b.COVER_IMG,
b.ORIGIN_NAME,
b.BOOK_PRICE,
b.ISSN,
b.BOOK_NUM,
b.SERIAL_NUMBER,
a.TEMPLET_ID,
a.CREATED_DATE,
a.LAST_MODIFIED_DATE,
a.BOOK_ADVISER_ID,
IF (t.id IS NOT NULL, 1, 0) isSelect
FROM
BOOK_ADVISER a
INNER JOIN BOOK b ON a.BOOK_ID = b.BOOK_ID
AND a.ADVISER_ID = #{adviserId}
AND a.IS_DELETE = 0
AND b.IS_DELETE = 0
LEFT JOIN (
SELECT
db.id,
db.ad_id,
db.book_id,
db.adviser_id,
db.channel_id
FROM
advertising_distribution_book db
INNER JOIN advertising_space s ON db.ad_id = s.id
AND s.is_open = 1
) t ON t.adviser_id = a.ADVISER_ID
AND t.channel_id = a.CHANNEL_ID
AND t.book_id = a.BOOK_ID
WHERE
a.IS_MAIN_EDITOR = 1
<if
test=
"name != null"
>
AND (b.BOOK_NAME LIKE CONCAT('%', #{name}, '%') OR b.ISBN LIKE CONCAT(#{name},'%'))
</if>
GROUP BY
a.BOOK_ID,
a.CHANNEL_ID
ORDER BY
a.CREATED_DATE DESC
</select>
<!-- 获取书籍列表(编辑) -->
<select
id=
"listBookIdAndChannelId4Adviser"
resultMap=
"bookMap"
parameterType=
"map"
>
SELECT
a.BOOK_ID,
a.CHANNEL_ID
FROM
BOOK_ADVISER a
INNER JOIN BOOK b ON a.BOOK_ID = b.BOOK_ID
AND a.ADVISER_ID = #{adviserId}
AND a.IS_DELETE = 0
AND b.IS_DELETE = 0
WHERE
a.IS_MAIN_EDITOR = 1
GROUP BY
a.BOOK_ID,
a.CHANNEL_ID
</select>
<!-- 获取书籍列表(编辑) -->
<select
id=
"listBook"
resultMap=
"bookMap"
parameterType=
"map"
>
SELECT
A.BOOK_ID, A.CHANNEL_ID, A.ADVISER_ID, A.IS_MAIN_EDITOR, T.TYPE_CODE, T.TYPE_NAME, B.ISBN, B.BOOK_NAME, B.REMARK,
...
...
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