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
9f817115
Commit
9f817115
authored
Aug 11, 2020
by
吴博
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: [1003350] 小程序首页栏目资讯自更新
parent
78033bc4
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
758 additions
and
39 deletions
+758
-39
BookConstant.java
...main/java/com/pcloud/book/book/constant/BookConstant.java
+1
-0
AppletNewsBiz.java
...c/main/java/com/pcloud/book/applet/biz/AppletNewsBiz.java
+6
-0
AppletNewsPoolBiz.java
...in/java/com/pcloud/book/applet/biz/AppletNewsPoolBiz.java
+50
-0
AppletNewsBizImpl.java
...va/com/pcloud/book/applet/biz/impl/AppletNewsBizImpl.java
+90
-38
AppletNewsPoolBizImpl.java
...om/pcloud/book/applet/biz/impl/AppletNewsPoolBizImpl.java
+133
-0
AppletNewsDao.java
...c/main/java/com/pcloud/book/applet/dao/AppletNewsDao.java
+7
-0
AppletNewsPoolDAO.java
...in/java/com/pcloud/book/applet/dao/AppletNewsPoolDAO.java
+34
-0
AppletNewsDaoImpl.java
...va/com/pcloud/book/applet/dao/impl/AppletNewsDaoImpl.java
+5
-0
AppletNewsPoolDAOImpl.java
...om/pcloud/book/applet/dao/impl/AppletNewsPoolDAOImpl.java
+32
-0
AppletNewsDTO.java
...c/main/java/com/pcloud/book/applet/dto/AppletNewsDTO.java
+3
-0
AppletNewsPoolDTO.java
...in/java/com/pcloud/book/applet/dto/AppletNewsPoolDTO.java
+102
-0
AppletNewsPool.java
...in/java/com/pcloud/book/applet/entity/AppletNewsPool.java
+17
-0
NewsJumpTypeEnum.java
...n/java/com/pcloud/book/applet/enums/NewsJumpTypeEnum.java
+22
-0
NewsTypeEnum.java
.../main/java/com/pcloud/book/applet/enums/NewsTypeEnum.java
+28
-0
AppletHomeFacade.java
.../java/com/pcloud/book/applet/facade/AppletHomeFacade.java
+4
-1
AppletNewsPoolController.java
...m/pcloud/book/applet/facade/AppletNewsPoolController.java
+80
-0
AppletNews.xml
...vice-book/src/main/resources/mapper/applet/AppletNews.xml
+43
-0
AppletNewsPoolMapper.xml
...src/main/resources/mapper/applet/AppletNewsPoolMapper.xml
+101
-0
No files found.
pcloud-facade-book/src/main/java/com/pcloud/book/book/constant/BookConstant.java
View file @
9f817115
...
@@ -373,6 +373,7 @@ public class BookConstant {
...
@@ -373,6 +373,7 @@ public class BookConstant {
public
static
final
String
NO_RESOURCE_REMIND
=
"no_resource_remind"
;
public
static
final
String
NO_RESOURCE_REMIND
=
"no_resource_remind"
;
public
static
final
String
DEFAULT_NEWS_PIC
=
"https://oss.5rs.me/oss/uploadfe/jpg/c469a21a758b79e00783fe3a70a605c5.jpg"
;
/**
/**
* 群二维码永久图文素材,html 源代码
* 群二维码永久图文素材,html 源代码
*/
*/
...
...
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/AppletNewsBiz.java
View file @
9f817115
...
@@ -258,4 +258,10 @@ public interface AppletNewsBiz {
...
@@ -258,4 +258,10 @@ public interface AppletNewsBiz {
* * @param null
* * @param null
*/
*/
List
<
Long
>
getNewsIdListByCustomTagId
(
Long
customTagId
);
List
<
Long
>
getNewsIdListByCustomTagId
(
Long
customTagId
);
/**
* 批量插入资讯
* @param appletNewsList
*/
void
batchInsert
(
List
<
AppletNews
>
appletNewsList
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/AppletNewsPoolBiz.java
0 → 100644
View file @
9f817115
package
com
.
pcloud
.
book
.
applet
.
biz
;
import
com.pcloud.book.applet.dto.AppletNewsPoolDTO
;
import
com.pcloud.book.applet.entity.AppletNewsPool
;
import
com.pcloud.common.page.PageBeanNew
;
import
java.util.List
;
public
interface
AppletNewsPoolBiz
{
/**
* 根据id获取咨询详情
* @param id
* @return
*/
AppletNewsPool
getById
(
Long
id
);
/**
* 根据id更新资讯
* @param appletNewsPool
*/
void
update
(
AppletNewsPool
appletNewsPool
);
/**
* 批量删除
* @param ids
*/
void
batchDelete
(
List
<
Long
>
ids
);
/**
* 资讯池分页
* @param currentPage
* @param numPerPage
* @param newsName
* @param source
* @return
*/
PageBeanNew
<
AppletNewsPool
>
listNewsPage
(
Integer
currentPage
,
Integer
numPerPage
,
String
newsName
,
String
source
);
/**
* 获取来源列表
* @return
*/
List
<
String
>
listSource
();
/**
* 批量导入到资讯
* @param appletNewsPoolDTO
*/
void
batchImport
(
AppletNewsPoolDTO
appletNewsPoolDTO
);
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/impl/AppletNewsBizImpl.java
View file @
9f817115
...
@@ -60,6 +60,7 @@ import org.springframework.transaction.annotation.Transactional;
...
@@ -60,6 +60,7 @@ import org.springframework.transaction.annotation.Transactional;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.Comparator
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -150,6 +151,9 @@ public class AppletNewsBizImpl implements AppletNewsBiz {
...
@@ -150,6 +151,9 @@ public class AppletNewsBizImpl implements AppletNewsBiz {
Long
businessId
=
appletBusinessCardDao
.
insert
(
appletBusinessCard
);
Long
businessId
=
appletBusinessCardDao
.
insert
(
appletBusinessCard
);
appletNews
.
setBusinessCardId
(
businessId
);
appletNews
.
setBusinessCardId
(
businessId
);
}
}
if
(
null
==
appletNews
.
getNewsClassifyId
())
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"新增时栏目不能为空"
);
}
appletNews
.
setShowState
(
false
);
appletNews
.
setShowState
(
false
);
rightsSettingBiz
.
setClassifyAndLabel
(
appletNews
);
rightsSettingBiz
.
setClassifyAndLabel
(
appletNews
);
appletNewsDao
.
insert
(
appletNews
);
appletNewsDao
.
insert
(
appletNews
);
...
@@ -218,6 +222,9 @@ public class AppletNewsBizImpl implements AppletNewsBiz {
...
@@ -218,6 +222,9 @@ public class AppletNewsBizImpl implements AppletNewsBiz {
Long
businessId
=
appletBusinessCardDao
.
update
(
appletBusinessCard
);
Long
businessId
=
appletBusinessCardDao
.
update
(
appletBusinessCard
);
}
}
}
}
if
(
null
==
appletNews
.
getNewsClassifyId
())
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"更新时栏目不能为空"
);
}
AppletNews
beforeNews
=
appletNewsDao
.
getById
(
appletNews
.
getId
());
AppletNews
beforeNews
=
appletNewsDao
.
getById
(
appletNews
.
getId
());
rightsSettingBiz
.
setClassifyAndLabel
(
appletNews
);
rightsSettingBiz
.
setClassifyAndLabel
(
appletNews
);
appletNewsDao
.
update
(
appletNews
);
appletNewsDao
.
update
(
appletNews
);
...
@@ -369,52 +376,87 @@ public class AppletNewsBizImpl implements AppletNewsBiz {
...
@@ -369,52 +376,87 @@ public class AppletNewsBizImpl implements AppletNewsBiz {
@Override
@Override
public
PageBeanNew
<
AppletNewsDTO
>
listAppletNews4Wechat
(
Integer
currentPage
,
Integer
numPerPage
,
Long
newsClassifyId
,
Long
wechatUserId
)
{
public
PageBeanNew
<
AppletNewsDTO
>
listAppletNews4Wechat
(
Integer
currentPage
,
Integer
numPerPage
,
Long
newsClassifyId
,
Long
wechatUserId
)
{
PageBeanNew
<
AppletNewsDTO
>
pageBeanNew
=
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
0
,
new
ArrayList
<>());
PageBeanNew
<
AppletNewsDTO
>
pageBeanNew
=
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
0
,
new
ArrayList
<>());
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
if
(
null
==
newsClassifyId
||
newsClassifyId
==
1
)
{
String
subKey
=
wechatUserId
+
"_"
+
numPerPage
+
"_"
+
(
null
==
newsClassifyId
?
1
:
newsClassifyId
);
// 推荐栏目下的3条资讯更改为取自首页当前书刊的周权益下(资讯推送)权益分类
//判断是否第一页
// 1.当周权益下未配置,直接根据当前书刊所属分类获取最新资讯,优先呈现本书有周权益配置了的资讯,其次获取本书所属分类下最新更新的。
if
(
currentPage
==
0
)
{
// 2.当碰到部分无分类属性的书刊,沿用现有线上的推荐栏配置逻辑
//第一页
AppletUserBookcase
userReadBook
=
appletUserBookcaseDao
.
getUserReadBook
(
wechatUserId
);
if
(
null
==
newsClassifyId
||
newsClassifyId
==
1
){
if
(
Objects
.
nonNull
(
userReadBook
))
{
// 推荐栏目下的3条资讯更改为取自首页当前书刊的周权益下(资讯推送)权益分类
// 获取周权益资讯
// 1.当周权益下未配置,直接根据当前书刊所属分类获取最新资讯,优先呈现本书有周权益配置了的资讯,其次获取本书所属分类下最新更新的。
pageBeanNew
=
rightsSettingBiz
.
getWeekRightsSettingNewsByBookId
(
userReadBook
,
currentPage
,
numPerPage
);
// 2.当碰到部分无分类属性的书刊,沿用现有线上的推荐栏配置逻辑
if
(
CollUtil
.
isNotEmpty
(
pageBeanNew
.
getRecordList
()))
{
AppletUserBookcase
userReadBook
=
appletUserBookcaseDao
.
getUserReadBook
(
wechatUserId
);
return
pageBeanNew
;
if
(
Objects
.
nonNull
(
userReadBook
))
{
// 获取周权益资讯 如果周权益不为空 则直接返回
pageBeanNew
=
rightsSettingBiz
.
getWeekRightsSettingNewsByBookId
(
userReadBook
,
currentPage
,
numPerPage
);
if
(
CollUtil
.
isNotEmpty
(
pageBeanNew
.
getRecordList
()))
{
return
pageBeanNew
;
}
}
}
}
// WARN: 分类为 null 或者 1 时,表示首页推荐,此时,若上面方法没有查到数据,固定分页参数为[0,3]
// WARN: 分类为 null 或者 1 时,表示首页推荐,此时,若上面方法没有查到数据,固定分页参数为[0,3]
List
<
Long
>
classifyIds
=
appletNewsClassifyDao
.
getClassifyIdsByUserId
(
wechatUserId
);
List
<
Long
>
classifyIds
=
appletNewsClassifyDao
.
getClassifyIdsByUserId
(
wechatUserId
);
if
(
ListUtils
.
isEmpty
(
classifyIds
))
{
//没有栏目id取第一个
if
(
ListUtils
.
isEmpty
(
classifyIds
))
{
//没有栏目id取第一个
List
<
AppletNewsClassifyDTO
>
classifyDTOS
=
getAllNewsClassify
(
true
);
List
<
AppletNewsClassifyDTO
>
classifyDTOS
=
getAllNewsClassify
(
true
);
if
(
ListUtils
.
isEmpty
(
classifyDTOS
))
{
if
(
ListUtils
.
isEmpty
(
classifyDTOS
))
{
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
new
ArrayList
<>());
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
new
ArrayList
<>());
}
newsClassifyId
=
classifyDTOS
.
get
(
0
).
getId
();
classifyIds
.
add
(
newsClassifyId
);
}
}
newsClassifyId
=
classifyDTOS
.
get
(
0
).
getId
();
paramMap
.
put
(
"newsClassifyIdList"
,
classifyIds
);
classifyIds
.
add
(
newsClassifyId
);
}
paramMap
.
put
(
"newsClassifyIdList"
,
classifyIds
);
paramMap
.
put
(
"order"
,
1
);
//首页3条缓存5小时
List
<
AppletNewsDTO
>
homeList
=
JedisClusterUtils
.
getJsonList
(
AppletConstants
.
HOME_NEWS_LIST
,
AppletNewsDTO
.
class
);
if
(!
ListUtils
.
isEmpty
(
homeList
))
{
pageBeanNew
=
new
PageBeanNew
<>(
0
,
3
,
3
,
homeList
);
}
else
{
}
else
{
pageBeanNew
=
appletNewsDao
.
listPageNew
(
new
PageParam
(
0
,
3
),
paramMap
,
"listAppletNews4Wechat"
);
//首页的其他栏目
// 避免前端推荐分类分页参数生效
paramMap
.
put
(
"newsClassifyId"
,
newsClassifyId
);
pageBeanNew
=
new
PageBeanNew
<>(
0
,
3
,
3
,
pageBeanNew
.
getRecordList
());
JedisClusterUtils
.
setJsonList
(
AppletConstants
.
HOME_NEWS_LIST
,
pageBeanNew
.
getRecordList
(),
5
*
3600
);
}
}
}
else
{
//栏目下的资讯
paramMap
.
put
(
"order"
,
1
);
paramMap
.
put
(
"newsClassifyId"
,
newsClassifyId
);
pageBeanNew
=
getAppletNewsDTOPageBeanNew
(
numPerPage
,
paramMap
,
subKey
);
}
else
{
//非第一页 获取第一页的数据 并排除
pageBeanNew
=
getAppletNewsDTOPageBeanNew
(
currentPage
,
numPerPage
,
newsClassifyId
,
paramMap
,
subKey
);
}
return
pageBeanNew
;
}
private
PageBeanNew
<
AppletNewsDTO
>
getAppletNewsDTOPageBeanNew
(
Integer
currentPage
,
Integer
numPerPage
,
Long
newsClassifyId
,
Map
<
String
,
Object
>
paramMap
,
String
subKey
)
{
PageBeanNew
<
AppletNewsDTO
>
pageBeanNew
;
List
<
AppletNewsDTO
>
homeList
=
JedisClusterUtils
.
getJsonList
(
AppletConstants
.
HOME_NEWS_LIST
+
subKey
,
AppletNewsDTO
.
class
);
List
<
Long
>
firstPageIds
=
null
;
if
(!
ListUtils
.
isEmpty
(
homeList
))
{
firstPageIds
=
homeList
.
stream
().
map
(
e
->
e
.
getId
()).
collect
(
Collectors
.
toList
());
}
}
if
(
ListUtils
.
isEmpty
(
pageBeanNew
.
getRecordList
()))
{
paramMap
.
put
(
"newsClassifyId"
,
newsClassifyId
);
pageBeanNew
=
appletNewsDao
.
listPageNew
(
new
PageParam
(
currentPage
,
numPerPage
),
paramMap
,
"listAppletNews4Wechat"
);
paramMap
.
put
(
"firstPageIds"
,
firstPageIds
);
pageBeanNew
=
appletNewsDao
.
listPageNew
(
new
PageParam
(
currentPage
-
1
,
numPerPage
),
paramMap
,
"listAppletNews4Wechat"
);
if
(
null
!=
pageBeanNew
&&
!
ListUtils
.
isEmpty
(
pageBeanNew
.
getRecordList
()))
{
pageBeanNew
=
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
pageBeanNew
.
getTotalCount
()
+
numPerPage
,
pageBeanNew
.
getRecordList
());
}
else
if
(
null
==
pageBeanNew
||
ListUtils
.
isEmpty
(
pageBeanNew
.
getRecordList
()))
{
paramMap
.
remove
(
"firstPageIds"
);
Integer
count
=
appletNewsDao
.
listAppletNews4WechatCount
(
paramMap
);
pageBeanNew
=
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
count
,
new
ArrayList
<>());
}
}
if
(
null
==
pageBeanNew
||
ListUtils
.
isEmpty
(
pageBeanNew
.
getRecordList
()))
{
return
pageBeanNew
;
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
0
,
new
ArrayList
<>());
}
private
PageBeanNew
<
AppletNewsDTO
>
getAppletNewsDTOPageBeanNew
(
Integer
numPerPage
,
Map
<
String
,
Object
>
paramMap
,
String
subKey
)
{
PageBeanNew
<
AppletNewsDTO
>
pageBeanNew
;
//第一页缓存5小时
List
<
AppletNewsDTO
>
homeList
=
JedisClusterUtils
.
getJsonList
(
AppletConstants
.
HOME_NEWS_LIST
+
subKey
,
AppletNewsDTO
.
class
);
if
(!
ListUtils
.
isEmpty
(
homeList
))
{
Integer
count
=
appletNewsDao
.
listAppletNews4WechatCount
(
paramMap
);
pageBeanNew
=
new
PageBeanNew
<>(
0
,
numPerPage
,
count
,
homeList
);
}
else
{
pageBeanNew
=
appletNewsDao
.
listPageNew
(
new
PageParam
(
0
,
numPerPage
),
paramMap
,
"listAppletNews4Wechat"
);
}
fillStatistic
(
pageBeanNew
.
getRecordList
(),
null
,
null
);
//按点击量进行排序
if
(!
ListUtils
.
isEmpty
(
pageBeanNew
.
getRecordList
()))
{
pageBeanNew
.
getRecordList
().
sort
(
new
Comparator
<
AppletNewsDTO
>()
{
@Override
public
int
compare
(
AppletNewsDTO
o1
,
AppletNewsDTO
o2
)
{
return
o2
.
getClickCount
().
compareTo
(
o1
.
getClickCount
());
}
});
}
}
JedisClusterUtils
.
setJsonList
(
AppletConstants
.
HOME_NEWS_LIST
+
subKey
,
pageBeanNew
.
getRecordList
(),
5
*
3600
);
return
pageBeanNew
;
return
pageBeanNew
;
}
}
...
@@ -723,8 +765,10 @@ public class AppletNewsBizImpl implements AppletNewsBiz {
...
@@ -723,8 +765,10 @@ public class AppletNewsBizImpl implements AppletNewsBiz {
if
(!
MapUtils
.
isEmpty
(
clickMap
)
&&
clickMap
.
containsKey
(
newsId
))
{
if
(!
MapUtils
.
isEmpty
(
clickMap
)
&&
clickMap
.
containsKey
(
newsId
))
{
PvuvDTO
pvuvDTO
=
clickMap
.
get
(
newsId
);
PvuvDTO
pvuvDTO
=
clickMap
.
get
(
newsId
);
appletNewsDTO
.
setClickPVUV
(
pvuvDTO
.
getPv
()
+
"/"
+
pvuvDTO
.
getUv
());
appletNewsDTO
.
setClickPVUV
(
pvuvDTO
.
getPv
()
+
"/"
+
pvuvDTO
.
getUv
());
appletNewsDTO
.
setClickCount
(
pvuvDTO
.
getPv
());
}
else
{
}
else
{
appletNewsDTO
.
setClickPVUV
(
"0/0"
);
appletNewsDTO
.
setClickPVUV
(
"0/0"
);
appletNewsDTO
.
setClickCount
(
0
);
}
}
if
(!
MapUtils
.
isEmpty
(
browseMap
)
&&
browseMap
.
containsKey
(
newsId
))
{
if
(!
MapUtils
.
isEmpty
(
browseMap
)
&&
browseMap
.
containsKey
(
newsId
))
{
PvuvDTO
pvuvDTO
=
browseMap
.
get
(
newsId
);
PvuvDTO
pvuvDTO
=
browseMap
.
get
(
newsId
);
...
@@ -869,4 +913,12 @@ public class AppletNewsBizImpl implements AppletNewsBiz {
...
@@ -869,4 +913,12 @@ public class AppletNewsBizImpl implements AppletNewsBiz {
return
appletNewsDao
.
getNewsIdListByCustomTagId
(
customTagId
);
return
appletNewsDao
.
getNewsIdListByCustomTagId
(
customTagId
);
}
}
@Override
public
void
batchInsert
(
List
<
AppletNews
>
appletNewsList
)
{
if
(
ListUtils
.
isEmpty
(
appletNewsList
))
{
return
;
}
appletNewsDao
.
insert
(
appletNewsList
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/impl/AppletNewsPoolBizImpl.java
0 → 100644
View file @
9f817115
package
com
.
pcloud
.
book
.
applet
.
biz
.
impl
;
import
cn.hutool.core.util.PageUtil
;
import
com.alibaba.druid.sql.PagerUtils
;
import
com.pcloud.book.applet.biz.AppletNewsBiz
;
import
com.pcloud.book.applet.biz.AppletNewsPoolBiz
;
import
com.pcloud.book.applet.dao.AppletNewsPoolDAO
;
import
com.pcloud.book.applet.dto.AppletNewsPoolDTO
;
import
com.pcloud.book.applet.entity.AppletNews
;
import
com.pcloud.book.applet.entity.AppletNewsPool
;
import
com.pcloud.book.applet.enums.AppletNewsServeTypeEnum
;
import
com.pcloud.book.applet.enums.NewsJumpTypeEnum
;
import
com.pcloud.book.applet.enums.NewsTypeEnum
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.book.constant.BookConstant
;
import
com.pcloud.book.personalstage.enums.JumpTypeEnum
;
import
com.pcloud.book.rightsSetting.biz.RightsSettingBiz
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.utils.BeanUtils
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.readercenter.common.enums.YesOrNoNumEnum
;
import
org.apache.commons.collections.MapUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
sun.security.krb5.internal.PAData
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
AppletNewsPoolBizImpl
implements
AppletNewsPoolBiz
{
@Autowired
private
AppletNewsPoolDAO
appletNewsPoolDAO
;
@Autowired
private
AppletNewsBiz
appletNewsBiz
;
@Autowired
private
RightsSettingBiz
rightsSettingBiz
;
@Override
@ParamLog
(
"根据id获取详情"
)
public
AppletNewsPool
getById
(
Long
id
)
{
return
appletNewsPoolDAO
.
getById
(
id
);
}
@Override
@ParamLog
(
"根据id更新资讯"
)
public
void
update
(
AppletNewsPool
appletNewsPool
)
{
updateCheck
(
appletNewsPool
);
appletNewsPoolDAO
.
updateSelective
(
appletNewsPool
);
}
@Override
@ParamLog
(
"资讯池批量删除"
)
public
void
batchDelete
(
List
<
Long
>
ids
)
{
if
(
ListUtils
.
isEmpty
(
ids
))
{
return
;
}
appletNewsPoolDAO
.
batchDelete
(
ids
);
}
@Override
@ParamLog
(
value
=
"资讯池分页"
,
isAfterReturn
=
false
)
public
PageBeanNew
<
AppletNewsPool
>
listNewsPage
(
Integer
currentPage
,
Integer
numPerPage
,
String
newsName
,
String
source
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"newsName"
,
newsName
);
paramMap
.
put
(
"source"
,
source
);
PageBeanNew
<
AppletNewsPool
>
poolPageBeanNew
=
appletNewsPoolDAO
.
listPageNew
(
new
PageParam
(
currentPage
,
numPerPage
),
paramMap
,
"listNewsPage"
);
return
poolPageBeanNew
;
}
@Override
@ParamLog
(
"资讯来源列表"
)
public
List
<
String
>
listSource
()
{
return
appletNewsPoolDAO
.
listSource
();
}
@Override
@ParamLog
(
"批量从资讯池中导入资讯"
)
public
void
batchImport
(
AppletNewsPoolDTO
appletNewsPoolDTO
)
{
importCheck
(
appletNewsPoolDTO
);
List
<
Long
>
appletNewsPoolIds
=
appletNewsPoolDTO
.
getAppletNewsPoolIds
();
List
<
AppletNews
>
appletNewsList
=
new
ArrayList
<>();
Map
<
Long
,
AppletNewsPool
>
appletNewsPoolMap
=
appletNewsPoolDAO
.
getMapByIds
(
appletNewsPoolIds
);
if
(
MapUtils
.
isEmpty
(
appletNewsPoolMap
))
{
return
;
}
appletNewsPoolIds
.
stream
().
forEach
(
id
->
{
AppletNews
appletNews
=
new
AppletNews
();
BeanUtils
.
copyProperties
(
appletNewsPoolDTO
,
appletNews
);
rightsSettingBiz
.
setClassifyAndLabel
(
appletNews
);
AppletNewsPool
appletNewsPool
=
appletNewsPoolMap
.
get
(
id
);
if
(
null
==
appletNewsPool
)
{
return
;
}
appletNews
.
setNewsName
(
appletNewsPool
.
getNewsName
());
appletNews
.
setSource
(
appletNewsPool
.
getSource
());
appletNews
.
setContent
(
appletNewsPool
.
getContent
());
appletNews
.
setType
(
null
==
appletNewsPoolDTO
.
getNewsType
()
?
NewsTypeEnum
.
ONLY_PIC
.
code
:
appletNewsPoolDTO
.
getNewsType
());
appletNews
.
setPic1
(
null
==
appletNewsPoolDTO
.
getPic1
()
?
BookConstant
.
DEFAULT_NEWS_PIC
:
appletNewsPoolDTO
.
getPic1
());
appletNews
.
setJumpType
(
NewsJumpTypeEnum
.
NEWS_EDIT
.
code
);
appletNews
.
setShowSource
(
null
==
appletNewsPoolDTO
.
getShowSource
()
?
YesOrNoNumEnum
.
YES
.
getValue
()
:
appletNewsPoolDTO
.
getShowSource
());
appletNewsList
.
add
(
appletNews
);
});
if
(!
ListUtils
.
isEmpty
(
appletNewsList
))
{
appletNewsBiz
.
batchInsert
(
appletNewsList
);
}
}
private
void
importCheck
(
AppletNewsPoolDTO
appletNewsPoolDTO
)
{
if
(
null
==
appletNewsPoolDTO
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"导入资讯不能为空"
);
}
if
(
ListUtils
.
isEmpty
(
appletNewsPoolDTO
.
getAppletNewsPoolIds
()))
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"素材池id不能为空"
);
}
}
private
void
updateCheck
(
AppletNewsPool
appletNewsPool
)
{
if
(
null
==
appletNewsPool
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"更新资讯不能为空"
);
}
if
(
null
==
appletNewsPool
.
getId
()
||
StringUtil
.
isEmpty
(
appletNewsPool
.
getNewsName
())
||
StringUtil
.
isEmpty
(
appletNewsPool
.
getSource
())
||
StringUtil
.
isEmpty
(
appletNewsPool
.
getContent
())){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"更新资讯内容不能为空"
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/AppletNewsDao.java
View file @
9f817115
...
@@ -144,4 +144,11 @@ public interface AppletNewsDao extends BaseDao<AppletNews> {
...
@@ -144,4 +144,11 @@ public interface AppletNewsDao extends BaseDao<AppletNews> {
* * @param null
* * @param null
*/
*/
List
<
Long
>
getNewsIdListByCustomTagId
(
Long
customTagId
);
List
<
Long
>
getNewsIdListByCustomTagId
(
Long
customTagId
);
/**
* 获取资讯数量
* @param paramMap
* @return
*/
Integer
listAppletNews4WechatCount
(
Map
<
String
,
Object
>
paramMap
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/AppletNewsPoolDAO.java
0 → 100644
View file @
9f817115
package
com
.
pcloud
.
book
.
applet
.
dao
;
import
com.pcloud.book.applet.entity.AppletNewsPool
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.List
;
import
java.util.Map
;
public
interface
AppletNewsPoolDAO
extends
BaseDao
<
AppletNewsPool
>
{
/**
* 有选择性的更新资讯
* @param appletNewsPool
*/
void
updateSelective
(
AppletNewsPool
appletNewsPool
);
/**
* 资讯池批量删除
* @param ids
*/
void
batchDelete
(
List
<
Long
>
ids
);
/**
* 资讯来源列表
* @return
*/
List
<
String
>
listSource
();
/**
* 根据id列表获取map
* @param appletNewsPoolIds
* @return
*/
Map
<
Long
,
AppletNewsPool
>
getMapByIds
(
List
<
Long
>
appletNewsPoolIds
);
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/impl/AppletNewsDaoImpl.java
View file @
9f817115
...
@@ -174,4 +174,9 @@ public class AppletNewsDaoImpl extends BaseDaoImpl<AppletNews> implements Applet
...
@@ -174,4 +174,9 @@ public class AppletNewsDaoImpl extends BaseDaoImpl<AppletNews> implements Applet
return
getSessionTemplate
().
selectList
(
getStatement
(
"getNewsIdListByCustomTagId"
),
customTagId
);
return
getSessionTemplate
().
selectList
(
getStatement
(
"getNewsIdListByCustomTagId"
),
customTagId
);
}
}
@Override
public
Integer
listAppletNews4WechatCount
(
Map
<
String
,
Object
>
paramMap
)
{
return
getSessionTemplate
().
selectOne
(
getStatement
(
"listAppletNews4WechatCount"
),
paramMap
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/impl/AppletNewsPoolDAOImpl.java
0 → 100644
View file @
9f817115
package
com
.
pcloud
.
book
.
applet
.
dao
.
impl
;
import
com.pcloud.book.applet.dao.AppletNewsPoolDAO
;
import
com.pcloud.book.applet.entity.AppletNewsPool
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
import
java.util.Map
;
@Repository
public
class
AppletNewsPoolDAOImpl
extends
BaseDaoImpl
<
AppletNewsPool
>
implements
AppletNewsPoolDAO
{
@Override
public
void
updateSelective
(
AppletNewsPool
appletNewsPool
)
{
getSessionTemplate
().
update
(
getStatement
(
"updateSelective"
),
appletNewsPool
);
}
@Override
public
void
batchDelete
(
List
<
Long
>
ids
)
{
getSessionTemplate
().
delete
(
getStatement
(
"batchDelete"
),
ids
);
}
@Override
public
List
<
String
>
listSource
()
{
return
getSessionTemplate
().
selectList
(
getStatement
(
"listSource"
));
}
@Override
public
Map
<
Long
,
AppletNewsPool
>
getMapByIds
(
List
<
Long
>
appletNewsPoolIds
)
{
return
getSessionTemplate
().
selectMap
(
getStatement
(
"getMapByIds"
),
appletNewsPoolIds
,
"id"
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dto/AppletNewsDTO.java
View file @
9f817115
...
@@ -120,4 +120,7 @@ public class AppletNewsDTO extends BaseDto {
...
@@ -120,4 +120,7 @@ public class AppletNewsDTO extends BaseDto {
private
String
businessCardWechatNum
;
private
String
businessCardWechatNum
;
@ApiModelProperty
(
"名片电话"
)
@ApiModelProperty
(
"名片电话"
)
private
String
businessPhone
;
private
String
businessPhone
;
@ApiModelProperty
(
"点击量pv"
)
private
Integer
clickCount
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dto/AppletNewsPoolDTO.java
0 → 100644
View file @
9f817115
package
com
.
pcloud
.
book
.
applet
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.pcloud.common.dto.BaseDto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.List
;
@Data
public
class
AppletNewsPoolDTO
extends
BaseDto
{
@ApiModelProperty
(
"id"
)
private
Long
id
;
@ApiModelProperty
(
"资讯"
)
private
String
newsName
;
@ApiModelProperty
(
"来源"
)
private
String
source
;
@ApiModelProperty
(
"栏目id"
)
private
Long
newsClassifyId
;
@ApiModelProperty
(
"专业标签ID"
)
private
Long
proLabelId
;
@ApiModelProperty
(
"深度标签ID"
)
private
Long
depLabelId
;
@ApiModelProperty
(
"目的标签ID"
)
private
Long
purLabelId
;
@ApiModelProperty
(
"专业标签"
)
private
String
proLabelName
;
@ApiModelProperty
(
"深度标签"
)
private
String
depLabelName
;
@ApiModelProperty
(
"目的标签"
)
private
String
purLabelName
;
@ApiModelProperty
(
"文章版式(1多图文2单图文3纯图片4纯文本)"
)
private
Integer
type
;
@ApiModelProperty
(
"内容摘要"
)
private
String
digest
;
@ApiModelProperty
(
"预览图片1"
)
private
String
pic1
;
@ApiModelProperty
(
"预览图片2"
)
private
String
pic2
;
@ApiModelProperty
(
"预览图片3"
)
private
String
pic3
;
@ApiModelProperty
(
"文章内容"
)
private
String
content
;
@ApiModelProperty
(
"是否展示"
)
private
Boolean
showState
;
@ApiModelProperty
(
"分类名称"
)
private
String
newsClassify
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
protected
Date
createTime
;
@ApiModelProperty
(
"第一级类型标识"
)
private
Long
firstClassify
;
@ApiModelProperty
(
"第二级类型标识"
)
private
Long
secondClassify
;
@ApiModelProperty
(
"年级标签id"
)
private
Long
gradeLabelId
;
@ApiModelProperty
(
"科目标签id"
)
private
Long
subjectLabelId
;
@ApiModelProperty
(
"权益分类id"
)
private
Long
rightsClassifyId
;
private
String
firstClassifyContent
;
private
String
secondClassifyContent
;
private
String
gradeLabelIdContent
;
private
String
subjectLabelIdContent
;
@ApiModelProperty
(
"权益分类"
)
private
String
rightsClassifyContent
;
@ApiModelProperty
(
"跳转类型(1原文编辑2直接跳转)"
)
private
Integer
jumpType
;
@ApiModelProperty
(
"跳转地址"
)
private
String
jumpUrl
;
@ApiModelProperty
(
"跳转外链编号"
)
private
String
urlNumber
;
@ApiModelProperty
(
"点击量pv/uv"
)
private
String
clickPVUV
;
@ApiModelProperty
(
"浏览量pv/uv"
)
private
String
browsePVUV
;
@ApiModelProperty
(
"自定义标识"
)
private
String
customTag
;
@ApiModelProperty
(
"自定义标识id"
)
private
Long
customTagId
;
@ApiModelProperty
(
"展示来源"
)
private
Integer
showSource
;
@ApiModelProperty
(
"展示第三方资源"
)
private
Integer
showLink
;
@ApiModelProperty
(
"浏览量pv"
)
private
Integer
browseCount
;
@ApiModelProperty
(
"选取的服务"
)
List
<
AppletNewsServeDTO
>
appletNewsServeList
;
@ApiModelProperty
(
"文章版式(1多图文2单图文3纯图片4纯文本)"
)
private
Integer
newsType
;
@ApiModelProperty
(
"素材池id)"
)
private
List
<
Long
>
appletNewsPoolIds
;
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/entity/AppletNewsPool.java
0 → 100644
View file @
9f817115
package
com
.
pcloud
.
book
.
applet
.
entity
;
import
com.pcloud.common.entity.BaseEntity
;
import
lombok.Data
;
@Data
public
class
AppletNewsPool
extends
BaseEntity
{
//资讯名称
private
String
newsName
;
//资讯来源
private
String
source
;
//资讯内容
private
String
content
;
//是否删除
private
Integer
isDelete
;
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/enums/NewsJumpTypeEnum.java
0 → 100644
View file @
9f817115
package
com
.
pcloud
.
book
.
applet
.
enums
;
/**
* banner跳转类型
*/
public
enum
NewsJumpTypeEnum
{
/**
* 原文编辑
*/
NEWS_EDIT
(
1
),
/**
* 直接跳转
*/
LINK_JUMP
(
2
);
public
Integer
code
;
NewsJumpTypeEnum
(
Integer
code
)
{
this
.
code
=
code
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/enums/NewsTypeEnum.java
0 → 100644
View file @
9f817115
package
com
.
pcloud
.
book
.
applet
.
enums
;
import
io.swagger.annotations.ApiModelProperty
;
/**
* banner跳转类型
*/
public
enum
NewsTypeEnum
{
/**
* 1多图文
*/
MORE_PIC
(
1
),
/**
* 2单图文
*/
SINGLE_PIC
(
2
),
//3纯图片
ONLY_PIC
(
3
),
//4纯文本
ONLY_TEXT
(
4
);
public
Integer
code
;
NewsTypeEnum
(
Integer
code
)
{
this
.
code
=
code
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/facade/AppletHomeFacade.java
View file @
9f817115
...
@@ -338,10 +338,12 @@ public class AppletHomeFacade {
...
@@ -338,10 +338,12 @@ public class AppletHomeFacade {
@ApiOperation
(
"客户端根据id获取书单"
)
@ApiOperation
(
"客户端根据id获取书单"
)
@GetMapping
(
"getBooklistById4Wechat"
)
@GetMapping
(
"getBooklistById4Wechat"
)
public
ResponseDto
<
AppletBooklistDTO
>
getBooklistById4Wechat
(
public
ResponseDto
<
AppletBooklistDTO
>
getBooklistById4Wechat
(
@CookieValue
(
"userInfo"
)
String
userInfo
,
@RequestParam
(
"booklistId"
)
@ApiParam
(
"书单id"
)
Long
booklistId
){
@RequestParam
(
"booklistId"
)
@ApiParam
(
"书单id"
)
Long
booklistId
){
if
(
null
==
booklistId
){
if
(
null
==
booklistId
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
}
Long
wechatUserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
return
new
ResponseDto
<>(
appletBooklistBiz
.
getBooklistById4Wechat
(
booklistId
));
return
new
ResponseDto
<>(
appletBooklistBiz
.
getBooklistById4Wechat
(
booklistId
));
}
}
...
@@ -698,10 +700,11 @@ public class AppletHomeFacade {
...
@@ -698,10 +700,11 @@ public class AppletHomeFacade {
@ApiOperation
(
"资讯和券的资源外链访问埋点"
)
@ApiOperation
(
"资讯和券的资源外链访问埋点"
)
@PostMapping
(
"addClickRecord"
)
@PostMapping
(
"addClickRecord"
)
public
ResponseDto
<?>
addClickRecord
(
@RequestBody
@Validated
AppletLinkClick
appletLinkClick
){
public
ResponseDto
<?>
addClickRecord
(
@
CookieValue
(
"userInfo"
)
String
userInfo
,
@
RequestBody
@Validated
AppletLinkClick
appletLinkClick
){
if
(
null
==
appletLinkClick
){
if
(
null
==
appletLinkClick
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"缺少参数"
);
}
}
Long
wechatUserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
appletNewsBiz
.
addClickRecord
(
appletLinkClick
);
appletNewsBiz
.
addClickRecord
(
appletLinkClick
);
return
new
ResponseDto
<>();
return
new
ResponseDto
<>();
}
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/applet/facade/AppletNewsPoolController.java
0 → 100644
View file @
9f817115
package
com
.
pcloud
.
book
.
applet
.
facade
;
import
com.pcloud.book.applet.biz.AppletNewsPoolBiz
;
import
com.pcloud.book.applet.dto.AppletNewsPoolDTO
;
import
com.pcloud.book.applet.entity.AppletNewsPool
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.SessionUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
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.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.xml.ws.soap.Addressing
;
import
java.util.ArrayList
;
import
java.util.List
;
@RestController
@RequestMapping
(
"appletNewsPool"
)
public
class
AppletNewsPoolController
{
@Autowired
private
AppletNewsPoolBiz
appletNewsPoolBiz
;
@GetMapping
(
"getById"
)
public
ResponseDto
<
AppletNewsPool
>
getById
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
"id"
)
Long
id
){
SessionUtil
.
getInfoToken4Redis
(
token
);
AppletNewsPool
appletNewsPool
=
appletNewsPoolBiz
.
getById
(
id
);
return
new
ResponseDto
<>(
appletNewsPool
);
}
@PostMapping
(
"update"
)
public
ResponseDto
<
AppletNewsPool
>
update
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
AppletNewsPool
appletNewsPool
){
SessionUtil
.
getInfoToken4Redis
(
token
);
appletNewsPoolBiz
.
update
(
appletNewsPool
);
return
new
ResponseDto
<>();
}
@PostMapping
(
"batchDelete"
)
public
ResponseDto
<
AppletNewsPool
>
batchDelete
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
List
<
Long
>
ids
){
SessionUtil
.
getInfoToken4Redis
(
token
);
appletNewsPoolBiz
.
batchDelete
(
ids
);
return
new
ResponseDto
<>();
}
@GetMapping
(
"listNewsPage"
)
public
ResponseDto
<
PageBeanNew
<
AppletNewsPool
>>
listNewsPage
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"currentPage"
,
defaultValue
=
"0"
)
Integer
currentPage
,
@RequestParam
(
value
=
"numPerPage"
,
defaultValue
=
"10"
)
Integer
numPerPage
,
@RequestParam
(
value
=
"newsName"
,
required
=
false
)
String
newsName
,
@RequestParam
(
value
=
"source"
,
required
=
false
)
String
source
){
SessionUtil
.
getInfoToken4Redis
(
token
);
PageBeanNew
<
AppletNewsPool
>
appletNewsPoolPageBeanNew
=
appletNewsPoolBiz
.
listNewsPage
(
currentPage
,
numPerPage
,
newsName
,
source
);
return
new
ResponseDto
<>(
appletNewsPoolPageBeanNew
);
}
@GetMapping
(
"listSource"
)
public
ResponseDto
<
List
<
String
>>
listSource
(
@RequestHeader
(
"token"
)
String
token
){
SessionUtil
.
getInfoToken4Redis
(
token
);
List
<
String
>
sources
=
appletNewsPoolBiz
.
listSource
();
return
new
ResponseDto
<>(
ListUtils
.
isEmpty
(
sources
)
?
new
ArrayList
<>()
:
sources
);
}
@PostMapping
(
"batchImport"
)
public
ResponseDto
<
Void
>
batchImport
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
AppletNewsPoolDTO
appletNewsPoolDTO
)
{
SessionUtil
.
getInfoToken4Redis
(
token
);
appletNewsPoolBiz
.
batchImport
(
appletNewsPoolDTO
);
return
new
ResponseDto
<>();
}
}
pcloud-service-book/src/main/resources/mapper/applet/AppletNews.xml
View file @
9f817115
...
@@ -496,6 +496,12 @@
...
@@ -496,6 +496,12 @@
${item}
${item}
</foreach>
</foreach>
</if>
</if>
<if
test=
"firstPageIds != null and firstPageIds.size() > 0"
>
and n.id not in
<foreach
collection=
"firstPageIds"
item=
"item"
open=
"("
separator=
","
close=
")"
>
${item}
</foreach>
</if>
<choose>
<choose>
<when
test=
"order>0 and order == 1"
>
<when
test=
"order>0 and order == 1"
>
ORDER BY RAND()
ORDER BY RAND()
...
@@ -672,4 +678,41 @@
...
@@ -672,4 +678,41 @@
ORDER BY n.create_time DESC
ORDER BY n.create_time DESC
</select>
</select>
<insert
id=
"batchInsert"
parameterType=
"com.pcloud.book.applet.entity.AppletNews"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into applet_news(
news_name, source, news_classify_id, pro_label_id, dep_label_id, pur_label_id, type, digest,
pic1, pic2, pic3, content, show_state, create_time, update_time , first_classify, second_classify, grade_label_id,
subject_label_id, rights_classify_id,
jump_type, jump_url,url_number, custom_tag_id, show_source, show_link
)
values
<foreach
collection=
"list"
item=
"item"
index=
"index"
separator=
","
>
(
#{item.newsName}, #{item.source}, #{item.newsClassifyId}, #{item.proLabelId}, #{item.depLabelId}, #{item.purLabelId}, #{item.type}, #{item.digest},
#{item.pic1}, #{item.pic2}, #{item.pic3}, #{item.content}, #{item.showState}, NOW(), NOW(), #{item.firstClassify,jdbcType=BIGINT},
#{item.secondClassify,jdbcType=BIGINT},
#{item.gradeLabelId,jdbcType=BIGINT}, #{item.subjectLabelId,jdbcType=BIGINT}, #{item.rightsClassifyId,jdbcType=BIGINT},
#{item.jumpType}, #{item.jumpUrl}, #{item.urlNumber}, #{item.customTagId}, #{item.showSource}, #{item.showLink}
)
</foreach>
</insert>
<select
id=
"listAppletNews4WechatCount"
parameterType=
"map"
resultType=
"integer"
>
select
count(1)
FROM applet_news n
LEFT JOIN applet_news_classify c ON n.news_classify_id=c.id
WHERE n.show_state = 1
<if
test=
"newsClassifyId >0"
>
AND n.news_classify_id = #{newsClassifyId}
</if>
<if
test=
"newsClassifyIdList != null"
>
AND n.news_classify_id in
<foreach
collection=
"newsClassifyIdList"
item=
"item"
open=
"("
separator=
","
close=
")"
>
${item}
</foreach>
</if>
</select>
</mapper>
</mapper>
pcloud-service-book/src/main/resources/mapper/applet/AppletNewsPoolMapper.xml
0 → 100644
View file @
9f817115
<?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.applet.dao.impl.AppletNewsPoolDAOImpl"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.applet.entity.AppletNewsPool"
>
<id
column=
"id"
property=
"id"
jdbcType=
"BIGINT"
/>
<result
column=
"news_name"
property=
"newsName"
jdbcType=
"VARCHAR"
/>
<result
column=
"source"
property=
"source"
jdbcType=
"VARCHAR"
/>
<result
column=
"content"
property=
"content"
jdbcType=
"VARCHAR"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"is_delete"
property=
"isDelete"
jdbcType=
"TINYINT"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, news_name, source, content, create_time, update_time, is_delete
</sql>
<select
id=
"getById"
parameterType=
"long"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from
applet_news_pool
where
id = #{id}
</select>
<update
id=
"updateSelective"
parameterType=
"com.pcloud.book.applet.entity.AppletNewsPool"
>
update
applet_news_pool
<set>
<if
test=
"newsName != null"
>
news_name = #{newsName},
</if>
<if
test=
"source != null"
>
source = #{source},
</if>
<if
test=
"content != null"
>
content = #{content},
</if>
update_time = now()
</set>
where
id = #{id}
</update>
<delete
id=
"batchDelete"
parameterType=
"list"
>
update
applet_news_pool
set
is_delete = 1,
update_time = now()
where
id in
<foreach
collection=
"list"
item=
"item"
index=
"index"
open=
"("
close=
")"
separator=
","
>
#{item}
</foreach>
</delete>
<select
id=
"listNewsPage"
parameterType=
"map"
resultMap=
"BaseResultMap"
>
select
id,
news_name,
source,
ifnull(update_time, create_time) update_time
from
applet_news_pool
where
is_delete = 0
<if
test=
"newsName != null"
>
and news_name like concat("%", #{newsName}, "%")
</if>
<if
test=
"source != null"
>
and source = #{source}
</if>
</select>
<select
id=
"listSource"
resultType=
"string"
>
select
source
from
applet_news_pool
where
is_delete = 0
group by source
</select>
<select
id=
"getMapByIds"
parameterType=
"list"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from
applet_news_pool
where
id in
<foreach
collection=
"list"
item=
"item"
index=
"index"
open=
"("
close=
")"
separator=
","
>
#{item}
</foreach>
and
is_delete = 0
</select>
</mapper>
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