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
80028367
Commit
80028367
authored
Jun 15, 2022
by
吴博
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/1007307' into 'release'
feat: [1007307] 多渠道抖音 See merge request rays/pcloud-book!1607
parents
c3a0a668
656a61ee
Show whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
1136 additions
and
6 deletions
+1136
-6
ChannelConsr.java
...main/java/com/pcloud/book/consumer/user/ChannelConsr.java
+19
-2
MultiChannelContentBiz.java
...ava/com/pcloud/book/group/biz/MultiChannelContentBiz.java
+72
-0
MultiChannelContentItemBiz.java
...com/pcloud/book/group/biz/MultiChannelContentItemBiz.java
+72
-0
MultiChannelContentBizImpl.java
...cloud/book/group/biz/impl/MultiChannelContentBizImpl.java
+160
-0
MultiChannelContentItemBizImpl.java
...d/book/group/biz/impl/MultiChannelContentItemBizImpl.java
+103
-0
ResourcePageBizImpl.java
...a/com/pcloud/book/group/biz/impl/ResourcePageBizImpl.java
+55
-1
ResourcePageConstants.java
...com/pcloud/book/group/constant/ResourcePageConstants.java
+4
-2
MultiChannelContentDao.java
...ava/com/pcloud/book/group/dao/MultiChannelContentDao.java
+17
-0
MultiChannelContentItemDao.java
...com/pcloud/book/group/dao/MultiChannelContentItemDao.java
+18
-0
MultiChannelContentDaoImpl.java
...cloud/book/group/dao/impl/MultiChannelContentDaoImpl.java
+27
-0
MultiChannelContentItemDaoImpl.java
...d/book/group/dao/impl/MultiChannelContentItemDaoImpl.java
+27
-0
MultiChannelContentDTO.java
...ava/com/pcloud/book/group/dto/MultiChannelContentDTO.java
+31
-0
MultiChannelContentItemDTO.java
...com/pcloud/book/group/dto/MultiChannelContentItemDTO.java
+64
-0
MultiChannelContent.java
...ava/com/pcloud/book/group/entity/MultiChannelContent.java
+43
-0
MultiChannelContentItem.java
...com/pcloud/book/group/entity/MultiChannelContentItem.java
+41
-0
MultiChannelContentFacade.java
...m/pcloud/book/group/facade/MultiChannelContentFacade.java
+82
-0
MultiChannelContentItemFacade.java
...loud/book/group/facade/MultiChannelContentItemFacade.java
+82
-0
ResourcePageItemVO.java
...ain/java/com/pcloud/book/group/vo/ResourcePageItemVO.java
+3
-0
MultiChannelContent.Mapper.xml
...ain/resources/mapper/group/MultiChannelContent.Mapper.xml
+103
-0
MultiChannelContentItem.Mapper.xml
...resources/mapper/group/MultiChannelContentItem.Mapper.xml
+112
-0
ResourcePageItemDao.xml
...k/src/main/resources/mapper/group/ResourcePageItemDao.xml
+1
-1
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/consumer/user/ChannelConsr.java
View file @
80028367
...
...
@@ -6,6 +6,8 @@ package com.pcloud.book.consumer.user;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.pcloud.channelcenter.base.exceptions.ChannelBizException
;
import
com.pcloud.channelcenter.channel.dto.DouyinVideoDTO
;
import
com.pcloud.channelcenter.channel.service.ChannelCenterService
;
import
com.pcloud.channelcenter.qrcode.dto.AdviserQrcodeSceneDTO
;
import
com.pcloud.channelcenter.qrcode.dto.Book4CatalogDTO
;
import
com.pcloud.channelcenter.qrcode.dto.MapResourceCountDTO
;
...
...
@@ -14,8 +16,8 @@ import com.pcloud.channelcenter.qrcode.dto.QrcodeSceneDto;
import
com.pcloud.channelcenter.qrcode.service.QrcodeLocationAssocService
;
import
com.pcloud.channelcenter.qrcode.service.QrcodeSceneService
;
import
com.pcloud.channelcenter.qrcode.vo.BookQrcodeVO
;
import
com.pcloud.channelcenter.wechat.dto.AccountSettingDto
;
import
com.pcloud.channelcenter.qrcode.vo.ServeIdTypeVO
;
import
com.pcloud.channelcenter.wechat.dto.AccountSettingDto
;
import
com.pcloud.channelcenter.wechat.entity.AccountSetting
;
import
com.pcloud.channelcenter.wechat.service.AccountSettingService
;
import
com.pcloud.channelcenter.wechat.service.MessageService
;
...
...
@@ -25,7 +27,7 @@ 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.promotion.base.exception.PromotionException
;
import
com.pcloud.promotion.base.exception.PromotionException
;
import
com.pcloud.usercenter.party.channel.service.ChannelService
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -62,6 +64,8 @@ public class ChannelConsr {
private
AccountSettingService
accountSettingService
;
@Autowired
private
QrcodeLocationAssocService
qrcodeLocationAssocService
;
@Autowired
private
ChannelCenterService
channelCenterService
;
/**
* 获取渠道名称
...
...
@@ -391,4 +395,17 @@ public class ChannelConsr {
}
return
sendState
;
}
public
Map
<
String
,
DouyinVideoDTO
>
getDouyinVideoByItemIds
(
List
<
String
>
itemIds
)
{
Map
<
String
,
DouyinVideoDTO
>
douyinVideoDTOMap
=
new
HashMap
<>();
if
(
CollUtil
.
isEmpty
(
itemIds
))
{
return
douyinVideoDTOMap
;
}
try
{
douyinVideoDTOMap
=
ResponseHandleUtil
.
parseMap
(
channelCenterService
.
getDouyinVideoByItemIds
(
itemIds
),
String
.
class
,
DouyinVideoDTO
.
class
);
}
catch
(
BizException
e
)
{
LOGGER
.
warn
(
"channelCenterService.getDouyinVideoByItemIds"
+
e
.
getMessage
(),
e
);
}
return
douyinVideoDTOMap
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/MultiChannelContentBiz.java
0 → 100644
View file @
80028367
package
com
.
pcloud
.
book
.
group
.
biz
;
import
com.pcloud.book.group.dto.MultiChannelContentDTO
;
import
com.pcloud.book.group.entity.MultiChannelContent
;
import
com.pcloud.common.page.PageBeanNew
;
import
java.util.List
;
/**
* (MultiChannelContent)表服务接口
*
* @author wubo
* @since 2022-06-06 19:11:46
*/
public
interface
MultiChannelContentBiz
{
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
MultiChannelContent
getById
(
Long
id
);
/**
* 分页查询
*/
PageBeanNew
getList
(
Integer
currentPage
,
Integer
numPerPage
);
/**
* 新增数据
*
* @param multiChannelContent 实例对象
* @return 主键
*/
Long
insert
(
MultiChannelContent
multiChannelContent
);
/**
* 修改数据
*
* @param multiChannelContent 实例对象
*/
void
update
(
MultiChannelContent
multiChannelContent
);
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
void
deleteById
(
Long
id
);
/**
* 通过主键软删除数据
*
* @param id 主键
* @return 是否成功
*/
void
softDeleteById
(
Long
id
);
/**
* 批量新增
* @param multiChannelContentDTOS
*/
void
batchInsert
(
List
<
MultiChannelContentDTO
>
multiChannelContentDTOS
);
/**
*
* @param multiChannelContentIds
* @return
*/
List
<
MultiChannelContentDTO
>
selectList
(
List
<
Long
>
multiChannelContentIds
);
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/MultiChannelContentItemBiz.java
0 → 100644
View file @
80028367
package
com
.
pcloud
.
book
.
group
.
biz
;
import
com.pcloud.book.group.dto.MultiChannelContentItemDTO
;
import
com.pcloud.book.group.entity.MultiChannelContentItem
;
import
com.pcloud.common.page.PageBeanNew
;
import
java.util.List
;
/**
* (MultiChannelContentItem)表服务接口
*
* @author wubo
* @since 2022-06-06 19:12:16
*/
public
interface
MultiChannelContentItemBiz
{
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
MultiChannelContentItem
getById
(
Long
id
);
/**
* 分页查询
*/
PageBeanNew
getList
(
Integer
currentPage
,
Integer
numPerPage
);
/**
* 新增数据
*
* @param multiChannelContentItem 实例对象
* @return 主键
*/
Long
insert
(
MultiChannelContentItem
multiChannelContentItem
);
/**
* 修改数据
*
* @param multiChannelContentItem 实例对象
*/
void
update
(
MultiChannelContentItem
multiChannelContentItem
);
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
void
deleteById
(
Long
id
);
/**
* 通过主键软删除数据
*
* @param id 主键
* @return 是否成功
*/
void
softDeleteById
(
Long
id
);
/**
* 批量新增
* @param multiChannelContentItems
*/
void
insert
(
List
<
MultiChannelContentItem
>
multiChannelContentItems
);
/**
* 批量获取多渠道内容
* @param multiChannelContentIds
* @return
*/
List
<
MultiChannelContentItemDTO
>
getByMultiChannelContentId
(
List
<
Long
>
multiChannelContentIds
);
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/impl/MultiChannelContentBizImpl.java
0 → 100644
View file @
80028367
package
com
.
pcloud
.
book
.
group
.
biz
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
com.pcloud.book.consumer.user.ChannelConsr
;
import
com.pcloud.book.group.biz.MultiChannelContentBiz
;
import
com.pcloud.book.group.biz.MultiChannelContentItemBiz
;
import
com.pcloud.book.group.dao.MultiChannelContentDao
;
import
com.pcloud.book.group.dto.MultiChannelContentDTO
;
import
com.pcloud.book.group.dto.MultiChannelContentItemDTO
;
import
com.pcloud.book.group.entity.MultiChannelContent
;
import
com.pcloud.book.group.entity.MultiChannelContentItem
;
import
com.pcloud.channelcenter.channel.dto.DouyinVideoDTO
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.NumberUtil
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* (MultiChannelContent)表服务实现类
*
* @author wubo
* @since 2022-06-06 19:11:46
*/
@Service
(
"multiChannelContentBiz"
)
public
class
MultiChannelContentBizImpl
implements
MultiChannelContentBiz
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
MultiChannelContentBizImpl
.
class
);
@Autowired
private
MultiChannelContentDao
multiChannelContentDao
;
@Autowired
private
MultiChannelContentItemBiz
multiChannelContentItemBiz
;
@Autowired
private
ChannelConsr
channelConsr
;
@Override
@ParamLog
(
"通过ID查询单条数据"
)
public
MultiChannelContent
getById
(
Long
id
)
{
return
multiChannelContentDao
.
getById
(
id
);
}
@Override
@ParamLog
(
"查询多条数据"
)
public
PageBeanNew
getList
(
Integer
currentPage
,
Integer
numPerPage
)
{
PageBeanNew
pageBeanNew
=
multiChannelContentDao
.
listPageNew
(
new
PageParam
(
currentPage
,
numPerPage
),
null
,
"getList"
);
List
recordList
=
pageBeanNew
.
getRecordList
();
if
(
ListUtils
.
isEmpty
(
recordList
)){
return
pageBeanNew
;
}
// 加载其它数据
return
pageBeanNew
;
}
@Override
@ParamLog
(
"新增"
)
public
Long
insert
(
MultiChannelContent
multiChannelContent
)
{
multiChannelContentDao
.
insert
(
multiChannelContent
);
return
multiChannelContent
.
getId
();
}
@Override
@ParamLog
(
"修改"
)
public
void
update
(
MultiChannelContent
multiChannelContent
)
{
if
(
multiChannelContent
==
null
||
!
NumberUtil
.
isNumber
(
multiChannelContent
.
getId
())){
throw
BizException
.
PARAM_IS_NULL
;
}
multiChannelContentDao
.
update
(
multiChannelContent
);
}
@Override
@ParamLog
(
"删除"
)
public
void
deleteById
(
Long
id
)
{
multiChannelContentDao
.
deleteById
(
id
);
}
@Override
@ParamLog
(
"软删除"
)
public
void
softDeleteById
(
Long
id
)
{
multiChannelContentDao
.
softDeleteById
(
id
);
}
@Override
public
void
batchInsert
(
List
<
MultiChannelContentDTO
>
multiChannelContentDTOS
)
{
if
(
CollUtil
.
isEmpty
(
multiChannelContentDTOS
))
{
return
;
}
List
<
MultiChannelContent
>
multiChannelContents
=
new
ArrayList
<>();
Map
<
MultiChannelContentDTO
,
MultiChannelContent
>
multiChannelContentMap
=
new
HashMap
<>();
for
(
MultiChannelContentDTO
multiChannelContentDTO
:
multiChannelContentDTOS
)
{
MultiChannelContent
multiChannelContent
=
BeanUtil
.
copyProperties
(
multiChannelContentDTO
,
MultiChannelContent
.
class
);
multiChannelContents
.
add
(
multiChannelContent
);
multiChannelContentMap
.
put
(
multiChannelContentDTO
,
multiChannelContent
);
}
multiChannelContentDao
.
insert
(
multiChannelContents
);
List
<
MultiChannelContentItemDTO
>
multiChannelContentItemDTOS
=
new
ArrayList
<>();
multiChannelContents
.
stream
().
forEach
(
e
->
{
if
(
CollUtil
.
isEmpty
(
e
.
getMultiChannelContentItems
()))
{
return
;
}
e
.
getMultiChannelContentItems
().
forEach
(
f
->
f
.
setMultiChannelContentId
(
e
.
getId
()));
multiChannelContentItemDTOS
.
addAll
(
e
.
getMultiChannelContentItems
());
});
if
(
CollUtil
.
isEmpty
(
multiChannelContentItemDTOS
))
{
return
;
}
List
<
MultiChannelContentItem
>
multiChannelContentItems
=
BeanUtil
.
copyToList
(
multiChannelContentItemDTOS
,
MultiChannelContentItem
.
class
);
multiChannelContentItemBiz
.
insert
(
multiChannelContentItems
);
//复制id
for
(
MultiChannelContentDTO
e
:
multiChannelContentDTOS
)
{
for
(
Map
.
Entry
<
MultiChannelContentDTO
,
MultiChannelContent
>
entry
:
multiChannelContentMap
.
entrySet
())
{
if
(
entry
.
getKey
().
equals
(
e
))
{
e
.
setId
(
entry
.
getValue
().
getId
());
}
}
/* MultiChannelContent multiChannelContent = multiChannelContentMap.get(e);
e.setId(null != multiChannelContent ? multiChannelContent.getId() : null);*/
}
}
@Override
public
List
<
MultiChannelContentDTO
>
selectList
(
List
<
Long
>
multiChannelContentIds
)
{
List
<
MultiChannelContentDTO
>
multiChannelContentDTOS
=
new
ArrayList
<>();
if
(
CollUtil
.
isEmpty
(
multiChannelContentIds
))
{
return
multiChannelContentDTOS
;
}
List
<
MultiChannelContent
>
multiChannelContents
=
multiChannelContentDao
.
selectList
(
multiChannelContentIds
);
List
<
MultiChannelContentItemDTO
>
multiChannelContentItemDTOS
=
multiChannelContentItemBiz
.
getByMultiChannelContentId
(
multiChannelContentIds
);
if
(
CollUtil
.
isEmpty
(
multiChannelContents
)
||
CollUtil
.
isEmpty
(
multiChannelContentItemDTOS
))
{
return
multiChannelContentDTOS
;
}
multiChannelContentDTOS
=
BeanUtil
.
copyToList
(
multiChannelContents
,
MultiChannelContentDTO
.
class
);
List
<
String
>
itemIds
=
multiChannelContentItemDTOS
.
stream
().
map
(
e
->
e
.
getItemId
()).
collect
(
Collectors
.
toList
());
Map
<
String
,
DouyinVideoDTO
>
douyinVideoDTOMap
=
channelConsr
.
getDouyinVideoByItemIds
(
itemIds
);
multiChannelContentItemDTOS
.
stream
().
forEach
(
e
->
{
if
(
CollUtil
.
isNotEmpty
(
douyinVideoDTOMap
)
||
null
!=
douyinVideoDTOMap
.
get
(
e
.
getItemId
()))
{
DouyinVideoDTO
douyinVideoDTO
=
douyinVideoDTOMap
.
get
(
e
.
getItemId
());
BeanUtil
.
copyProperties
(
douyinVideoDTO
,
e
,
"id"
);
}
});
Map
<
Long
,
List
<
MultiChannelContentItemDTO
>>
itemDTOMap
=
multiChannelContentItemDTOS
.
stream
().
collect
(
Collectors
.
groupingBy
(
MultiChannelContentItemDTO:
:
getMultiChannelContentId
));
multiChannelContentDTOS
.
stream
().
forEach
(
e
->
{
e
.
setMultiChannelContentItems
(
itemDTOMap
.
get
(
e
.
getId
()));
});
return
multiChannelContentDTOS
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/impl/MultiChannelContentItemBizImpl.java
0 → 100644
View file @
80028367
package
com
.
pcloud
.
book
.
group
.
biz
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
com.pcloud.book.group.dto.MultiChannelContentItemDTO
;
import
com.pcloud.book.group.entity.MultiChannelContentItem
;
import
com.pcloud.book.group.dao.MultiChannelContentItemDao
;
import
com.pcloud.book.group.biz.MultiChannelContentItemBiz
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.NumberUtil
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* (MultiChannelContentItem)表服务实现类
*
* @author wubo
* @since 2022-06-06 19:12:16
*/
@Service
(
"multiChannelContentItemBiz"
)
public
class
MultiChannelContentItemBizImpl
implements
MultiChannelContentItemBiz
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
MultiChannelContentItemBizImpl
.
class
);
@Autowired
private
MultiChannelContentItemDao
multiChannelContentItemDao
;
@Override
@ParamLog
(
"通过ID查询单条数据"
)
public
MultiChannelContentItem
getById
(
Long
id
)
{
return
multiChannelContentItemDao
.
getById
(
id
);
}
@Override
@ParamLog
(
"查询多条数据"
)
public
PageBeanNew
getList
(
Integer
currentPage
,
Integer
numPerPage
)
{
PageBeanNew
pageBeanNew
=
multiChannelContentItemDao
.
listPageNew
(
new
PageParam
(
currentPage
,
numPerPage
),
null
,
"getList"
);
List
recordList
=
pageBeanNew
.
getRecordList
();
if
(
ListUtils
.
isEmpty
(
recordList
)){
return
pageBeanNew
;
}
// 加载其它数据
return
pageBeanNew
;
}
@Override
@ParamLog
(
"新增"
)
public
Long
insert
(
MultiChannelContentItem
multiChannelContentItem
)
{
multiChannelContentItemDao
.
insert
(
multiChannelContentItem
);
return
multiChannelContentItem
.
getId
();
}
@Override
@ParamLog
(
"修改"
)
public
void
update
(
MultiChannelContentItem
multiChannelContentItem
)
{
if
(
multiChannelContentItem
==
null
||
!
NumberUtil
.
isNumber
(
multiChannelContentItem
.
getId
())){
throw
BizException
.
PARAM_IS_NULL
;
}
multiChannelContentItemDao
.
update
(
multiChannelContentItem
);
}
@Override
@ParamLog
(
"删除"
)
public
void
deleteById
(
Long
id
)
{
multiChannelContentItemDao
.
deleteById
(
id
);
}
@Override
@ParamLog
(
"软删除"
)
public
void
softDeleteById
(
Long
id
)
{
multiChannelContentItemDao
.
softDeleteById
(
id
);
}
@Override
public
void
insert
(
List
<
MultiChannelContentItem
>
multiChannelContentItems
)
{
multiChannelContentItemDao
.
insert
(
multiChannelContentItems
);
}
@Override
public
List
<
MultiChannelContentItemDTO
>
getByMultiChannelContentId
(
List
<
Long
>
multiChannelContentIds
)
{
List
<
MultiChannelContentItemDTO
>
multiChannelContentItemDTOS
=
new
ArrayList
<>();
if
(
CollUtil
.
isEmpty
(
multiChannelContentIds
))
{
return
multiChannelContentItemDTOS
;
}
List
<
MultiChannelContentItem
>
multiChannelContentItems
=
multiChannelContentItemDao
.
getByMultiChannelContentId
(
multiChannelContentIds
);
if
(
CollUtil
.
isEmpty
(
multiChannelContentItems
))
{
return
multiChannelContentItemDTOS
;
}
multiChannelContentItemDTOS
=
BeanUtil
.
copyToList
(
multiChannelContentItems
,
MultiChannelContentItemDTO
.
class
);
return
multiChannelContentItemDTOS
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/impl/ResourcePageBizImpl.java
View file @
80028367
...
...
@@ -58,6 +58,7 @@ import com.pcloud.book.consumer.wxwork.WxworkConsr;
import
com.pcloud.book.copyright.biz.BookAuthServeBiz
;
import
com.pcloud.book.es.biz.ESBookAndAdviserBiz
;
import
com.pcloud.book.group.biz.BookGroupBiz
;
import
com.pcloud.book.group.biz.MultiChannelContentBiz
;
import
com.pcloud.book.group.biz.ResourcePageBiz
;
import
com.pcloud.book.group.biz.ResourcePageBookstoreBiz
;
import
com.pcloud.book.group.biz.ResourcePageOuterLinkBiz
;
...
...
@@ -83,6 +84,7 @@ import com.pcloud.book.group.dto.BookGroupServeDTO;
import
com.pcloud.book.group.dto.BookServeDTO
;
import
com.pcloud.book.group.dto.MemberActivityBookSetDTO
;
import
com.pcloud.book.group.dto.MessagServeDTO
;
import
com.pcloud.book.group.dto.MultiChannelContentDTO
;
import
com.pcloud.book.group.dto.NavigationParamDTO
;
import
com.pcloud.book.group.dto.OwnQrcodeMessageDTO
;
import
com.pcloud.book.group.dto.ResourcePageCourseDTO
;
...
...
@@ -334,6 +336,8 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
private
BookAuthServeBiz
bookAuthServeBiz
;
@Autowired
private
ResourcePageOuterLinkBiz
resourcePageOuterLinkBiz
;
@Autowired
private
MultiChannelContentBiz
multiChannelContentBiz
;
@Value
(
"${book.share.defaultTitle}"
)
...
...
@@ -654,6 +658,12 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
addOuterLink
.
forEach
(
e
->
e
.
setResourceColumnId
(
resourcePageColumnId
));
resourcePageOuterLinkBiz
.
batchInsert
(
addOuterLink
);
}
// 新增多渠道
List
<
MultiChannelContentDTO
>
multiChannelContentDTOS
=
updateResourceColumnVO
.
getItemVOList
().
stream
().
filter
(
this
::
checkIsMultiChannel
)
.
map
(
ResourcePageItemVO:
:
getMultiChannelContent
).
peek
(
this
::
checkMultiChannelParam
).
collect
(
Collectors
.
toList
());
if
(
CollUtil
.
isNotEmpty
(
multiChannelContentDTOS
))
{
multiChannelContentBiz
.
batchInsert
(
multiChannelContentDTOS
);
}
//作品id
List
<
Long
>
productIds4Shelve
=
updateResourceColumnVO
.
getItemVOList
().
stream
().
filter
(
s
->
s
.
getServeType
().
equals
(
ResourcePageConstants
.
ServeTypeEnum
.
PRODUCT
.
getValue
())).
map
(
ResourcePageItemVO:
:
getServeId
).
distinct
().
collect
(
Collectors
.
toList
());
if
(!
ListUtils
.
isEmpty
(
updateResourceColumnVO
.
getItemVOList
()))
{
...
...
@@ -686,6 +696,10 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
if
(
ResourcePageConstants
.
ColumnTypeEnum
.
OUTER_LINK
.
getCode
().
equals
(
updateResourceColumnVO
.
getColumnType
()))
{
item
.
setServeId
(
itemVO
.
getResourcePageOuterLink
().
getId
());
}
//多渠道
if
(
ResourcePageConstants
.
ColumnTypeEnum
.
MULTI_CHANNEL
.
getCode
().
equals
(
updateResourceColumnVO
.
getColumnType
()))
{
item
.
setServeId
(
itemVO
.
getMultiChannelContent
().
getId
());
}
itemList
.
add
(
item
);
}
resourcePageItemDao
.
insert
(
itemList
);
...
...
@@ -708,6 +722,20 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
}
}
private
void
checkMultiChannelParam
(
MultiChannelContentDTO
multiChannelContentDTO
)
{
if
(
Objects
.
isNull
(
multiChannelContentDTO
.
getChannelType
()))
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"请选择多渠道渠道!"
);
}
if
(
null
==
multiChannelContentDTO
.
getUserId
())
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"授权用户id不能为null!"
);
}
if
(
CollUtil
.
isEmpty
(
multiChannelContentDTO
.
getMultiChannelContentItems
()))
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"配置内容不能为null"
);
}
}
private
void
checkOutLinkParam
(
ResourcePageOuterLink
resourcePageOuterLink
)
{
if
(
Objects
.
isNull
(
resourcePageOuterLink
.
getOriginId
()))
{
...
...
@@ -729,6 +757,12 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
&&
Objects
.
nonNull
(
resourcePageItemVO
.
getResourcePageOuterLink
());
}
private
boolean
checkIsMultiChannel
(
@Nullable
ResourcePageItemVO
resourcePageItemVO
)
{
return
Objects
.
nonNull
(
resourcePageItemVO
)
&&
Objects
.
equals
(
ServeTypeEnum
.
MULTI_CHANNEL
.
getValue
(),
resourcePageItemVO
.
getServeType
())
&&
Objects
.
nonNull
(
resourcePageItemVO
.
getMultiChannelContent
());
}
private
void
checkResourceColumn
(
UpdateResourceColumnVO
updateResourceColumnVO
)
throws
BizException
{
if
(
null
!=
updateResourceColumnVO
.
getShowMore
()
&&
updateResourceColumnVO
.
getShowMore
()
&&
null
==
updateResourceColumnVO
.
getShowCount
())
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少展示更多数量"
);
...
...
@@ -743,7 +777,8 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少书刊链接来源"
);
}
if
(!(
ResourcePageConstants
.
ServeTypeEnum
.
OFFICIAL_ACCOUNT
.
getValue
().
equals
(
itemVO
.
getServeType
())
||
ResourcePageConstants
.
ServeTypeEnum
.
OUTER_LINK
.
getValue
().
equals
(
itemVO
.
getServeType
()))
ResourcePageConstants
.
ServeTypeEnum
.
OUTER_LINK
.
getValue
().
equals
(
itemVO
.
getServeType
())
||
ResourcePageConstants
.
ServeTypeEnum
.
MULTI_CHANNEL
.
getValue
().
equals
(
itemVO
.
getServeType
()))
&&
(
null
==
itemVO
.
getServeId
()
||
StringUtil
.
isEmpty
(
itemVO
.
getServeType
())))
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少资源id或类型"
);
}
...
...
@@ -4402,6 +4437,8 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
List
<
ResourceColumnAndServeVO
>
removeColumns
=
new
ArrayList
<>();
// 填充外链
fillOuterLink
(
itemVOList
);
//填充多渠道
fillMultiChannel
(
itemVOList
);
Map
<
Long
,
List
<
ResourcePageItemVO
>>
columnMap
=
itemVOList
.
stream
().
collect
(
Collectors
.
groupingBy
(
ResourcePageItemVO:
:
getResourcePageColumnId
));
for
(
ResourceColumnAndServeVO
columnAndServeVO
:
serveVOS
)
{
List
<
ResourcePageItemVO
>
itemVOS
=
columnMap
.
get
(
columnAndServeVO
.
getResourcePageColumnId
());
...
...
@@ -4426,6 +4463,23 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
return
removeColumns
;
}
private
void
fillMultiChannel
(
List
<
ResourcePageItemVO
>
resourcePageItemVOList
)
{
if
(
CollUtil
.
isEmpty
(
resourcePageItemVOList
))
{
return
;
}
List
<
Long
>
multiChannelContentIds
=
resourcePageItemVOList
.
stream
().
filter
(
s
->
ServeTypeEnum
.
MULTI_CHANNEL
.
getValue
().
equals
(
s
.
getServeType
())).
map
(
e
->
e
.
getServeId
()).
collect
(
Collectors
.
toList
());
if
(
CollUtil
.
isEmpty
(
multiChannelContentIds
))
{
return
;
}
List
<
MultiChannelContentDTO
>
multiChannelContentDTOS
=
multiChannelContentBiz
.
selectList
(
multiChannelContentIds
);
if
(
CollUtil
.
isEmpty
(
multiChannelContentDTOS
))
{
return
;
}
Map
<
Long
,
MultiChannelContentDTO
>
multiChannelContentDTOMap
=
multiChannelContentDTOS
.
stream
().
collect
(
Collectors
.
toMap
(
MultiChannelContentDTO:
:
getId
,
Function
.
identity
(),
(
K1
,
K2
)
->
(
K1
)));
resourcePageItemVOList
.
stream
().
forEach
(
e
->
e
.
setMultiChannelContent
(
multiChannelContentDTOMap
.
get
(
e
.
getServeId
())));
}
@Override
public
Integer
saveShareConfig
(
ResourcePageShareParam
param
)
{
checkShareParam
(
param
);
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/constant/ResourcePageConstants.java
View file @
80028367
...
...
@@ -34,7 +34,8 @@ public class ResourcePageConstants {
RAYS_TOOL
(
7
,
"RAYS工具"
,
new
String
[]{
ServeTypeEnum
.
APP
.
getValue
()}),
MEMBER_ACTIVITY
(
8
,
"平台会员活动"
,
new
String
[]{
ServeTypeEnum
.
MEMBER_ACTIVITY
.
getValue
()}),
CHANNEL_SHOP
(
9
,
"运营商城"
,
new
String
[]{
ServeTypeEnum
.
SHOP
.
getValue
()}),
OUTER_LINK
(
10
,
"外链"
,
new
String
[]{
ServeTypeEnum
.
OUTER_LINK
.
getValue
()});
OUTER_LINK
(
10
,
"外链"
,
new
String
[]{
ServeTypeEnum
.
OUTER_LINK
.
getValue
()}),
MULTI_CHANNEL
(
12
,
"多渠道资源"
,
new
String
[]{
ServeTypeEnum
.
MULTI_CHANNEL
.
getValue
()});
private
Integer
code
;
private
String
name
;
...
...
@@ -91,7 +92,8 @@ public class ResourcePageConstants {
NO_SERVE
(
"NO_SERVE"
,
"无服务"
),
SHOP
(
"SHOP"
,
"运营商城"
),
RESOURCE
(
"RESOURCE"
,
"素材"
),
OUTER_LINK
(
"OUTER_LINK"
,
"外链"
);
OUTER_LINK
(
"OUTER_LINK"
,
"外链"
),
MULTI_CHANNEL
(
"MULTI_CHANNEL"
,
"多渠道资源"
);
private
String
value
;
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/MultiChannelContentDao.java
0 → 100644
View file @
80028367
package
com
.
pcloud
.
book
.
group
.
dao
;
import
com.pcloud.book.group.entity.MultiChannelContent
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.List
;
/**
* (MultiChannelContent)表数据库访问层
*
* @author wubo
* @since 2022-06-06 19:11:46
*/
public
interface
MultiChannelContentDao
extends
BaseDao
<
MultiChannelContent
>
{
int
softDeleteById
(
Long
id
);
List
<
MultiChannelContent
>
selectList
(
List
<
Long
>
multiChannelContentIds
);
}
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/MultiChannelContentItemDao.java
0 → 100644
View file @
80028367
package
com
.
pcloud
.
book
.
group
.
dao
;
import
com.pcloud.book.group.entity.MultiChannelContent
;
import
com.pcloud.book.group.entity.MultiChannelContentItem
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.List
;
/**
* (MultiChannelContentItem)表数据库访问层
*
* @author wubo
* @since 2022-06-06 19:12:16
*/
public
interface
MultiChannelContentItemDao
extends
BaseDao
<
MultiChannelContentItem
>
{
int
softDeleteById
(
Long
id
);
List
<
MultiChannelContentItem
>
getByMultiChannelContentId
(
List
<
Long
>
multiChannelContentIds
);
}
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/impl/MultiChannelContentDaoImpl.java
0 → 100644
View file @
80028367
package
com
.
pcloud
.
book
.
group
.
dao
.
impl
;
import
com.pcloud.book.group.entity.MultiChannelContent
;
import
com.pcloud.book.group.dao.MultiChannelContentDao
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Repository
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* (MultiChannelContent)表数据库访问层
*
* @author wubo
* @since 2022-06-06 19:11:46
*/
@Repository
(
"multiChannelContentDaoImpl"
)
public
class
MultiChannelContentDaoImpl
extends
BaseDaoImpl
<
MultiChannelContent
>
implements
MultiChannelContentDao
{
public
int
softDeleteById
(
Long
id
)
{
return
getSessionTemplate
().
update
(
getStatement
(
"softDeleteById"
),
id
);
}
@Override
public
List
<
MultiChannelContent
>
selectList
(
List
<
Long
>
multiChannelContentIds
)
{
return
getSessionTemplate
().
selectList
(
getStatement
(
"selectList"
),
multiChannelContentIds
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/impl/MultiChannelContentItemDaoImpl.java
0 → 100644
View file @
80028367
package
com
.
pcloud
.
book
.
group
.
dao
.
impl
;
import
com.pcloud.book.group.entity.MultiChannelContentItem
;
import
com.pcloud.book.group.dao.MultiChannelContentItemDao
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* (MultiChannelContentItem)表数据库访问层
*
* @author wubo
* @since 2022-06-06 19:12:16
*/
@Repository
(
"multiChannelContentItemDaoImpl"
)
public
class
MultiChannelContentItemDaoImpl
extends
BaseDaoImpl
<
MultiChannelContentItem
>
implements
MultiChannelContentItemDao
{
public
int
softDeleteById
(
Long
id
)
{
return
getSessionTemplate
().
update
(
getStatement
(
"softDeleteById"
),
id
);
}
@Override
public
List
<
MultiChannelContentItem
>
getByMultiChannelContentId
(
List
<
Long
>
multiChannelContentIds
)
{
return
getSessionTemplate
().
selectList
(
getStatement
(
"getByMultiChannelContentId"
),
multiChannelContentIds
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/dto/MultiChannelContentDTO.java
0 → 100644
View file @
80028367
package
com
.
pcloud
.
book
.
group
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
/**
* @author 吴博
* @date 2022/06/06 19:12
**/
@Data
public
class
MultiChannelContentDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
72951487589096388L
;
@ApiModelProperty
(
"主键id"
)
private
Long
id
;
@ApiModelProperty
(
"渠道类型 1 抖音"
)
private
Integer
channelType
;
@ApiModelProperty
(
"授权用户id"
)
private
Long
userId
;
private
List
<
MultiChannelContentItemDTO
>
multiChannelContentItems
;
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/group/dto/MultiChannelContentItemDTO.java
0 → 100644
View file @
80028367
package
com
.
pcloud
.
book
.
group
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author 吴博
* @date 2022/06/06 19:13
**/
@Data
public
class
MultiChannelContentItemDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
55475516566200414L
;
@ApiModelProperty
(
"主键id"
)
private
Long
id
;
@ApiModelProperty
(
"多渠道内容id"
)
private
Long
multiChannelContentId
;
@ApiModelProperty
(
"资源唯一id"
)
private
String
itemId
;
@ApiModelProperty
(
"封面"
)
private
String
cover
;
@ApiModelProperty
(
"用户id"
)
private
Long
userId
;
@ApiModelProperty
(
"标题"
)
private
String
title
;
@ApiModelProperty
(
"媒体类型。2:图集;4:视频"
)
private
Integer
mediaType
;
@ApiModelProperty
(
"是否置顶"
)
private
String
isTop
;
@ApiModelProperty
(
"视频创建时间戳"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
createTime
;
@ApiModelProperty
(
"表示是否审核结束。审核通过或者失败都会返回true,审核中返回false。"
)
private
Integer
isReviewed
;
@ApiModelProperty
(
"表示视频状态。1:已发布; 2:不适宜公开; 4:审核中"
)
private
String
videoStatus
;
@ApiModelProperty
(
"视频播放页面。视频播放页可能会失效,请在观看视频前调用/video/data/获取最新的播放页"
)
private
String
shareUrl
;
@ApiModelProperty
(
"更新时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
updateTime
;
@ApiModelProperty
(
"是否删除"
)
private
Integer
isDelete
;
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/group/entity/MultiChannelContent.java
0 → 100644
View file @
80028367
package
com
.
pcloud
.
book
.
group
.
entity
;
import
java.util.Date
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.pcloud.book.group.dto.MultiChannelContentItemDTO
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* (MultiChannelContent)实体类
*
* @author wubo
* @since 2022-06-06 19:11:39
*/
@Data
public
class
MultiChannelContent
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
-
72951424589096388L
;
@ApiModelProperty
(
"主键id"
)
private
Long
id
;
@ApiModelProperty
(
"渠道类型 1 抖音"
)
private
Integer
channelType
;
@ApiModelProperty
(
"授权用户id"
)
private
Long
userId
;
@ApiModelProperty
(
"创建时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
createTime
;
@ApiModelProperty
(
"更新时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
updateTime
;
private
List
<
MultiChannelContentItemDTO
>
multiChannelContentItems
;
}
pcloud-service-book/src/main/java/com/pcloud/book/group/entity/MultiChannelContentItem.java
0 → 100644
View file @
80028367
package
com
.
pcloud
.
book
.
group
.
entity
;
import
java.util.Date
;
import
java.math.BigDecimal
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* (MultiChannelContentItem)实体类
*
* @author wubo
* @since 2022-06-06 19:12:16
*/
@Data
public
class
MultiChannelContentItem
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
-
55475516566200414L
;
@ApiModelProperty
(
"主键id"
)
private
Long
id
;
@ApiModelProperty
(
"多渠道内容id"
)
private
Long
multiChannelContentId
;
@ApiModelProperty
(
"资源唯一id"
)
private
String
itemId
;
@ApiModelProperty
(
"封面"
)
private
String
cover
;
@ApiModelProperty
(
"创建时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
createTime
;
@ApiModelProperty
(
"更新时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
updateTime
;
}
pcloud-service-book/src/main/java/com/pcloud/book/group/facade/MultiChannelContentFacade.java
0 → 100644
View file @
80028367
package
com
.
pcloud
.
book
.
group
.
facade
;
import
com.pcloud.book.group.entity.MultiChannelContent
;
import
com.pcloud.book.group.biz.MultiChannelContentBiz
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.permission.PermissionException
;
import
com.pcloud.common.utils.SessionUtil
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
io.swagger.annotations.ApiOperation
;
/**
* (MultiChannelContent)表控制层
*
* @author wubo
* @since 2022-06-06 19:11:46
*/
@RestController
(
"multiChannelContentFacade"
)
@RequestMapping
(
"multiChannelContent"
)
public
class
MultiChannelContentFacade
{
@Autowired
private
MultiChannelContentBiz
multiChannelContentBiz
;
@ApiOperation
(
"通过主键查询单条数据"
)
@GetMapping
(
"getById"
)
public
ResponseDto
<?>
getById
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
Long
id
)
throws
BizException
,
PermissionException
{
SessionUtil
.
getToken4Redis
(
token
);
return
new
ResponseDto
<>(
multiChannelContentBiz
.
getById
(
id
));
}
@ApiOperation
(
"分页查询"
)
@GetMapping
(
"getList"
)
public
ResponseDto
<?>
getList
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"currentPage"
,
defaultValue
=
"0"
)
Integer
currentPage
,
@RequestParam
(
value
=
"numPerPage"
,
defaultValue
=
"10"
)
Integer
numPerPage
)
throws
BizException
,
PermissionException
{
SessionUtil
.
getToken4Redis
(
token
);
return
new
ResponseDto
<>(
multiChannelContentBiz
.
getList
(
currentPage
,
numPerPage
));
}
@ApiOperation
(
"新增"
)
@PostMapping
(
"insert"
)
public
ResponseDto
<?>
insert
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
MultiChannelContent
multiChannelContent
)
throws
BizException
,
PermissionException
{
SessionUtil
.
getToken4Redis
(
token
);
return
new
ResponseDto
<>(
multiChannelContentBiz
.
insert
(
multiChannelContent
));
}
@ApiOperation
(
"更新"
)
@PostMapping
(
"update"
)
public
ResponseDto
<?>
update
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
MultiChannelContent
multiChannelContent
)
throws
BizException
,
PermissionException
{
SessionUtil
.
getToken4Redis
(
token
);
multiChannelContentBiz
.
update
(
multiChannelContent
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
"删除"
)
@GetMapping
(
"deleteById"
)
public
ResponseDto
<?>
deleteById
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
Long
id
)
throws
BizException
,
PermissionException
{
SessionUtil
.
getToken4Redis
(
token
);
if
(
null
==
id
)
{
throw
BizException
.
PARAM_DELETION
;
}
multiChannelContentBiz
.
deleteById
(
id
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
"软删除"
)
@GetMapping
(
"softDeleteById"
)
public
ResponseDto
<?>
softDeleteById
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
Long
id
)
throws
BizException
,
PermissionException
{
SessionUtil
.
getToken4Redis
(
token
);
if
(
null
==
id
)
{
throw
BizException
.
PARAM_DELETION
;
}
multiChannelContentBiz
.
softDeleteById
(
id
);
return
new
ResponseDto
<>();
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/facade/MultiChannelContentItemFacade.java
0 → 100644
View file @
80028367
package
com
.
pcloud
.
book
.
group
.
facade
;
import
com.pcloud.book.group.entity.MultiChannelContentItem
;
import
com.pcloud.book.group.biz.MultiChannelContentItemBiz
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.permission.PermissionException
;
import
com.pcloud.common.utils.SessionUtil
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
io.swagger.annotations.ApiOperation
;
/**
* (MultiChannelContentItem)表控制层
*
* @author wubo
* @since 2022-06-06 19:12:16
*/
@RestController
(
"multiChannelContentItemFacade"
)
@RequestMapping
(
"multiChannelContentItem"
)
public
class
MultiChannelContentItemFacade
{
@Autowired
private
MultiChannelContentItemBiz
multiChannelContentItemBiz
;
@ApiOperation
(
"通过主键查询单条数据"
)
@GetMapping
(
"getById"
)
public
ResponseDto
<?>
getById
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
Long
id
)
throws
BizException
,
PermissionException
{
SessionUtil
.
getToken4Redis
(
token
);
return
new
ResponseDto
<>(
multiChannelContentItemBiz
.
getById
(
id
));
}
@ApiOperation
(
"分页查询"
)
@GetMapping
(
"getList"
)
public
ResponseDto
<?>
getList
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"currentPage"
,
defaultValue
=
"0"
)
Integer
currentPage
,
@RequestParam
(
value
=
"numPerPage"
,
defaultValue
=
"10"
)
Integer
numPerPage
)
throws
BizException
,
PermissionException
{
SessionUtil
.
getToken4Redis
(
token
);
return
new
ResponseDto
<>(
multiChannelContentItemBiz
.
getList
(
currentPage
,
numPerPage
));
}
@ApiOperation
(
"新增"
)
@PostMapping
(
"insert"
)
public
ResponseDto
<?>
insert
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
MultiChannelContentItem
multiChannelContentItem
)
throws
BizException
,
PermissionException
{
SessionUtil
.
getToken4Redis
(
token
);
return
new
ResponseDto
<>(
multiChannelContentItemBiz
.
insert
(
multiChannelContentItem
));
}
@ApiOperation
(
"更新"
)
@PostMapping
(
"update"
)
public
ResponseDto
<?>
update
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
MultiChannelContentItem
multiChannelContentItem
)
throws
BizException
,
PermissionException
{
SessionUtil
.
getToken4Redis
(
token
);
multiChannelContentItemBiz
.
update
(
multiChannelContentItem
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
"删除"
)
@GetMapping
(
"deleteById"
)
public
ResponseDto
<?>
deleteById
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
Long
id
)
throws
BizException
,
PermissionException
{
SessionUtil
.
getToken4Redis
(
token
);
if
(
null
==
id
)
{
throw
BizException
.
PARAM_DELETION
;
}
multiChannelContentItemBiz
.
deleteById
(
id
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
"软删除"
)
@GetMapping
(
"softDeleteById"
)
public
ResponseDto
<?>
softDeleteById
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
Long
id
)
throws
BizException
,
PermissionException
{
SessionUtil
.
getToken4Redis
(
token
);
if
(
null
==
id
)
{
throw
BizException
.
PARAM_DELETION
;
}
multiChannelContentItemBiz
.
softDeleteById
(
id
);
return
new
ResponseDto
<>();
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/vo/ResourcePageItemVO.java
View file @
80028367
...
...
@@ -4,6 +4,7 @@ import com.pcloud.book.applet.dto.AppletOuterBooklistDTO;
import
com.pcloud.book.applet.dto.GroupActivity4AppletDTO
;
import
com.pcloud.book.applet.entity.AppletThirdResources
;
import
com.pcloud.book.book.vo.response.BookQrcodeWxworkResponseVO
;
import
com.pcloud.book.group.dto.MultiChannelContentDTO
;
import
com.pcloud.book.group.entity.ResourcePageOuterLink
;
import
com.pcloud.common.dto.BaseDto
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
@@ -95,6 +96,8 @@ public class ResourcePageItemVO extends BaseDto{
private
BookQrcodeWxworkResponseVO
bookQrcodeWxworkResponseVO
;
@ApiModelProperty
(
"外链"
)
private
ResourcePageOuterLink
resourcePageOuterLink
;
@ApiModelProperty
(
"多渠道资源"
)
private
MultiChannelContentDTO
multiChannelContent
;
private
Long
sceneId
;
...
...
pcloud-service-book/src/main/resources/mapper/group/MultiChannelContent.Mapper.xml
0 → 100644
View file @
80028367
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.pcloud.book.group.dao.impl.MultiChannelContentDaoImpl"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.group.entity.MultiChannelContent"
>
<id
column=
"id"
property=
"id"
jdbcType=
"BIGINT"
/>
<result
column=
"channel_type"
property=
"channelType"
jdbcType=
"INTEGER"
/>
<result
column=
"user_id"
property=
"userId"
jdbcType=
"BIGINT"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, channel_type, user_id, create_time, update_time
</sql>
<select
id=
"getById"
resultMap=
"BaseResultMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM multi_channel_content
WHERE id = #{id}
</select>
<select
id=
"getList"
resultMap=
"BaseResultMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM multi_channel_content
</select>
<insert
id=
"insert"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
INSERT INTO multi_channel_content(
channel_type,
user_id,
create_time,
update_time
) VALUES (
#{channelType, jdbcType=INTEGER},
#{userId, jdbcType=BIGINT},
#{createTime, jdbcType=TIMESTAMP},
#{updateTime, jdbcType=TIMESTAMP}
)
</insert>
<insert
id=
"batchInsert"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
INSERT INTO multi_channel_content (
channel_type,
user_id,
create_time,
update_time
) VALUES
<foreach
collection=
"list"
item=
"item"
separator=
","
>
(
#{item.channelType, jdbcType=INTEGER},
#{item.userId, jdbcType=BIGINT},
now(),
now()
)
</foreach>
</insert>
<!--通过主键修改数据-->
<update
id=
"update"
>
UPDATE multi_channel_content
<set>
<if
test=
"channelType != null"
>
channel_type = #{channelType},
</if>
<if
test=
"userId != null"
>
user_id = #{userId},
</if>
<if
test=
"createTime != null"
>
create_time = #{createTime},
</if>
<if
test=
"updateTime != null"
>
update_time = #{updateTime},
</if>
</set>
WHERE id = #{id}
</update>
<!--通过主键删除-->
<delete
id=
"deleteById"
>
DELETE FROM multi_channel_content where id = #{id}
</delete>
<!--通过主键软删除-->
<delete
id=
"softDeleteById"
>
update multi_channel_content set is_delete = 1, update_time = now() where id = #{id}
</delete>
<select
id=
"selectList"
parameterType=
"list"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
FROM
multi_channel_content
where id in
<foreach
collection=
"list"
item=
"item"
index=
"index"
open=
"("
close=
")"
separator=
","
>
#{item}
</foreach>
</select>
</mapper>
pcloud-service-book/src/main/resources/mapper/group/MultiChannelContentItem.Mapper.xml
0 → 100644
View file @
80028367
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.pcloud.book.group.dao.impl.MultiChannelContentItemDaoImpl"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.group.entity.MultiChannelContentItem"
>
<id
column=
"id"
property=
"id"
jdbcType=
"BIGINT"
/>
<result
column=
"multi_channel_content_id"
property=
"multiChannelContentId"
jdbcType=
"BIGINT"
/>
<result
column=
"item_id"
property=
"itemId"
jdbcType=
"VARCHAR"
/>
<result
column=
"cover"
property=
"cover"
jdbcType=
"VARCHAR"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, multi_channel_content_id, item_id, cover, create_time, update_time
</sql>
<select
id=
"getById"
resultMap=
"BaseResultMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM multi_channel_content_item
WHERE id = #{id}
</select>
<select
id=
"getList"
resultMap=
"BaseResultMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM multi_channel_content_item
</select>
<insert
id=
"insert"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
INSERT INTO multi_channel_content_item(
multi_channel_content_id,
item_id,
cover,
create_time,
update_time
) VALUES (
#{multiChannelContentId, jdbcType=BIGINT},
#{itemId, jdbcType=VARCHAR},
#{cover, jdbcType=VARCHAR},
#{createTime, jdbcType=TIMESTAMP},
#{updateTime, jdbcType=TIMESTAMP}
)
</insert>
<insert
id=
"batchInsert"
>
INSERT INTO multi_channel_content_item (
multi_channel_content_id,
item_id,
cover,
create_time,
update_time
) VALUES
<foreach
collection=
"list"
item=
"item"
separator=
","
>
(
#{item.multiChannelContentId, jdbcType=BIGINT},
#{item.itemId, jdbcType=VARCHAR},
#{item.cover, jdbcType=VARCHAR},
now(),
now()
)
</foreach>
</insert>
<!--通过主键修改数据-->
<update
id=
"update"
>
UPDATE multi_channel_content_item
<set>
<if
test=
"multiChannelContentId != null"
>
multi_channel_content_id = #{multiChannelContentId},
</if>
<if
test=
"itemId != null and itemId != ''"
>
item_id = #{itemId},
</if>
<if
test=
"cover != null and cover != ''"
>
cover = #{cover},
</if>
<if
test=
"createTime != null"
>
create_time = #{createTime},
</if>
<if
test=
"updateTime != null"
>
update_time = #{updateTime},
</if>
</set>
WHERE id = #{id}
</update>
<!--通过主键删除-->
<delete
id=
"deleteById"
>
DELETE FROM multi_channel_content_item where id = #{id}
</delete>
<!--通过主键软删除-->
<delete
id=
"softDeleteById"
>
update multi_channel_content_item set is_delete = 1, update_time = now() where id = #{id}
</delete>
<select
id=
"getByMultiChannelContentId"
parameterType=
"long"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from
multi_channel_content_item
where
multi_channel_content_id in
<foreach
collection=
"list"
item=
"item"
index=
"index"
open=
"("
close=
")"
separator=
","
>
#{item}
</foreach>
</select>
</mapper>
pcloud-service-book/src/main/resources/mapper/group/ResourcePageItemDao.xml
View file @
80028367
...
...
@@ -28,7 +28,7 @@
<sql
id=
"Base_Column_List"
>
id, resource_page_id, resource_page_column_id, serve_id, serve_type, link_url, type_code, seq_num, is_show,
guide_content, logo_url, create_time, qrcode_source, qrcode_show_type, account_setting_id,
self_big_pic, self_small_pic, self_serve_name
self_big_pic, self_small_pic, self_serve_name
,item_id
</sql>
<!--查询单个-->
...
...
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