Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
C
cms_sys
Project
Project
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
西魏
cms_sys
Commits
450f27eb
Commit
450f27eb
authored
Mar 12, 2019
by
Sun Xin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加分页类
parent
31f44a51
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
64 additions
and
63 deletions
+64
-63
MCmsAction.java
src/main/java/net/mingsoft/cms/action/web/MCmsAction.java
+13
-10
SearchAction.java
src/main/java/net/mingsoft/cms/action/web/SearchAction.java
+20
-23
IArticleDao.xml
src/main/java/net/mingsoft/cms/dao/IArticleDao.xml
+2
-4
CmsParserUtil.java
src/main/java/net/mingsoft/cms/util/CmsParserUtil.java
+29
-26
No files found.
src/main/java/net/mingsoft/cms/action/web/MCmsAction.java
View file @
450f27eb
...
...
@@ -36,20 +36,20 @@ import org.springframework.web.bind.annotation.PathVariable;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.PageUtil
;
import
freemarker.core.ParseException
;
import
freemarker.template.MalformedTemplateNameException
;
import
freemarker.template.TemplateNotFoundException
;
import
net.mingsoft.basic.biz.IColumnBiz
;
import
net.mingsoft.basic.entity.ColumnEntity
;
import
net.mingsoft.basic.util.BasicUtil
;
import
net.mingsoft.cms.bean.ColumnArticleIdBean
;
import
net.mingsoft.cms.biz.IArticleBiz
;
import
net.mingsoft.cms.constant.ModelCode
;
import
net.mingsoft.cms.entity.ArticleEntity
;
import
net.mingsoft.cms.util.CmsParserUtil
;
import
net.mingsoft.mdiy.bean.PageBean
;
import
net.mingsoft.mdiy.biz.IPageBiz
;
import
net.mingsoft.mdiy.entity.PageEntity
;
import
freemarker.core.ParseException
;
import
freemarker.template.MalformedTemplateNameException
;
import
freemarker.template.TemplateNotFoundException
;
import
net.mingsoft.basic.util.BasicUtil
;
import
net.mingsoft.mdiy.util.ParserUtil
;
/**
...
...
@@ -157,17 +157,20 @@ public class MCmsAction extends net.mingsoft.mdiy.action.BaseAction {
Map
map
=
BasicUtil
.
assemblyRequestMap
();
//获取栏目编号
int
typeId
=
BasicUtil
.
getInt
(
ParserUtil
.
TYPE_ID
,
0
);
int
size
=
BasicUtil
.
getInt
(
ParserUtil
.
SIZE
,
10
);
//获取文章总数
List
<
ColumnArticleIdBean
>
columnArticles
=
articleBiz
.
queryIdsByCategoryIdForParser
(
typeId
,
null
,
null
);
//判断栏目下是否有文章
if
(
columnArticles
.
size
()==
0
){
this
.
outJson
(
resp
,
null
,
false
,
getResString
(
"err.empty"
,
this
.
getResString
(
"typeid"
)));
return
;
this
.
outJson
(
resp
,
false
);
}
//设置分页类
PageBean
page
=
new
PageBean
();
int
total
=
PageUtil
.
totalPage
(
columnArticles
.
size
(),
size
);
map
.
put
(
ParserUtil
.
COLUMN
,
columnArticles
.
get
(
0
));
//获取总数
map
.
put
(
ParserUtil
.
TOTAL
,
columnArticles
.
size
());
map
.
put
(
ParserUtil
.
RCOUNT
,
BasicUtil
.
getInt
(
ParserUtil
.
SIZE
,
10
));
page
.
setTotal
(
total
);
//设置栏目编号
map
.
put
(
ParserUtil
.
TYPE_ID
,
typeId
);
//设置列表当前页
...
...
src/main/java/net/mingsoft/cms/action/web/SearchAction.java
View file @
450f27eb
...
...
@@ -40,30 +40,28 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.PageUtil
;
import
freemarker.core.ParseException
;
import
freemarker.template.MalformedTemplateNameException
;
import
freemarker.template.TemplateNotFoundException
;
import
net.mingsoft.base.constant.Const
;
import
net.mingsoft.basic.action.BaseAction
;
import
net.mingsoft.basic.biz.ICategoryBiz
;
import
net.mingsoft.basic.biz.IColumnBiz
;
import
net.mingsoft.basic.biz.IModelBiz
;
import
net.mingsoft.basic.entity.BaseEntity
;
import
net.mingsoft.basic.entity.ColumnEntity
;
import
net.mingsoft.basic.util.BasicUtil
;
import
net.mingsoft.basic.util.StringUtil
;
import
net.mingsoft.cms.biz.IArticleBiz
;
import
net.mingsoft.cms.util.CmsParserUtil
;
import
net.mingsoft.mdiy.bean.PageBean
;
import
net.mingsoft.mdiy.biz.IContentModelBiz
;
import
net.mingsoft.mdiy.biz.IContentModelFieldBiz
;
import
net.mingsoft.mdiy.biz.ISearchBiz
;
import
net.mingsoft.mdiy.entity.ContentModelEntity
;
import
net.mingsoft.mdiy.entity.ContentModelFieldEntity
;
import
net.mingsoft.mdiy.entity.SearchEntity
;
import
cn.hutool.core.map.MapUtil
;
import
cn.hutool.core.text.StrSpliter
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.PageUtil
;
import
freemarker.core.ParseException
;
import
freemarker.template.MalformedTemplateNameException
;
import
freemarker.template.TemplateNotFoundException
;
import
net.mingsoft.base.constant.Const
;
import
net.mingsoft.basic.util.BasicUtil
;
import
net.mingsoft.basic.util.StringUtil
;
import
net.mingsoft.mdiy.util.ParserUtil
;
/**
...
...
@@ -179,7 +177,7 @@ public class SearchAction extends BaseAction {
}
}
map
.
put
(
ParserUtil
.
COLUMN
,
column
);
//
设置栏目编号
//
设置栏目编号
map
.
put
(
ParserUtil
.
TYPE_ID
,
typeId
);
}
...
...
@@ -225,17 +223,17 @@ public class SearchAction extends BaseAction {
Map
whereMap
=
this
.
searchMap
(
articleFieldName
,
diyFieldName
,
fieldList
);
// 获取符合条件的文章总数
int
count
=
articleBiz
.
getSearchCount
(
contentModel
,
whereMap
,
BasicUtil
.
getAppId
(),
null
);
//设置分页类
PageBean
page
=
new
PageBean
();
int
size
=
BasicUtil
.
getInt
(
ParserUtil
.
SIZE
,
10
);
int
total
=
PageUtil
.
totalPage
(
count
,
size
);
//获取总数
map
.
put
(
ParserUtil
.
TOTAL
,
total
);
page
.
setTotal
(
total
);
//设置页面显示数量
map
.
put
(
ParserUtil
.
RCOUNT
,
size
);
map
.
put
(
ParserUtil
.
SIZE
,
size
);
page
.
setSize
(
size
);
//设置列表当前页
int
pageNo
=
BasicUtil
.
getInt
(
ParserUtil
.
PAGE_NO
,
1
);
map
.
put
(
ParserUtil
.
PAGE_NO
,
pageNo
);
page
.
setPageNo
(
pageNo
);
int
next
,
pre
;
if
(
StringUtil
.
isBlank
(
pageNo
)
||
pageNo
==
1
){
//如果总页数等于1,下一页就是第一页,不等于就有第二页
...
...
@@ -257,15 +255,14 @@ public class SearchAction extends BaseAction {
String
lastUrl
=
url
+
pageNoStr
+
total
;
//上一页
String
preUrl
=
url
+
pageNoStr
+
pre
;
map
.
put
(
ParserUtil
.
INDEX_URL
,
indexUrl
);
map
.
put
(
ParserUtil
.
NEXT_URL
,
nextUrl
);
map
.
put
(
ParserUtil
.
PRE_URL
,
preUrl
);
map
.
put
(
ParserUtil
.
LAST_URL
,
lastUrl
);
page
.
setIndexUrl
(
indexUrl
);
page
.
setNextUrl
(
nextUrl
);
page
.
setPreUrl
(
preUrl
);
page
.
setLastUrl
(
lastUrl
);
map
.
put
(
ParserUtil
.
URL
,
BasicUtil
.
getUrl
());
Map
<
Object
,
Object
>
searchMap
=
new
HashMap
<>();
searchMap
.
put
(
BASIC_TITLE
,
BasicUtil
.
getString
(
BASIC_TITLE
));
searchMap
.
put
(
ParserUtil
.
PAGE_NO
,
BasicUtil
.
getInt
(
ParserUtil
.
PAGE_NO
,
1
)
);
searchMap
.
put
(
ParserUtil
.
PAGE_NO
,
pageNo
);
map
.
put
(
SEARCH
,
searchMap
);
//动态解析
map
.
put
(
ParserUtil
.
IS_DO
,
false
);
...
...
src/main/java/net/mingsoft/cms/dao/IArticleDao.xml
View file @
450f27eb
...
...
@@ -48,15 +48,13 @@
<!-- 通过视图查询返回结果集 开始 -->
<resultMap
type=
"net.mingsoft.cms.bean.ColumnArticleIdBean"
id=
"resultMapBean"
>
<result
column=
"ARTICLE_BASICID"
property=
"articleId"
/>
<result
column=
"column_listurl"
property=
"columnListUrl"
/>
<!-- 最终栏目列表地址 -->
<result
column=
"column_path"
property=
"columnPath"
/>
<result
column=
"column_url"
property=
"columnUrl"
/>
<result
column=
"category_title"
property=
"categoryTitle"
/>
<result
column=
"column_category_id"
property=
"categoryId"
/>
<!-- 与Category类别类绑定ID -->
<result
column=
"category_parent_id"
property=
"categoryParentId"
/>
<!-- 关联表category的父类型编号 -->
<result
column=
"category_id"
property=
"categoryId"
/>
<result
column=
"COLUMN_CM_ID"
property=
"columnContentModelId"
/>
<result
column=
"COLUMN_TYPE"
property=
"columnType"
/>
<result
column=
"category_parent_id"
property=
"categoryParentId"
/>
<!--关联表category的字典对应编号 -->
</resultMap>
<!-- 通过视图查询返回结果集 结束 -->
<!-- 通过视图查询返回结果集 开始 -->
...
...
@@ -320,7 +318,7 @@
<!-- 根据站点编号、开始、结束时间和栏目编号查询文章编号集合 -->
<select
id=
"queryIdsByCategoryIdForParser"
resultMap=
"resultMapBean"
>
select
ARTICLE_BASICID,cl.*,c.
*
ARTICLE_BASICID,cl.*,c.
category_parent_id
FROM cms_article a LEFT JOIN basic b ON a.ARTICLE_BASICID = b.BASIC_ID
LEFT JOIN basic_column cl ON b.BASIC_CATEGORYID = cl.COLUMN_CATEGORY_ID
JOIN category c ON c.CATEGORY_ID = cl.COLUMN_CATEGORY_ID
...
...
src/main/java/net/mingsoft/cms/util/CmsParserUtil.java
View file @
450f27eb
...
...
@@ -22,6 +22,7 @@ import net.mingsoft.basic.util.BasicUtil;
import
net.mingsoft.basic.util.SpringUtil
;
import
net.mingsoft.cms.bean.ColumnArticleIdBean
;
import
net.mingsoft.cms.constant.e.ColumnTypeEnum
;
import
net.mingsoft.mdiy.bean.PageBean
;
import
net.mingsoft.mdiy.biz.IContentModelBiz
;
import
net.mingsoft.mdiy.entity.ContentModelEntity
;
import
net.mingsoft.mdiy.parser.TagParser
;
...
...
@@ -78,7 +79,6 @@ public class CmsParserUtil extends ParserUtil {
// 文章的栏目模型编号
int
columnContentModelId
=
column
.
getColumnContentModelId
();
StringWriter
writer
=
new
StringWriter
();
try
{
// 为了分页添加column,判断栏目是否为父栏目
...
...
@@ -90,7 +90,6 @@ public class CmsParserUtil extends ParserUtil {
//获取总数
int
totalPageSize
=
PageUtil
.
totalPage
(
articleIdTotal
,
pageSize
);
String
columnListPath
;
String
mobilePath
;
ContentModelEntity
contentModel
=
null
;
...
...
@@ -102,11 +101,11 @@ public class CmsParserUtil extends ParserUtil {
int
pageNo
=
1
;
// 遍历分页
for
(
int
i
=
0
;
i
<
totalPageSize
;
i
++)
{
PageBean
page
=
new
PageBean
();
Map
parserParams
=
new
HashMap
();
parserParams
.
put
(
COLUMN
,
column
);
parserParams
.
put
(
TOTAL
,
totalPageSize
);
parserParams
.
put
(
RCOUNT
,
pageSize
);
parserParams
.
put
(
TYPE_ID
,
column
.
getCategoryId
());
page
.
setTotal
(
totalPageSize
);
//parserParams.put(TYPE_ID, column.getCategoryId());
parserParams
.
put
(
IS_DO
,
false
);
parserParams
.
put
(
HTML
,
HTML
);
if
(
contentModel
!=
null
)
{
...
...
@@ -133,7 +132,8 @@ public class CmsParserUtil extends ParserUtil {
}
// 设置分页的起始位置
parserParams
.
put
(
PAGE_NO
,
pageNo
);
page
.
setPageNo
(
pageNo
);
parserParams
.
put
(
ParserUtil
.
PAGE
,
page
);
TagParser
tag
=
new
TagParser
(
content
,
parserParams
);
FileUtil
.
writeString
(
tag
.
rendering
(),
columnListPath
,
Const
.
UTF8
);
...
...
@@ -176,24 +176,26 @@ public class CmsParserUtil extends ParserUtil {
// 记录已经生成了文章编号
List
<
Integer
>
generateIds
=
new
ArrayList
<>();
// 生成文档
for
(
int
ai
=
0
;
ai
<
articleIdList
.
size
();)
{
for
(
int
artId
=
0
;
artId
<
articleIdList
.
size
();)
{
//设置分页类
PageBean
page
=
new
PageBean
();
// 文章编号
int
articleId
=
articleIdList
.
get
(
a
i
).
getArticleId
();
int
articleId
=
articleIdList
.
get
(
a
rtId
).
getArticleId
();
// 文章的栏目路径
String
articleColumnPath
=
articleIdList
.
get
(
a
i
).
getColumnPath
();
String
articleColumnPath
=
articleIdList
.
get
(
a
rtId
).
getColumnPath
();
// 文章的模板路径
String
columnUrl
=
articleIdList
.
get
(
a
i
).
getColumnUrl
();
String
columnUrl
=
articleIdList
.
get
(
a
rtId
).
getColumnUrl
();
// 文章的栏目模型编号
int
columnContentModelId
=
articleIdList
.
get
(
a
i
).
getColumnContentModelId
();
int
columnContentModelId
=
articleIdList
.
get
(
a
rtId
).
getColumnContentModelId
();
// 文章是否已经生成了,生成了就跳过
if
(
generateIds
.
contains
(
articleId
))
{
a
i
++;
a
rtId
++;
continue
;
}
// 判断文件是否存在,若不存在弹出返回信息
if
(!
FileUtil
.
exist
(
ParserUtil
.
buildTempletPath
(
columnUrl
)))
{
a
i
++;
a
rtId
++;
continue
;
}
// 将
...
...
@@ -201,10 +203,11 @@ public class CmsParserUtil extends ParserUtil {
// 组合文章路径如:html/站点id/栏目id/文章id.html
writePath
=
ParserUtil
.
buildHtmlPath
(
articleColumnPath
+
File
.
separator
+
articleId
);
//如果是封面就生成index.html
if
(
articleIdList
.
get
(
a
i
).
getColumnType
()
==
ColumnTypeEnum
.
COLUMN_TYPE_COVER
.
toInt
())
{
if
(
articleIdList
.
get
(
a
rtId
).
getColumnType
()
==
ColumnTypeEnum
.
COLUMN_TYPE_COVER
.
toInt
())
{
writePath
=
ParserUtil
.
buildHtmlPath
(
articleColumnPath
+
File
.
separator
+
ParserUtil
.
INDEX
);
}
Map
<
String
,
Object
>
parserParams
=
new
HashMap
<
String
,
Object
>();
parserParams
.
put
(
ParserUtil
.
COLUMN
,
articleIdList
.
get
(
artId
));
// 判断当前栏目是否有自定义模型
if
(
columnContentModelId
>
0
)
{
// 通过当前栏目的模型编号获取,自定义模型表名
...
...
@@ -222,43 +225,43 @@ public class CmsParserUtil extends ParserUtil {
parserParams
.
put
(
ID
,
articleId
);
// 第一篇文章没有上一篇
if
(
a
i
>
0
)
{
ColumnArticleIdBean
preCaBean
=
articleIdList
.
get
(
a
i
-
1
);
if
(
a
rtId
>
0
)
{
ColumnArticleIdBean
preCaBean
=
articleIdList
.
get
(
a
rtId
-
1
);
//判断当前文档是否与上一页文章在同一栏目下,并且不能使用父栏目字符串,因为父栏目中没有所属栏目编号
if
(
articleColumnPath
.
contains
(
preCaBean
.
getCategoryId
()+
""
)){
pa
rserParams
.
put
(
PRE_ID
,
preCaBean
.
getArticleId
());
pa
ge
.
setPreId
(
preCaBean
.
getArticleId
());
}
}
// 最后一篇文章没有下一篇
if
(
a
i
+
1
<
articleIdList
.
size
())
{
ColumnArticleIdBean
nextCaBean
=
articleIdList
.
get
(
a
i
+
1
);
if
(
a
rtId
+
1
<
articleIdList
.
size
())
{
ColumnArticleIdBean
nextCaBean
=
articleIdList
.
get
(
a
rtId
+
1
);
//判断当前文档是否与下一页文章在同一栏目下并且不能使用父栏目字符串,因为父栏目中没有所属栏目编号
if
(
articleColumnPath
.
contains
(
nextCaBean
.
getCategoryId
()+
""
)){
pa
rserParams
.
put
(
NEXT_ID
,
nextCaBean
.
getArticleId
());
pa
ge
.
setNextId
(
nextCaBean
.
getArticleId
());
}
}
parserParams
.
put
(
IS_DO
,
false
);
String
content
=
CmsParserUtil
.
generate
(
articleIdList
.
get
(
a
i
).
getColumnUrl
(),
parserParams
,
false
);
parserParams
.
put
(
ParserUtil
.
PAGE
,
page
);
String
content
=
CmsParserUtil
.
generate
(
articleIdList
.
get
(
a
rtId
).
getColumnUrl
(),
parserParams
,
false
);
FileUtil
.
writeString
(
content
,
writePath
,
Const
.
UTF8
);
// 手机端
if
(
ParserUtil
.
hasMobileFile
(
columnUrl
))
{
writePath
=
ParserUtil
.
buildMobileHtmlPath
(
articleColumnPath
+
File
.
separator
+
articleId
);
//如果是封面就生成index.html
if
(
articleIdList
.
get
(
a
i
).
getColumnType
()
==
ColumnTypeEnum
.
COLUMN_TYPE_COVER
.
toInt
())
{
if
(
articleIdList
.
get
(
a
rtId
).
getColumnType
()
==
ColumnTypeEnum
.
COLUMN_TYPE_COVER
.
toInt
())
{
writePath
=
ParserUtil
.
buildMobileHtmlPath
(
articleColumnPath
+
File
.
separator
+
ParserUtil
.
INDEX
);
}
// 判断文件是否存在,若不存在弹出返回信息
if
(!
FileUtil
.
exist
(
ParserUtil
.
buildTempletPath
(
MOBILE
+
File
.
separator
+
columnUrl
)))
{
a
i
++;
a
rtId
++;
continue
;
}
parserParams
.
put
(
MOBILE
,
BasicUtil
.
getApp
().
getAppMobileStyle
());
content
=
CmsParserUtil
.
generate
(
articleIdList
.
get
(
a
i
).
getColumnUrl
(),
parserParams
,
true
);
content
=
CmsParserUtil
.
generate
(
articleIdList
.
get
(
a
rtId
).
getColumnUrl
(),
parserParams
,
true
);
FileUtil
.
writeString
(
content
,
writePath
,
Const
.
UTF8
);
}
a
i
++;
a
rtId
++;
}
}
}
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