Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
JeeSpringCloud
Commits
e9629e7a
Commit
e9629e7a
authored
Dec 13, 2018
by
Sun
Browse files
no commit message
parent
e4054436
Changes
411
Hide whitespace changes
Inline
Side-by-side
Too many changes to show.
To preserve performance only
20 of 411+
files are displayed.
Plain diff
Email patch
JeeSpringCloud/jeespring-cms/src/main/java/com/jeespring/modules/cms/web/CategoryController.java
deleted
100644 → 0
View file @
e4054436
/**
* Copyright © 2012-2016 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpring</a>All rights reserved.
*/
package
com.jeespring.modules.cms.web
;
import
java.util.List
;
import
java.util.Map
;
import
javax.servlet.http.HttpServletResponse
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.apache.shiro.authz.annotation.RequiresUser
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.Model
;
import
org.springframework.web.bind.annotation.ModelAttribute
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.servlet.mvc.support.RedirectAttributes
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
import
com.jeespring.common.config.Global
;
import
com.jeespring.common.utils.StringUtils
;
import
com.jeespring.common.web.AbstractBaseController
;
import
com.jeespring.modules.cms.entity.Article
;
import
com.jeespring.modules.cms.entity.Category
;
import
com.jeespring.modules.cms.entity.Site
;
import
com.jeespring.modules.cms.service.CategoryService
;
import
com.jeespring.modules.cms.service.FileTplService
;
import
com.jeespring.modules.cms.service.SiteService
;
import
com.jeespring.modules.cms.utils.TplUtils
;
/**
* 栏目Controller
* @author JeeSpring
* @version 2013-4-21
*/
@Controller
@RequestMapping
(
value
=
"${adminPath}/cms/category"
)
public
class
CategoryController
extends
AbstractBaseController
{
@Autowired
private
CategoryService
categoryService
;
@Autowired
private
FileTplService
fileTplService
;
@Autowired
private
SiteService
siteService
;
@ModelAttribute
(
"category"
)
public
Category
get
(
@RequestParam
(
required
=
false
)
String
id
)
{
if
(
StringUtils
.
isNotBlank
(
id
)){
return
categoryService
.
get
(
id
);
}
else
{
return
new
Category
();
}
}
@RequiresPermissions
(
"cms:category:view"
)
@RequestMapping
(
value
=
{
"list"
,
""
})
public
String
list
(
Model
model
)
{
List
<
Category
>
list
=
Lists
.
newArrayList
();
List
<
Category
>
sourcelist
=
categoryService
.
findByUser
(
true
,
null
);
Category
.
sortList
(
list
,
sourcelist
,
"1"
);
model
.
addAttribute
(
"list"
,
list
);
return
"modules/cms/categoryList"
;
}
@RequiresPermissions
(
"cms:category:view"
)
@RequestMapping
(
value
=
"form"
)
public
String
form
(
Category
category
,
Model
model
)
{
if
(
category
.
getParent
()==
null
||
category
.
getParent
().
getId
()==
null
){
category
.
setParent
(
new
Category
(
"1"
));
}
Category
parent
=
categoryService
.
get
(
category
.
getParent
().
getId
());
category
.
setParent
(
parent
);
if
(
category
.
getOffice
()==
null
||
category
.
getOffice
().
getId
()==
null
){
category
.
setOffice
(
parent
.
getOffice
());
}
model
.
addAttribute
(
"listViewList"
,
getTplContent
(
Category
.
DEFAULT_TEMPLATE
));
model
.
addAttribute
(
"category_DEFAULT_TEMPLATE"
,
Category
.
DEFAULT_TEMPLATE
);
model
.
addAttribute
(
"contentViewList"
,
getTplContent
(
Article
.
DEFAULT_TEMPLATE
));
model
.
addAttribute
(
"article_DEFAULT_TEMPLATE"
,
Article
.
DEFAULT_TEMPLATE
);
model
.
addAttribute
(
"office"
,
category
.
getOffice
());
model
.
addAttribute
(
"category"
,
category
);
return
"modules/cms/categoryForm"
;
}
@RequiresPermissions
(
"cms:category:edit"
)
@RequestMapping
(
value
=
"save"
)
public
String
save
(
Category
category
,
Model
model
,
RedirectAttributes
redirectAttributes
)
{
if
(
Global
.
isDemoMode
()){
addMessage
(
redirectAttributes
,
"演示模式,不允许操作!"
);
return
"redirect:"
+
adminPath
+
"/cms/category/"
;
}
if
(!
beanValidator
(
model
,
category
)){
return
form
(
category
,
model
);
}
categoryService
.
save
(
category
);
addMessage
(
redirectAttributes
,
"保存栏目'"
+
category
.
getName
()
+
"'成功"
);
return
"redirect:"
+
adminPath
+
"/cms/category/"
;
}
@RequiresPermissions
(
"cms:category:edit"
)
@RequestMapping
(
value
=
"delete"
)
public
String
delete
(
Category
category
,
RedirectAttributes
redirectAttributes
)
{
if
(
Global
.
isDemoMode
()){
addMessage
(
redirectAttributes
,
"演示模式,不允许操作!"
);
return
"redirect:"
+
adminPath
+
"/cms/category/"
;
}
if
(
Category
.
isRoot
(
category
.
getId
())){
addMessage
(
redirectAttributes
,
"删除栏目失败, 不允许删除顶级栏目或编号为空"
);
}
else
{
categoryService
.
delete
(
category
);
addMessage
(
redirectAttributes
,
"删除栏目成功"
);
}
return
"redirect:"
+
adminPath
+
"/cms/category/"
;
}
/**
* 批量修改栏目排序
*/
@RequiresPermissions
(
"cms:category:edit"
)
@RequestMapping
(
value
=
"updateSort"
)
public
String
updateSort
(
String
[]
ids
,
Integer
[]
sorts
,
RedirectAttributes
redirectAttributes
)
{
int
len
=
ids
.
length
;
Category
[]
entitys
=
new
Category
[
len
];
for
(
int
i
=
0
;
i
<
len
;
i
++)
{
entitys
[
i
]
=
categoryService
.
get
(
ids
[
i
]);
entitys
[
i
].
setSort
(
sorts
[
i
]);
categoryService
.
save
(
entitys
[
i
]);
}
addMessage
(
redirectAttributes
,
"保存栏目排序成功!"
);
return
"redirect:"
+
adminPath
+
"/cms/category/"
;
}
@RequiresUser
@ResponseBody
@RequestMapping
(
value
=
"treeData"
)
public
List
<
Map
<
String
,
Object
>>
treeData
(
String
module
,
@RequestParam
(
required
=
false
)
String
extId
,
HttpServletResponse
response
)
{
response
.
setContentType
(
"application/json; charset=UTF-8"
);
List
<
Map
<
String
,
Object
>>
mapList
=
Lists
.
newArrayList
();
List
<
Category
>
list
=
categoryService
.
findByUser
(
true
,
module
);
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++){
Category
e
=
list
.
get
(
i
);
if
(
extId
==
null
||
(
extId
!=
null
&&
!
extId
.
equals
(
e
.
getId
())
&&
e
.
getParentIds
().
indexOf
(
","
+
extId
+
","
)==-
1
)){
Map
<
String
,
Object
>
map
=
Maps
.
newHashMap
();
map
.
put
(
"id"
,
e
.
getId
());
map
.
put
(
"pId"
,
e
.
getParent
()!=
null
?
e
.
getParent
().
getId
():
0
);
map
.
put
(
"name"
,
e
.
getName
());
map
.
put
(
"module"
,
e
.
getModule
());
mapList
.
add
(
map
);
}
}
return
mapList
;
}
private
List
<
String
>
getTplContent
(
String
prefix
)
{
List
<
String
>
tplList
=
fileTplService
.
getNameListByPrefix
(
siteService
.
get
(
Site
.
getCurrentSiteId
()).
getSolutionPath
());
tplList
=
TplUtils
.
tplTrim
(
tplList
,
prefix
,
""
);
return
tplList
;
}
}
JeeSpringCloud/jeespring-cms/src/main/java/com/jeespring/modules/cms/web/CmsController.java
deleted
100644 → 0
View file @
e4054436
/**
* Copyright © 2012-2016 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpring</a>All rights reserved.
*/
package
com.jeespring.modules.cms.web
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.Model
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
com.jeespring.common.web.AbstractBaseController
;
import
com.jeespring.modules.cms.service.CategoryService
;
/**
* 内容管理Controller
* @author JeeSpring
* @version 2013-4-21
*/
@Controller
@RequestMapping
(
value
=
"${adminPath}/cms"
)
public
class
CmsController
extends
AbstractBaseController
{
@Autowired
private
CategoryService
categoryService
;
@RequiresPermissions
(
"cms:view"
)
@RequestMapping
(
value
=
""
)
public
String
index
()
{
return
"modules/cms/cmsIndex"
;
}
@RequiresPermissions
(
"cms:view"
)
@RequestMapping
(
value
=
"tree"
)
public
String
tree
(
Model
model
)
{
model
.
addAttribute
(
"categoryList"
,
categoryService
.
findByUser
(
true
,
null
));
return
"modules/cms/cmsTree"
;
}
@RequiresPermissions
(
"cms:view"
)
@RequestMapping
(
value
=
"none"
)
public
String
none
()
{
return
"modules/cms/cmsNone"
;
}
}
JeeSpringCloud/jeespring-cms/src/main/java/com/jeespring/modules/cms/web/CommentController.java
deleted
100644 → 0
View file @
e4054436
/**
* Copyright © 2012-2016 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpring</a>All rights reserved.
*/
package
com.jeespring.modules.cms.web
;
import
java.util.Date
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.Model
;
import
org.springframework.web.bind.annotation.ModelAttribute
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.servlet.mvc.support.RedirectAttributes
;
import
com.jeespring.common.persistence.Page
;
import
com.jeespring.common.utils.StringUtils
;
import
com.jeespring.common.web.AbstractBaseController
;
import
com.jeespring.modules.cms.entity.Comment
;
import
com.jeespring.modules.cms.service.CommentService
;
import
com.jeespring.modules.sys.utils.DictUtils
;
import
com.jeespring.modules.sys.utils.UserUtils
;
/**
* 评论Controller
* @author JeeSpring
* @version 2013-3-23
*/
@Controller
@RequestMapping
(
value
=
"${adminPath}/cms/comment"
)
public
class
CommentController
extends
AbstractBaseController
{
@Autowired
private
CommentService
commentService
;
@ModelAttribute
public
Comment
get
(
@RequestParam
(
required
=
false
)
String
id
)
{
if
(
StringUtils
.
isNotBlank
(
id
)){
return
commentService
.
get
(
id
);
}
else
{
return
new
Comment
();
}
}
@RequiresPermissions
(
"cms:comment:view"
)
@RequestMapping
(
value
=
{
"list"
,
""
})
public
String
list
(
Comment
comment
,
HttpServletRequest
request
,
HttpServletResponse
response
,
Model
model
)
{
Page
<
Comment
>
page
=
commentService
.
findPage
(
new
Page
<
Comment
>(
request
,
response
),
comment
);
model
.
addAttribute
(
"page"
,
page
);
return
"modules/cms/commentList"
;
}
@RequiresPermissions
(
"cms:comment:edit"
)
@RequestMapping
(
value
=
"save"
)
public
String
save
(
Comment
comment
,
RedirectAttributes
redirectAttributes
)
{
if
(
beanValidator
(
redirectAttributes
,
comment
)){
if
(
comment
.
getAuditUser
()
==
null
){
comment
.
setAuditUser
(
UserUtils
.
getUser
());
comment
.
setAuditDate
(
new
Date
());
}
comment
.
setDelFlag
(
Comment
.
DEL_FLAG_NORMAL
);
commentService
.
save
(
comment
);
addMessage
(
redirectAttributes
,
DictUtils
.
getDictLabel
(
comment
.
getDelFlag
(),
"cms_del_flag"
,
"保存"
)
+
"评论'"
+
StringUtils
.
abbr
(
StringUtils
.
replaceHtml
(
comment
.
getContent
()),
50
)
+
"'成功"
);
}
return
"redirect:"
+
adminPath
+
"/cms/comment/?repage&delFlag=2"
;
}
@RequiresPermissions
(
"cms:comment:edit"
)
@RequestMapping
(
value
=
"delete"
)
public
String
delete
(
Comment
comment
,
@RequestParam
(
required
=
false
)
Boolean
isRe
,
RedirectAttributes
redirectAttributes
)
{
commentService
.
delete
(
comment
,
isRe
);
addMessage
(
redirectAttributes
,
(
isRe
!=
null
&&
isRe
?
"恢复审核"
:
"删除"
)+
"评论成功"
);
return
"redirect:"
+
adminPath
+
"/cms/comment/?repage&delFlag=2"
;
}
}
JeeSpringCloud/jeespring-cms/src/main/java/com/jeespring/modules/cms/web/GuestbookController.java
deleted
100644 → 0
View file @
e4054436
/**
* Copyright © 2012-2016 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpring</a>All rights reserved.
*/
package
com.jeespring.modules.cms.web
;
import
java.util.Date
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.Model
;
import
org.springframework.web.bind.annotation.ModelAttribute
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.servlet.mvc.support.RedirectAttributes
;
import
com.jeespring.common.persistence.Page
;
import
com.jeespring.common.utils.StringUtils
;
import
com.jeespring.common.web.AbstractBaseController
;
import
com.jeespring.modules.cms.entity.Guestbook
;
import
com.jeespring.modules.cms.service.GuestbookService
;
import
com.jeespring.modules.sys.utils.DictUtils
;
import
com.jeespring.modules.sys.utils.UserUtils
;
/**
* 留言Controller
* @author JeeSpring
* @version 2013-3-23
*/
@Controller
@RequestMapping
(
value
=
"${adminPath}/cms/guestbook"
)
public
class
GuestbookController
extends
AbstractBaseController
{
@Autowired
private
GuestbookService
guestbookService
;
@ModelAttribute
public
Guestbook
get
(
@RequestParam
(
required
=
false
)
String
id
)
{
if
(
StringUtils
.
isNotBlank
(
id
)){
return
guestbookService
.
get
(
id
);
}
else
{
return
new
Guestbook
();
}
}
@RequiresPermissions
(
"cms:guestbook:view"
)
@RequestMapping
(
value
=
{
"list"
,
""
})
public
String
list
(
Guestbook
guestbook
,
HttpServletRequest
request
,
HttpServletResponse
response
,
Model
model
)
{
Page
<
Guestbook
>
page
=
guestbookService
.
findPage
(
new
Page
<
Guestbook
>(
request
,
response
),
guestbook
);
model
.
addAttribute
(
"page"
,
page
);
return
"modules/cms/guestbookList"
;
}
@RequiresPermissions
(
"cms:guestbook:view"
)
@RequestMapping
(
value
=
"form"
)
public
String
form
(
Guestbook
guestbook
,
Model
model
)
{
model
.
addAttribute
(
"guestbook"
,
guestbook
);
return
"modules/cms/guestbookForm"
;
}
@RequiresPermissions
(
"cms:guestbook:edit"
)
@RequestMapping
(
value
=
"save"
)
public
String
save
(
Guestbook
guestbook
,
Model
model
,
RedirectAttributes
redirectAttributes
)
{
if
(!
beanValidator
(
model
,
guestbook
)){
return
form
(
guestbook
,
model
);
}
if
(
guestbook
.
getReUser
()
==
null
){
guestbook
.
setReUser
(
UserUtils
.
getUser
());
guestbook
.
setReDate
(
new
Date
());
}
guestbookService
.
save
(
guestbook
);
addMessage
(
redirectAttributes
,
DictUtils
.
getDictLabel
(
guestbook
.
getDelFlag
(),
"cms_del_flag"
,
"保存"
)
+
"留言'"
+
guestbook
.
getName
()
+
"'成功"
);
return
"redirect:"
+
adminPath
+
"/cms/guestbook/?repage&status=2"
;
}
@RequiresPermissions
(
"cms:guestbook:edit"
)
@RequestMapping
(
value
=
"delete"
)
public
String
delete
(
Guestbook
guestbook
,
@RequestParam
(
required
=
false
)
Boolean
isRe
,
RedirectAttributes
redirectAttributes
)
{
guestbookService
.
delete
(
guestbook
,
isRe
);
addMessage
(
redirectAttributes
,
(
isRe
!=
null
&&
isRe
?
"恢复审核"
:
"删除"
)+
"留言成功"
);
return
"redirect:"
+
adminPath
+
"/cms/guestbook/?repage&status=2"
;
}
}
JeeSpringCloud/jeespring-cms/src/main/java/com/jeespring/modules/cms/web/LinkController.java
deleted
100644 → 0
View file @
e4054436
/**
* Copyright © 2012-2016 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpring</a>All rights reserved.
*/
package
com.jeespring.modules.cms.web
;
import
java.util.List
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.Model
;
import
org.springframework.web.bind.annotation.ModelAttribute
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.servlet.mvc.support.RedirectAttributes
;
import
com.jeespring.common.mapper.JsonMapper
;
import
com.jeespring.common.persistence.Page
;
import
com.jeespring.common.utils.StringUtils
;
import
com.jeespring.common.web.AbstractBaseController
;
import
com.jeespring.modules.cms.entity.Category
;
import
com.jeespring.modules.cms.entity.Link
;
import
com.jeespring.modules.cms.entity.Site
;
import
com.jeespring.modules.cms.service.CategoryService
;
import
com.jeespring.modules.cms.service.LinkService
;
/**
* 链接Controller
* @author JeeSpring
* @version 2013-3-23
*/
@Controller
@RequestMapping
(
value
=
"${adminPath}/cms/link"
)
public
class
LinkController
extends
AbstractBaseController
{
@Autowired
private
LinkService
linkService
;
@Autowired
private
CategoryService
categoryService
;
@ModelAttribute
public
Link
get
(
@RequestParam
(
required
=
false
)
String
id
)
{
if
(
StringUtils
.
isNotBlank
(
id
)){
return
linkService
.
get
(
id
);
}
else
{
return
new
Link
();
}
}
@RequiresPermissions
(
"cms:link:view"
)
@RequestMapping
(
value
=
{
"list"
,
""
})
public
String
list
(
Link
link
,
HttpServletRequest
request
,
HttpServletResponse
response
,
Model
model
)
{
// User user = UserUtils.getUser();
// if (!user.isAdmin() && !SecurityUtils.getSubject().isPermitted("cms:link:audit")){
// link.setUser(user);
// }
Page
<
Link
>
page
=
linkService
.
findPage
(
new
Page
<
Link
>(
request
,
response
),
link
,
true
);
model
.
addAttribute
(
"page"
,
page
);
return
"modules/cms/linkList"
;
}
@RequiresPermissions
(
"cms:link:view"
)
@RequestMapping
(
value
=
"form"
)
public
String
form
(
Link
link
,
Model
model
)
{
// 如果当前传参有子节点,则选择取消传参选择
if
(
link
.
getCategory
()!=
null
&&
StringUtils
.
isNotBlank
(
link
.
getCategory
().
getId
())){
List
<
Category
>
list
=
categoryService
.
findByParentId
(
link
.
getCategory
().
getId
(),
Site
.
getCurrentSiteId
());
if
(
list
.
size
()
>
0
){
link
.
setCategory
(
null
);
}
else
{
link
.
setCategory
(
categoryService
.
get
(
link
.
getCategory
().
getId
()));
}
}
model
.
addAttribute
(
"link"
,
link
);
return
"modules/cms/linkForm"
;
}
@RequiresPermissions
(
"cms:link:edit"
)
@RequestMapping
(
value
=
"save"
)
public
String
save
(
Link
link
,
Model
model
,
RedirectAttributes
redirectAttributes
)
{
if
(!
beanValidator
(
model
,
link
)){
return
form
(
link
,
model
);
}
linkService
.
save
(
link
);
addMessage
(
redirectAttributes
,
"保存链接'"
+
StringUtils
.
abbr
(
link
.
getTitle
(),
50
)
+
"'成功"
);
return
"redirect:"
+
adminPath
+
"/cms/link/?repage&category.id="
+
link
.
getCategory
().
getId
();
}
@RequiresPermissions
(
"cms:link:edit"
)
@RequestMapping
(
value
=
"delete"
)
public
String
delete
(
Link
link
,
String
categoryId
,
@RequestParam
(
required
=
false
)
Boolean
isRe
,
RedirectAttributes
redirectAttributes
)
{
linkService
.
delete
(
link
,
isRe
);
addMessage
(
redirectAttributes
,
(
isRe
!=
null
&&
isRe
?
"发布"
:
"删除"
)+
"链接成功"
);
return
"redirect:"
+
adminPath
+
"/cms/link/?repage&category.id="
+
categoryId
;
}
/**
* 链接选择列表
*/
@RequiresPermissions
(
"cms:link:view"
)
@RequestMapping
(
value
=
"selectList"
)
public
String
selectList
(
Link
link
,
HttpServletRequest
request
,
HttpServletResponse
response
,
Model
model
)
{
list
(
link
,
request
,
response
,
model
);
return
"modules/cms/linkSelectList"
;
}
/**
* 通过编号获取链接名称
*/
@RequiresPermissions
(
"cms:link:view"
)
@ResponseBody
@RequestMapping
(
value
=
"findByIds"
)
public
String
findByIds
(
String
ids
)
{
List
<
Object
[]>
list
=
linkService
.
findByIds
(
ids
);
return
JsonMapper
.
nonDefaultMapper
().
toJson
(
list
);
}
}
JeeSpringCloud/jeespring-cms/src/main/java/com/jeespring/modules/cms/web/SiteController.java
deleted
100644 → 0
View file @
e4054436
/**
* Copyright © 2012-2016 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpring</a>All rights reserved.
*/
package
com.jeespring.modules.cms.web
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.Model
;
import
org.springframework.web.bind.annotation.ModelAttribute
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.servlet.mvc.support.RedirectAttributes
;
import
com.jeespring.common.config.Global
;
import
com.jeespring.common.persistence.Page
;
import
com.jeespring.common.utils.CookieUtils
;
import
com.jeespring.common.utils.StringUtils
;
import
com.jeespring.common.web.AbstractBaseController
;
import
com.jeespring.modules.cms.entity.Site
;
import
com.jeespring.modules.cms.service.SiteService
;
import
com.jeespring.modules.sys.utils.UserUtils
;
/**
* 站点Controller
* @author JeeSpring
* @version 2013-3-23
*/
@Controller
@RequestMapping
(
value
=
"${adminPath}/cms/site"
)
public
class
SiteController
extends
AbstractBaseController
{
@Autowired
private
SiteService
siteService
;
@ModelAttribute
public
Site
get
(
@RequestParam
(
required
=
false
)
String
id
)
{
if
(
StringUtils
.
isNotBlank
(
id
)){
return
siteService
.
get
(
id
);
}
else
{
return
new
Site
();
}
}
@RequiresPermissions
(
"cms:site:view"
)
@RequestMapping
(
value
=
{
"list"
,
""
})
public
String
list
(
Site
site
,
HttpServletRequest
request
,
HttpServletResponse
response
,
Model
model
)
{
Page
<
Site
>
page
=
siteService
.
findPage
(
new
Page
<
Site
>(
request
,
response
),
site
);
model
.
addAttribute
(
"page"
,
page
);
return
"modules/cms/siteList"
;
}
@RequiresPermissions
(
"cms:site:view"
)
@RequestMapping
(
value
=
"form"
)
public
String
form
(
Site
site
,
Model
model
)
{
model
.
addAttribute
(
"site"
,
site
);
return
"modules/cms/siteForm"
;
}
@RequiresPermissions
(
"cms:site:edit"
)
@RequestMapping
(
value
=
"save"
)
public
String
save
(
Site
site
,
Model
model
,
RedirectAttributes
redirectAttributes
)
{
if
(
Global
.
isDemoMode
()){
addMessage
(
redirectAttributes
,
"演示模式,不允许操作!"
);
return
"redirect:"
+
adminPath
+
"/cms/site/?repage"
;
}
if
(!
beanValidator
(
model
,
site
)){
return
form
(
site
,
model
);
}
siteService
.
save
(
site
);
addMessage
(
redirectAttributes
,
"保存站点'"
+
site
.
getName
()
+
"'成功"
);
return
"redirect:"
+
adminPath
+
"/cms/site/?repage"
;
}
@RequiresPermissions
(
"cms:site:edit"
)
@RequestMapping
(
value
=
"delete"
)
public
String
delete
(
Site
site
,
@RequestParam
(
required
=
false
)
Boolean
isRe
,
RedirectAttributes
redirectAttributes
)
{
if
(
Global
.
isDemoMode
()){
addMessage
(
redirectAttributes
,
"演示模式,不允许操作!"
);
return
"redirect:"
+
adminPath
+
"/cms/site/?repage"
;
}
if
(
Site
.
isDefault
(
site
.
getId
())){
addMessage
(
redirectAttributes
,
"删除站点失败, 不允许删除默认站点"
);
}
else
{
siteService
.
delete
(
site
,
isRe
);
addMessage
(
redirectAttributes
,
(
isRe
!=
null
&&
isRe
?
"恢复"
:
""
)+
"删除站点成功"
);
}
return
"redirect:"
+
adminPath
+
"/cms/site/?repage"
;
}
/**
* 选择站点
* @param id
* @return
*/
@RequiresPermissions
(
"cms:site:select"
)
@RequestMapping
(
value
=
"select"
)
public
String
select
(
String
id
,
boolean
flag
,
HttpServletResponse
response
){
if
(
id
!=
null
){
UserUtils
.
putCache
(
"siteId"
,
id
);
// 保存到Cookie中,下次登录后自动切换到该站点
CookieUtils
.
setCookie
(
response
,
"siteId"
,
id
);
}
if
(
flag
){
return
"redirect:"
+
adminPath
;
}
return
"modules/cms/siteSelect"
;
}
}
JeeSpringCloud/jeespring-cms/src/main/java/com/jeespring/modules/cms/web/StatsController.java
deleted
100644 → 0
View file @
e4054436
/**
* Copyright © 2012-2016 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpring</a>All rights reserved.
*/
package
com.jeespring.modules.cms.web
;
import
java.util.List
;
import
java.util.Map
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.Model
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
com.jeespring.common.web.AbstractBaseController
;
import
com.jeespring.modules.cms.entity.Category
;
import
com.jeespring.modules.cms.service.StatsService
;
/**
* 统计Controller
* @author JeeSpring
* @version 2013-5-21
*/
@Controller
@RequestMapping
(
value
=
"${adminPath}/cms/stats"
)
public
class
StatsController
extends
AbstractBaseController
{
@Autowired
private
StatsService
statsService
;
/**
* 文章信息量
* @param paramMap
* @param model
* @return
*/
@RequiresPermissions
(
"cms:stats:article"
)
@RequestMapping
(
value
=
"article"
)
public
String
article
(
@RequestParam
Map
<
String
,
Object
>
paramMap
,
Model
model
)
{
List
<
Category
>
list
=
statsService
.
article
(
paramMap
);
model
.
addAttribute
(
"list"
,
list
);
model
.
addAttribute
(
"paramMap"
,
paramMap
);
return
"modules/cms/statsArticle"
;
}
}
JeeSpringCloud/jeespring-cms/src/main/java/com/jeespring/modules/cms/web/TemplateController.java
deleted
100644 → 0
View file @
e4054436
package
com.jeespring.modules.cms.web
;
import
com.jeespring.common.web.AbstractBaseController
;
import
com.jeespring.modules.cms.entity.Site
;
import
com.jeespring.modules.cms.service.FileTplService
;
import
com.jeespring.modules.cms.service.SiteService
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.Model
;
import
org.springframework.web.bind.annotation.RequestMapping
;
/**
* 站点Controller
* @author SongLai
* @version 2013-3-23
*/
@Controller
@RequestMapping
(
value
=
"${adminPath}/cms/template"
)
public
class
TemplateController
extends
AbstractBaseController
{
@Autowired
private
FileTplService
fileTplService
;
@Autowired
private
SiteService
siteService
;
@RequiresPermissions
(
"cms:template:edit"
)
@RequestMapping
(
value
=
""
)
public
String
index
()
{
return
"modules/cms/tplIndex"
;
}
@RequiresPermissions
(
"cms:template:edit"
)
@RequestMapping
(
value
=
"tree"
)
public
String
tree
(
Model
model
)
{
Site
site
=
siteService
.
get
(
Site
.
getCurrentSiteId
());
model
.
addAttribute
(
"templateList"
,
fileTplService
.
getListForEdit
(
site
.
getSolutionPath
()));
return
"modules/cms/tplTree"
;
}
@RequiresPermissions
(
"cms:template:edit"
)
@RequestMapping
(
value
=
"form"
)
public
String
form
(
String
name
,
Model
model
)
{
model
.
addAttribute
(
"template"
,
fileTplService
.
getFileTpl
(
name
));
return
"modules/cms/tplForm"
;
}
@RequiresPermissions
(
"cms:template:edit"
)
@RequestMapping
(
value
=
"help"
)
public
String
help
()
{
return
"modules/cms/tplHelp"
;
}
}
JeeSpringCloud/jeespring-cms/src/main/java/com/jeespring/modules/cms/web/front/FrontController.java
deleted
100644 → 0
View file @
e4054436
/**
* Copyright © 2012-2016 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpring</a>All rights reserved.
*/
package
com.jeespring.modules.cms.web.front
;
import
java.util.Date
;
import
java.util.List
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.Model
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
com.google.common.collect.Lists
;
import
com.jeespring.common.config.Global
;
import
com.jeespring.common.persistence.Page
;
import
com.jeespring.common.servlet.ValidateCodeServlet
;
import
com.jeespring.common.utils.StringUtils
;
import
com.jeespring.common.web.AbstractBaseController
;
import
com.jeespring.modules.cms.entity.Article
;
import
com.jeespring.modules.cms.entity.Category
;
import
com.jeespring.modules.cms.entity.Comment
;
import
com.jeespring.modules.cms.entity.Link
;
import
com.jeespring.modules.cms.entity.Site
;
import
com.jeespring.modules.cms.service.ArticleDataService
;
import
com.jeespring.modules.cms.service.ArticleService
;
import
com.jeespring.modules.cms.service.CategoryService
;
import
com.jeespring.modules.cms.service.CommentService
;
import
com.jeespring.modules.cms.service.LinkService
;
import
com.jeespring.modules.cms.service.SiteService
;
import
com.jeespring.modules.cms.utils.CmsUtils
;
/**
* 网站Controller
* @author JeeSpring
* @version 2013-5-29
*/
@Controller
@RequestMapping
(
value
=
"${frontPath}"
)
public
class
FrontController
extends
AbstractBaseController
{
@Autowired
private
ArticleService
articleService
;
@Autowired
private
ArticleDataService
articleDataService
;
@Autowired
private
LinkService
linkService
;
@Autowired
private
CommentService
commentService
;
@Autowired
private
CategoryService
categoryService
;
@Autowired
private
SiteService
siteService
;
/**
* 网站首页
*/
@RequestMapping
public
String
index
(
Model
model
,
HttpServletRequest
request
,
HttpServletResponse
response
)
{
Site
site
=
CmsUtils
.
getSite
(
Site
.
defaultSiteId
());
model
.
addAttribute
(
"site"
,
site
);
model
.
addAttribute
(
"isIndex"
,
true
);
if
(
request
.
getParameter
(
"theme"
)!=
null
){
site
.
setTheme
(
request
.
getParameter
(
"theme"
));
}
return
"modules/cms/front/themes/"
+
site
.
getTheme
()+
"/frontIndex"
;
}
@RequestMapping
(
value
=
"index2"
)
public
String
index2
(
Model
model
,
HttpServletRequest
request
,
HttpServletResponse
response
)
{
Site
site
=
CmsUtils
.
getSite
(
Site
.
defaultSiteId
());
model
.
addAttribute
(
"site"
,
site
);
model
.
addAttribute
(
"isIndex"
,
true
);
if
(
request
.
getParameter
(
"theme"
)!=
null
){
site
.
setTheme
(
request
.
getParameter
(
"theme"
));
}
return
"modules/cms/front/themes/"
+
site
.
getTheme
()+
"/index"
;
}
/**
* 网站首页
*/
@RequestMapping
(
value
=
"index-{siteId}${urlSuffix}"
)
public
String
index
(
@PathVariable
String
siteId
,
Model
model
)
{
if
(
"1"
.
equals
(
siteId
)){
return
"redirect:"
+
Global
.
getFrontPath
();
}
Site
site
=
CmsUtils
.
getSite
(
siteId
);
// 子站有独立页面,则显示独立页面
if
(
StringUtils
.
isNotBlank
(
site
.
getCustomIndexView
())){
model
.
addAttribute
(
"site"
,
site
);
model
.
addAttribute
(
"isIndex"
,
true
);
return
"modules/cms/front/themes/"
+
site
.
getTheme
()+
"/frontIndex"
+
site
.
getCustomIndexView
();
}
// 否则显示子站第一个栏目
List
<
Category
>
mainNavList
=
CmsUtils
.
getMainNavList
(
siteId
);
if
(
mainNavList
.
size
()
>
0
){
String
firstCategoryId
=
CmsUtils
.
getMainNavList
(
siteId
).
get
(
0
).
getId
();
return
"redirect:"
+
Global
.
getFrontPath
()+
"/list-"
+
firstCategoryId
+
Global
.
getUrlSuffix
();
}
else
{
model
.
addAttribute
(
"site"
,
site
);
return
"modules/cms/front/themes/"
+
site
.
getTheme
()+
"/frontListCategory"
;
}
}
/**
* 内容列表
*/
@RequestMapping
(
value
=
"list-{categoryId}${urlSuffix}"
)
public
String
list
(
@PathVariable
String
categoryId
,
@RequestParam
(
required
=
false
,
defaultValue
=
"1"
)
Integer
pageNo
,
@RequestParam
(
required
=
false
,
defaultValue
=
"15"
)
Integer
pageSize
,
Model
model
)
{
Category
category
=
categoryService
.
get
(
categoryId
);
if
(
category
==
null
){
Site
site
=
CmsUtils
.
getSite
(
Site
.
defaultSiteId
());
model
.
addAttribute
(
"site"
,
site
);
return
"error/404"
;
}
Site
site
=
siteService
.
get
(
category
.
getSite
().
getId
());
model
.
addAttribute
(
"site"
,
site
);
// 2:简介类栏目,栏目第一条内容
if
(
"2"
.
equals
(
category
.
getShowModes
())
&&
"article"
.
equals
(
category
.
getModule
())){
// 如果没有子栏目,并父节点为跟节点的,栏目列表为当前栏目。
List
<
Category
>
categoryList
=
Lists
.
newArrayList
();
if
(
"1"
.
equals
(
category
.
getParent
().
getId
())){
categoryList
.
add
(
category
);
}
else
{
categoryList
=
categoryService
.
findByParentId
(
category
.
getParent
().
getId
(),
category
.
getSite
().
getId
());
}
model
.
addAttribute
(
"category"
,
category
);
model
.
addAttribute
(
"categoryList"
,
categoryList
);
// 获取文章内容
Page
<
Article
>
page
=
new
Page
<
Article
>(
1
,
1
,
-
1
);
Article
article
=
new
Article
(
category
);
page
=
articleService
.
findPage
(
page
,
article
,
false
);
if
(
page
.
getList
().
size
()>
0
){
article
=
page
.
getList
().
get
(
0
);
article
.
setArticleData
(
articleDataService
.
get
(
article
.
getId
()));
articleService
.
updateHitsAddOne
(
article
.
getId
());
}
model
.
addAttribute
(
"article"
,
article
);
CmsUtils
.
addViewConfigAttribute
(
model
,
category
);
CmsUtils
.
addViewConfigAttribute
(
model
,
article
.
getViewConfig
());
return
"modules/cms/front/themes/"
+
site
.
getTheme
()+
"/"
+
getTpl
(
article
);
}
else
{
List
<
Category
>
categoryList
=
categoryService
.
findByParentId
(
category
.
getId
(),
category
.
getSite
().
getId
());
// 展现方式为1 、无子栏目或公共模型,显示栏目内容列表
if
(
"1"
.
equals
(
category
.
getShowModes
())||
categoryList
.
size
()==
0
){
// 有子栏目并展现方式为1,则获取第一个子栏目;无子栏目,则获取同级分类列表。
if
(
categoryList
.
size
()>
0
){
category
=
categoryList
.
get
(
0
);
}
else
{
// 如果没有子栏目,并父节点为跟节点的,栏目列表为当前栏目。
if
(
"1"
.
equals
(
category
.
getParent
().
getId
())){
categoryList
.
add
(
category
);
}
else
{
categoryList
=
categoryService
.
findByParentId
(
category
.
getParent
().
getId
(),
category
.
getSite
().
getId
());
}
}
model
.
addAttribute
(
"category"
,
category
);
model
.
addAttribute
(
"categoryList"
,
categoryList
);
// 获取内容列表
if
(
"article"
.
equals
(
category
.
getModule
())){
Page
<
Article
>
page
=
new
Page
<
Article
>(
pageNo
,
pageSize
);
//System.out.println(page.getPageNo());
page
=
articleService
.
findPage
(
page
,
new
Article
(
category
),
false
);
model
.
addAttribute
(
"page"
,
page
);
// 如果第一个子栏目为简介类栏目,则获取该栏目第一篇文章
if
(
"2"
.
equals
(
category
.
getShowModes
())){
Article
article
=
new
Article
(
category
);
if
(
page
.
getList
().
size
()>
0
){
article
=
page
.
getList
().
get
(
0
);
article
.
setArticleData
(
articleDataService
.
get
(
article
.
getId
()));
articleService
.
updateHitsAddOne
(
article
.
getId
());
}
model
.
addAttribute
(
"article"
,
article
);
CmsUtils
.
addViewConfigAttribute
(
model
,
category
);
CmsUtils
.
addViewConfigAttribute
(
model
,
article
.
getViewConfig
());
return
"modules/cms/front/themes/"
+
site
.
getTheme
()+
"/"
+
getTpl
(
article
);
}
}
else
if
(
"link"
.
equals
(
category
.
getModule
())){
Page
<
Link
>
page
=
new
Page
<
Link
>(
1
,
-
1
);
page
=
linkService
.
findPage
(
page
,
new
Link
(
category
),
false
);
model
.
addAttribute
(
"page"
,
page
);
}
String
view
=
"/frontList"
;
if
(
StringUtils
.
isNotBlank
(
category
.
getCustomListView
())){
view
=
"/"
+
category
.
getCustomListView
();
}
CmsUtils
.
addViewConfigAttribute
(
model
,
category
);
site
=
siteService
.
get
(
category
.
getSite
().
getId
());
//System.out.println("else 栏目第一条内容 _2 :"+category.getSite().getTheme()+","+site.getTheme());
return
"modules/cms/front/themes/"
+
siteService
.
get
(
category
.
getSite
().
getId
()).
getTheme
()+
view
;
//return "modules/cms/front/themes/"+category.getSite().getTheme()+view;
}
// 有子栏目:显示子栏目列表
else
{
model
.
addAttribute
(
"category"
,
category
);
model
.
addAttribute
(
"categoryList"
,
categoryList
);
String
view
=
"/frontListCategory"
;
if
(
StringUtils
.
isNotBlank
(
category
.
getCustomListView
())){
view
=
"/"
+
category
.
getCustomListView
();
}
CmsUtils
.
addViewConfigAttribute
(
model
,
category
);
return
"modules/cms/front/themes/"
+
site
.
getTheme
()+
view
;
}
}
}
/**
* 内容列表(通过url自定义视图)
*/
@RequestMapping
(
value
=
"listc-{categoryId}-{customView}${urlSuffix}"
)
public
String
listCustom
(
@PathVariable
String
categoryId
,
@PathVariable
String
customView
,
@RequestParam
(
required
=
false
,
defaultValue
=
"1"
)
Integer
pageNo
,
@RequestParam
(
required
=
false
,
defaultValue
=
"15"
)
Integer
pageSize
,
Model
model
)
{
Category
category
=
categoryService
.
get
(
categoryId
);
if
(
category
==
null
){
Site
site
=
CmsUtils
.
getSite
(
Site
.
defaultSiteId
());
model
.
addAttribute
(
"site"
,
site
);
return
"error/404"
;
}
Site
site
=
siteService
.
get
(
category
.
getSite
().
getId
());
model
.
addAttribute
(
"site"
,
site
);
List
<
Category
>
categoryList
=
categoryService
.
findByParentId
(
category
.
getId
(),
category
.
getSite
().
getId
());
model
.
addAttribute
(
"category"
,
category
);
model
.
addAttribute
(
"categoryList"
,
categoryList
);
CmsUtils
.
addViewConfigAttribute
(
model
,
category
);
return
"modules/cms/front/themes/"
+
site
.
getTheme
()+
"/frontListCategory"
+
customView
;
}
/**
* 显示内容
*/
@RequestMapping
(
value
=
"view-{categoryId}-{contentId}${urlSuffix}"
)
public
String
view
(
@PathVariable
String
categoryId
,
@PathVariable
String
contentId
,
Model
model
)
{
Category
category
=
categoryService
.
get
(
categoryId
);
if
(
category
==
null
){
Site
site
=
CmsUtils
.
getSite
(
Site
.
defaultSiteId
());
model
.
addAttribute
(
"site"
,
site
);
return
"error/404"
;
}
model
.
addAttribute
(
"site"
,
category
.
getSite
());
if
(
"article"
.
equals
(
category
.
getModule
())){
// 如果没有子栏目,并父节点为跟节点的,栏目列表为当前栏目。
List
<
Category
>
categoryList
=
Lists
.
newArrayList
();
if
(
"1"
.
equals
(
category
.
getParent
().
getId
())){
categoryList
.
add
(
category
);
}
else
{
categoryList
=
categoryService
.
findByParentId
(
category
.
getParent
().
getId
(),
category
.
getSite
().
getId
());
}
// 获取文章内容
Article
article
=
articleService
.
get
(
contentId
);
if
(
article
==
null
||
!
Article
.
DEL_FLAG_NORMAL
.
equals
(
article
.
getDelFlag
())){
return
"error/404"
;
}
// 文章阅读次数+1
articleService
.
updateHitsAddOne
(
contentId
);
// 获取推荐文章列表
List
<
Object
[]>
relationList
=
articleService
.
findByIds
(
articleDataService
.
get
(
article
.
getId
()).
getRelation
());
// 将数据传递到视图
model
.
addAttribute
(
"category"
,
categoryService
.
get
(
article
.
getCategory
().
getId
()));
model
.
addAttribute
(
"categoryList"
,
categoryList
);
article
.
setArticleData
(
articleDataService
.
get
(
article
.
getId
()));
model
.
addAttribute
(
"article"
,
article
);
model
.
addAttribute
(
"relationList"
,
relationList
);
CmsUtils
.
addViewConfigAttribute
(
model
,
article
.
getCategory
());
CmsUtils
.
addViewConfigAttribute
(
model
,
article
.
getViewConfig
());
Site
site
=
siteService
.
get
(
category
.
getSite
().
getId
());
model
.
addAttribute
(
"site"
,
site
);
// return "modules/cms/front/themes/"+category.getSite().getTheme()+"/"+getTpl(article);
return
"modules/cms/front/themes/"
+
site
.
getTheme
()+
"/"
+
getTpl
(
article
);
}
return
"error/404"
;
}
/**
* 内容评论
*/
@RequestMapping
(
value
=
"comment"
,
method
=
RequestMethod
.
GET
)
public
String
comment
(
String
theme
,
Comment
comment
,
HttpServletRequest
request
,
HttpServletResponse
response
,
Model
model
)
{
Page
<
Comment
>
page
=
new
Page
<
Comment
>(
request
,
response
);
Comment
c
=
new
Comment
();
c
.
setCategory
(
comment
.
getCategory
());
c
.
setContentId
(
comment
.
getContentId
());
c
.
setDelFlag
(
Comment
.
DEL_FLAG_NORMAL
);
page
=
commentService
.
findPage
(
page
,
c
);
model
.
addAttribute
(
"page"
,
page
);
model
.
addAttribute
(
"comment"
,
comment
);
return
"modules/cms/front/themes/"
+
theme
+
"/frontComment"
;
}
/**
* 内容评论保存
*/
@ResponseBody
@RequestMapping
(
value
=
"comment"
,
method
=
RequestMethod
.
POST
)
public
String
commentSave
(
Comment
comment
,
String
validateCode
,
@RequestParam
(
required
=
false
)
String
replyId
,
HttpServletRequest
request
)
{
if
(
StringUtils
.
isNotBlank
(
validateCode
)){
if
(
ValidateCodeServlet
.
validate
(
request
,
validateCode
)){
if
(
StringUtils
.
isNotBlank
(
replyId
)){
Comment
replyComment
=
commentService
.
get
(
replyId
);
if
(
replyComment
!=
null
){
comment
.
setContent
(
"<div class=\"reply\">"
+
replyComment
.
getName
()+
":<br/>"
+
replyComment
.
getContent
()+
"</div>"
+
comment
.
getContent
());
}
}
comment
.
setIp
(
request
.
getRemoteAddr
());
comment
.
setCreateDate
(
new
Date
());
comment
.
setDelFlag
(
Comment
.
DEL_FLAG_AUDIT
);
commentService
.
save
(
comment
);
return
"{result:1, message:'提交成功。'}"
;
}
else
{
return
"{result:2, message:'验证码不正确。'}"
;
}
}
else
{
return
"{result:2, message:'验证码不能为空。'}"
;
}
}
/**
* 站点地图
*/
@RequestMapping
(
value
=
"map-{siteId}${urlSuffix}"
)
public
String
map
(
@PathVariable
String
siteId
,
Model
model
)
{
Site
site
=
CmsUtils
.
getSite
(
siteId
!=
null
?
siteId:
Site
.
defaultSiteId
());
model
.
addAttribute
(
"site"
,
site
);
return
"modules/cms/front/themes/"
+
site
.
getTheme
()+
"/frontMap"
;
}
private
String
getTpl
(
Article
article
){
if
(
StringUtils
.
isBlank
(
article
.
getCustomContentView
())){
String
view
=
null
;
Category
c
=
article
.
getCategory
();
boolean
goon
=
true
;
do
{
if
(
StringUtils
.
isNotBlank
(
c
.
getCustomContentView
())){
view
=
c
.
getCustomContentView
();
goon
=
false
;
}
else
if
(
c
.
getParent
()
==
null
||
c
.
getParent
().
isRoot
()){
goon
=
false
;
}
else
{
c
=
c
.
getParent
();
}
}
while
(
goon
);
return
StringUtils
.
isBlank
(
view
)
?
Article
.
DEFAULT_TEMPLATE
:
view
;
}
else
{
return
article
.
getCustomContentView
();
}
}
}
JeeSpringCloud/jeespring-cms/src/main/java/com/jeespring/modules/cms/web/front/FrontGuestbookController.java
deleted
100644 → 0
View file @
e4054436
/**
* Copyright © 2012-2016 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpring</a>All rights reserved.
*/
package
com.jeespring.modules.cms.web.front
;
import
java.util.Date
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.Model
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.servlet.mvc.support.RedirectAttributes
;
import
com.jeespring.common.config.Global
;
import
com.jeespring.common.persistence.Page
;
import
com.jeespring.common.web.AbstractBaseController
;
import
com.jeespring.modules.cms.entity.Guestbook
;
import
com.jeespring.modules.cms.entity.Site
;
import
com.jeespring.modules.cms.service.GuestbookService
;
import
com.jeespring.modules.cms.utils.CmsUtils
;
/**
* 留言板Controller
* @author JeeSpring
* @version 2013-3-15
*/
@Controller
@RequestMapping
(
value
=
"${frontPath}/guestbook"
)
public
class
FrontGuestbookController
extends
AbstractBaseController
{
@Autowired
private
GuestbookService
guestbookService
;
/**
* 留言板
*/
@RequestMapping
(
value
=
""
,
method
=
RequestMethod
.
GET
)
public
String
guestbook
(
@RequestParam
(
required
=
false
,
defaultValue
=
"1"
)
Integer
pageNo
,
@RequestParam
(
required
=
false
,
defaultValue
=
"30"
)
Integer
pageSize
,
Model
model
)
{
Site
site
=
CmsUtils
.
getSite
(
Site
.
defaultSiteId
());
model
.
addAttribute
(
"site"
,
site
);
Page
<
Guestbook
>
page
=
new
Page
<
Guestbook
>(
pageNo
,
pageSize
);
Guestbook
guestbook
=
new
Guestbook
();
guestbook
.
setDelFlag
(
Guestbook
.
DEL_FLAG_NORMAL
);
page
=
guestbookService
.
findPage
(
page
,
guestbook
);
model
.
addAttribute
(
"page"
,
page
);
return
"modules/cms/front/themes/"
+
site
.
getTheme
()+
"/frontGuestbook"
;
}
/**
* 留言板-保存留言信息
*/
@RequestMapping
(
value
=
""
,
method
=
RequestMethod
.
POST
)
public
String
guestbookSave
(
Guestbook
guestbook
,
String
validateCode
,
HttpServletRequest
request
,
HttpServletResponse
response
,
RedirectAttributes
redirectAttributes
)
{
// if (StringUtils.isNotBlank(validateCode)){
// if (ValidateCodeServlet.validate(request, validateCode)){
guestbook
.
setIp
(
request
.
getRemoteAddr
());
guestbook
.
setCreateDate
(
new
Date
());
guestbook
.
setDelFlag
(
Guestbook
.
DEL_FLAG_AUDIT
);
guestbookService
.
save
(
guestbook
);
addMessage
(
redirectAttributes
,
"提交成功,谢谢!"
);
// }else{
// addMessage(redirectAttributes, "验证码不正确。");
// }
// }else{
// addMessage(redirectAttributes, "验证码不能为空。");
// }
return
"redirect:"
+
Global
.
getFrontPath
()+
"/guestbook"
;
}
}
JeeSpringCloud/jeespring-cms/src/main/java/com/jeespring/modules/cms/web/front/FrontSearchController.java
deleted
100644 → 0
View file @
e4054436
/**
* Copyright © 2012-2016 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpring</a>All rights reserved.
*/
package
com.jeespring.modules.cms.web.front
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.Model
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
com.jeespring.common.persistence.Page
;
import
com.jeespring.common.utils.StringUtils
;
import
com.jeespring.common.web.AbstractBaseController
;
import
com.jeespring.modules.cms.entity.Article
;
import
com.jeespring.modules.cms.entity.Guestbook
;
import
com.jeespring.modules.cms.entity.Site
;
import
com.jeespring.modules.cms.service.ArticleService
;
import
com.jeespring.modules.cms.service.GuestbookService
;
import
com.jeespring.modules.cms.utils.CmsUtils
;
import
com.jeespring.modules.sys.utils.UserUtils
;
/**
* 网站搜索Controller
* @author JeeSpring
* @version 2013-5-29
*/
@Controller
@RequestMapping
(
value
=
"${frontPath}/search"
)
public
class
FrontSearchController
extends
AbstractBaseController
{
@Autowired
private
ArticleService
articleService
;
@Autowired
private
GuestbookService
guestbookService
;
/**
* 全站搜索
*/
@RequestMapping
(
value
=
""
)
public
String
search
(
String
t
,
@RequestParam
(
required
=
false
)
String
q
,
@RequestParam
(
required
=
false
)
String
qand
,
@RequestParam
(
required
=
false
)
String
qnot
,
@RequestParam
(
required
=
false
)
String
a
,
@RequestParam
(
required
=
false
)
String
cid
,
@RequestParam
(
required
=
false
)
String
bd
,
@RequestParam
(
required
=
false
)
String
ed
,
HttpServletRequest
request
,
HttpServletResponse
response
,
Model
model
)
{
long
start
=
System
.
currentTimeMillis
();
Site
site
=
CmsUtils
.
getSite
(
Site
.
defaultSiteId
());
model
.
addAttribute
(
"site"
,
site
);
// 重建索引(需要超级管理员权限)
if
(
"cmd:reindex"
.
equals
(
q
)){
if
(
UserUtils
.
getUser
().
isAdmin
()){
// 文章模型
if
(
StringUtils
.
isBlank
(
t
)
||
"article"
.
equals
(
t
)){
articleService
.
createIndex
();
}
// 留言模型
else
if
(
"guestbook"
.
equals
(
t
)){
guestbookService
.
createIndex
();
}
model
.
addAttribute
(
"message"
,
"重建索引成功,共耗时 "
+
(
System
.
currentTimeMillis
()
-
start
)
+
"毫秒。"
);
}
else
{
model
.
addAttribute
(
"message"
,
"你没有执行权限。"
);
}
}
// 执行检索
else
{
String
qStr
=
StringUtils
.
replace
(
StringUtils
.
replace
(
q
,
","
,
" "
),
", "
,
" "
);
// 如果是高级搜索
if
(
"1"
.
equals
(
a
)){
if
(
StringUtils
.
isNotBlank
(
qand
)){
qStr
+=
" +"
+
StringUtils
.
replace
(
StringUtils
.
replace
(
StringUtils
.
replace
(
qand
,
","
,
" "
),
", "
,
" "
),
" "
,
" +"
);
}
if
(
StringUtils
.
isNotBlank
(
qnot
)){
qStr
+=
" -"
+
StringUtils
.
replace
(
StringUtils
.
replace
(
StringUtils
.
replace
(
qnot
,
","
,
" "
),
", "
,
" "
),
" "
,
" -"
);
}
}
// 文章检索
if
(
StringUtils
.
isBlank
(
t
)
||
"article"
.
equals
(
t
)){
Page
<
Article
>
page
=
articleService
.
search
(
new
Page
<
Article
>(
request
,
response
),
qStr
,
cid
,
bd
,
ed
);
page
.
setMessage
(
"匹配结果,共耗时 "
+
(
System
.
currentTimeMillis
()
-
start
)
+
"毫秒。"
);
model
.
addAttribute
(
"page"
,
page
);
}
// 留言检索
else
if
(
"guestbook"
.
equals
(
t
)){
Page
<
Guestbook
>
page
=
guestbookService
.
search
(
new
Page
<
Guestbook
>(
request
,
response
),
qStr
,
bd
,
ed
);
page
.
setMessage
(
"匹配结果,共耗时 "
+
(
System
.
currentTimeMillis
()
-
start
)
+
"毫秒。"
);
model
.
addAttribute
(
"page"
,
page
);
}
}
model
.
addAttribute
(
"t"
,
t
);
// 搜索类型
model
.
addAttribute
(
"q"
,
q
);
// 搜索关键字
model
.
addAttribute
(
"qand"
,
qand
);
// 包含以下全部的关键词
model
.
addAttribute
(
"qnot"
,
qnot
);
// 不包含以下关键词
model
.
addAttribute
(
"cid"
,
cid
);
// 搜索类型
return
"modules/cms/front/themes/"
+
site
.
getTheme
()+
"/frontSearch"
;
}
}
JeeSpringCloud/jeespring-cms/src/main/java/com/jeespring/modules/cms/web/front/WeixinController.java
deleted
100644 → 0
View file @
e4054436
/**
* Copyright © 2012-2016 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpring</a>All rights reserved.
*/
package
com.jeespring.modules.cms.web.front
;
import
javax.servlet.http.HttpServletRequest
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
com.jeespring.common.web.AbstractBaseController
;
import
com.jeespring.modules.cms.utils.WiexinSignUtil
;
/**
* 测试Controller
* @author JeeSpring
* @version 2014-02-28
*/
@Controller
@RequestMapping
(
value
=
"${frontPath}/weixin"
)
public
class
WeixinController
extends
AbstractBaseController
{
/**
*
* @param signature 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
* @param timestamp 时间戳
* @param nonce 随机数
* @param echostr 随机数
* @return
*/
@RequestMapping
(
value
=
""
,
method
=
RequestMethod
.
GET
)
@ResponseBody
public
String
get
(
String
signature
,
String
timestamp
,
String
nonce
,
String
echostr
,
HttpServletRequest
request
)
{
System
.
out
.
println
(
"=============================================== get start"
);
for
(
Object
o
:
request
.
getParameterMap
().
keySet
()){
System
.
out
.
println
(
o
+
" = "
+
request
.
getParameter
((
String
)
o
));
}
System
.
out
.
println
(
"=============================================== get end"
);
// 通过检验signature对请求进行校验,若校验成功则原样返回echostr,表示接入成功,否则接入失败
if
(
WiexinSignUtil
.
checkSignature
(
signature
,
timestamp
,
nonce
))
{
return
echostr
;
}
return
""
;
}
@RequestMapping
(
value
=
""
,
method
=
RequestMethod
.
POST
)
@ResponseBody
public
String
post
(
String
signature
,
String
timestamp
,
String
nonce
,
String
echostr
,
HttpServletRequest
request
)
{
System
.
out
.
println
(
"=============================================== post start"
);
for
(
Object
o
:
request
.
getParameterMap
().
keySet
()){
System
.
out
.
println
(
o
+
" = "
+
request
.
getParameter
((
String
)
o
));
}
System
.
out
.
println
(
"=============================================== post end"
);
StringBuilder
result
=
new
StringBuilder
();
result
.
append
(
"<xml>"
+
"<ToUserName><![CDATA[toUser]]></ToUserName>"
+
"<FromUserName><![CDATA[fromUser]]></FromUserName>"
+
"<CreateTime>12345678</CreateTime>"
+
"<MsgType><![CDATA[text]]></MsgType>"
+
"<Content><![CDATA[你好]]></Content>"
+
"</xml>"
);
return
result
.
toString
();
}
}
JeeSpringCloud/jeespring-cms/src/main/resources/mappings/cms/ArticleDao.xml
deleted
100644 → 0
View file @
e4054436
<?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.jeespring.modules.cms.dao.ArticleDao"
>
<sql
id=
"cmsArticleColumns"
>
a.id AS "id",
a.category_id AS "category.id",
a.title AS "title",
a.link AS "link",
a.color AS "color",
a.image AS "image",
a.keywords AS "keywords",
a.description AS "description",
a.weight AS "weight",
a.weight_date AS "weightDate",
a.hits AS "hits",
a.posid AS "posid",
a.custom_content_view AS "customContentView",
a.view_config AS "viewConfig",
a.create_by AS "createBy.id",
a.create_date AS "createDate",
a.update_by AS "updateBy.id",
a.update_date AS "updateDate",
a.remarks AS "remarks",
a.del_flag AS "delFlag",
c.name AS "category.name",
u.name AS "user.name"
</sql>
<sql
id=
"cmsArticleJoins"
>
JOIN cms_category c ON c.id = a.category_id
JOIN sys_office o ON o.id = c.office_id
JOIN sys_user u ON u.id = a.create_by
</sql>
<select
id=
"get"
resultType=
"Article"
>
SELECT
<include
refid=
"cmsArticleColumns"
/>
FROM cms_article a
<include
refid=
"cmsArticleJoins"
/>
WHERE a.id = #{id}
</select>
<select
id=
"findList"
resultType=
"Article"
>
SELECT
<include
refid=
"cmsArticleColumns"
/>
FROM cms_article a
<include
refid=
"cmsArticleJoins"
/>
<where>
a.del_flag = #{delFlag}
<if
test=
"title != null and title != ''"
>
AND a.title LIKE
<if
test=
"dbName == 'oracle'"
>
'%'||#{title}||'%'
</if>
<if
test=
"dbName == 'mssql'"
>
'%'+#{title}+'%'
</if>
<if
test=
"dbName == 'mysql'"
>
CONCAT('%', #{title}, '%')
</if>
</if>
<if
test=
"posid != null and posid != ''"
>
AND a.posid LIKE
<if
test=
"dbName == 'oracle'"
>
'%'||#{posid}||'%'
</if>
<if
test=
"dbName == 'mssql'"
>
'%'+#{posid}+'%'
</if>
<if
test=
"dbName == 'mysql'"
>
CONCAT('%', #{posid}, '%')
</if>
</if>
<if
test=
"category.id != null and category.id != ''"
>
AND (a.category_id = #{category.id}
<if
test=
"category.parentIds != null and category.parentIds != ''"
>
or c.parent_ids like
<if
test=
"dbName == 'oracle'"
>
'%'||#{category.id}||'%'
</if>
<if
test=
"dbName == 'mssql'"
>
'%,'+#{category.id}+',%'
</if>
<if
test=
"dbName == 'mysql'"
>
CONCAT('%,', #{category.id}, ',%')
</if>
</if>
)
</if>
<if
test=
"image != null and image != ''"
>
AND a.image = #{image}
</if>
<if
test=
"createBy != null and createBy.id != null and createBy.id != ''"
>
AND a.create_by = #{createBy.id}
</if>
<!-- ${sqlMap.dsf}-->
</where>
<choose>
<when
test=
"page !=null and page.orderBy != null and page.orderBy != ''"
>
ORDER BY ${page.orderBy}
</when>
<otherwise>
ORDER BY a.weight DESC, a.update_date DESC
</otherwise>
</choose>
</select>
<select
id=
"findAllList"
resultType=
"Article"
>
SELECT
<include
refid=
"cmsArticleColumns"
/>
FROM cms_article a
<include
refid=
"cmsArticleJoins"
/>
<where>
a.del_flag = #{DEL_FLAG_NORMAL}
</where>
<choose>
<when
test=
"page !=null and page.orderBy != null and page.orderBy != ''"
>
ORDER BY ${page.orderBy}
</when>
<otherwise>
ORDER BY a.weight DESC, a.update_date DESC
</otherwise>
</choose>
</select>
<insert
id=
"insert"
>
INSERT INTO cms_article(
id,
category_id,
title,
link,
color,
image,
keywords,
description,
weight,
weight_date,
hits,
posid,
custom_content_view,
view_config,
create_by,
create_date,
update_by,
update_date,
remarks,
del_flag
) VALUES (
#{id},
#{category.id},
#{title},
#{link},
#{color},
#{image},
#{keywords},
#{description},
#{weight},
#{weightDate},
#{hits},
#{posid},
#{customContentView},
#{viewConfig},
#{createBy.id},
#{createDate},
#{updateBy.id},
#{updateDate},
#{remarks},
#{delFlag}
)
</insert>
<update
id=
"update"
>
UPDATE cms_article SET
category_id = #{category.id},
title = #{title},
link = #{link},
color = #{color},
image = #{image},
keywords = #{keywords},
description = #{description},
weight = #{weight},
weight_date = #{weightDate},
hits = #{hits},
posid = #{posid},
custom_content_view = #{customContentView},
view_config = #{viewConfig},
create_date = #{createDate},
update_by = #{updateBy.id},
update_date = #{updateDate},
remarks = #{remarks},
del_flag = #{delFlag}
WHERE id = #{id}
</update>
<update
id=
"delete"
>
UPDATE cms_article SET
del_flag = #{DEL_FLAG_DELETE}
WHERE id = #{id}
</update>
<select
id=
"findByIdIn"
resultType=
"Article"
>
SELECT
<include
refid=
"cmsArticleColumns"
/>
from cms_article a where
<where>
id in (${id});
</where>
</select>
<update
id=
"updateExpiredWeight"
>
update cms_article SET
weight = 0
WHERE weight
>
0 AND weight_date
<
<if
test=
"dbName == 'oracle'"
>
sysdate
</if>
<if
test=
"dbName == 'mssql'"
>
FLOOR(CONVERT(FLOAT,GETDATE()))
</if>
<if
test=
"dbName == 'mysql'"
>
CURDATE()
</if>
</update>
<update
id=
"updateHitsAddOne"
>
update cms_article set
hits = hits+1
WHERE id = #{id}
</update>
<select
id=
"findStats"
resultType=
"Category"
>
select max(c.id) AS "id",
max(c.name) AS "name",
max(cp.id) AS "parent.id",
max(cp.name) AS "parent.name",
count(*) AS "cnt",
sum(a.hits) AS "hits",
max(a.update_date) as "updateDate",
max(o.id) AS "office.id",
max(o.name) AS "office.name"
FROM cms_article a
RIGHT JOIN cms_category c ON c.id = a.category_id
JOIN cms_category cp ON c.parent_id = cp.id
JOIN sys_office o ON o.id = c.office_id
<where>
a.del_flag = #{DEL_FLAG_NORMAL}
AND c.site_id = #{site.id}
<if
test=
"office.id != null and office.id != ''"
>
AND (c.office_id = #{office.id} OR o.parent_ids like
<if
test=
"dbName == 'oracle'"
>
'%'||#{office.id}||'%'
</if>
<if
test=
"dbName == 'mssql'"
>
'%'+#{office.id}+'%'
</if>
<if
test=
"dbName == 'mysql'"
>
CONCAT('%', #{office.id}, '%')
</if>
)
</if>
<if
test=
"id != null and id != ''"
>
AND (c.id = #{id} OR c.parent_ids LIKE
<if
test=
"dbName == 'oracle'"
>
'%'||#{id}||'%'
</if>
<if
test=
"dbName == 'mssql'"
>
'%'+#{id}+'%'
</if>
<if
test=
"dbName == 'mysql'"
>
CONCAT('%', #{id}, '%')
</if>
)
</if>
group by cp.sort, cp.id, c.sort, c.id
order by cp.sort, cp.id, c.sort, c.id
</where>
</select>
</mapper>
\ No newline at end of file
JeeSpringCloud/jeespring-cms/src/main/resources/mappings/cms/ArticleDataDao.xml
deleted
100644 → 0
View file @
e4054436
<?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.jeespring.modules.cms.dao.ArticleDataDao"
>
<sql
id=
"cmsArticleDataColumns"
>
a.id AS "id",
a.content AS "content",
a.copyfrom AS "copyfrom",
a.relation AS "relation",
a.allow_comment AS "allow_comment"
</sql>
<sql
id=
"cmsArticleDataJoins"
>
</sql>
<select
id=
"get"
resultType=
"ArticleData"
>
SELECT
<include
refid=
"cmsArticleDataColumns"
/>
FROM cms_article_data a
<include
refid=
"cmsArticleDataJoins"
/>
WHERE a.id = #{id}
</select>
<insert
id=
"insert"
>
INSERT INTO cms_article_data(
id,
content,
copyfrom,
relation,
allow_comment
) VALUES (
#{id},
#{content},
#{copyfrom},
#{relation},
#{allowComment}
)
</insert>
<update
id=
"update"
>
UPDATE cms_article_data SET
content = #{content},
copyfrom = #{copyfrom},
relation = #{relation},
allow_comment = #{allowComment}
WHERE id = #{id}
</update>
</mapper>
\ No newline at end of file
JeeSpringCloud/jeespring-cms/src/main/resources/mappings/cms/CategoryDao.xml
deleted
100644 → 0
View file @
e4054436
<?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.jeespring.modules.cms.dao.CategoryDao"
>
<sql
id=
"cmsCategoryDaoColumns"
>
a.id AS "id",
a.parent_id AS "parent.id",
a.parent_ids AS "parentIds",
a.site_id AS "site.id",
a.office_id AS "office.id",
a.module AS "module",
a.name AS "name",
a.image AS "image",
a.href AS "href",
a.target AS "target",
a.description AS "description",
a.keywords AS "keywords",
a.sort AS "sort",
a.in_menu AS "inMenu",
a.in_list AS "inList",
a.show_modes AS "showModes",
a.allow_comment AS "allowComment",
a.is_audit AS "isAudit",
a.custom_list_view AS "customListView",
a.custom_content_view AS "customContentView",
a.view_config AS "viewConfig",
a.create_by AS "createBy.id",
a.create_date AS "createDate",
a.update_by AS "updateBy.id",
a.update_date AS "updateDate",
a.remarks AS "remarks",
a.del_flag AS "delFlag",
c.name AS "parent.name",
c.view_config AS "parent.viewConfig",
o.name AS "office.name",
s.theme AS "site.theme"
</sql>
<sql
id=
"cmsCategoryDaoJoins"
>
LEFT JOIN cms_category c ON c.id = a.parent_id
JOIN sys_office o ON o.id = a.office_id
JOIN sys_user u ON u.id = a.create_by
JOIN cms_site s ON a.site_id = s.id
</sql>
<select
id=
"get"
resultType=
"Category"
>
SELECT
a.id AS "id",
a.parent_id AS "parent.id",
a.parent_ids AS "parentIds",
a.site_id AS "site.id",
a.office_id AS "office.id",
a.module AS "module",
a.name AS "name",
a.image AS "image",
a.href AS "href",
a.target AS "target",
a.description AS "description",
a.keywords AS "keywords",
a.sort AS "sort",
a.in_menu AS "inMenu",
a.in_menu AS "inList",
a.show_modes AS "showModes",
a.allow_comment AS "allowComment",
a.is_audit AS "isAudit",
a.custom_list_view AS "customListView",
a.custom_content_view AS "customContentView",
a.view_config AS "viewConfig",
a.create_by AS "createBy.id",
a.create_date AS "createDate",
a.update_by AS "updateBy.id",
a.update_date AS "updateDate",
a.remarks AS "remarks",
a.del_flag AS "delFlag",
o.name AS "office.name"
FROM cms_category a
JOIN sys_office o ON o.id = a.office_id
JOIN sys_user u ON u.id = a.create_by
WHERE a.id = #{id}
</select>
<select
id=
"find"
resultType=
"Category"
>
SELECT
<include
refid=
"cmsCategoryDaoColumns"
/>
FROM cms_category a
<include
refid=
"cmsCategoryDaoJoins"
/>
<where>
a.del_flag = #{DEL_FLAG_NORMAL}
</where>
<choose>
<when
test=
"page !=null and page.orderBy != null and page.orderBy != ''"
>
ORDER BY ${page.orderBy}
</when>
<otherwise>
ORDER BY a.update_date DESC
</otherwise>
</choose>
</select>
<select
id=
"findList"
resultType=
"Category"
>
SELECT
<include
refid=
"cmsCategoryDaoColumns"
/>
FROM cms_category a
<include
refid=
"cmsCategoryDaoJoins"
/>
<where>
a.del_flag = #{delFlag}
<if
test=
" site.id != null and site.id != ''"
>
AND a.site_id = #{site.id}
</if>
<if
test=
"parent.id != null and parent.id != ''"
>
AND a.parent_id = #{parent.id}
</if>
${sqlMap.dsf}
</where>
ORDER BY a.site_id,a.sort ASC
</select>
<select
id=
"findModule"
resultType=
"Category"
>
SELECT
<include
refid=
"cmsCategoryDaoColumns"
/>
FROM cms_category a
<include
refid=
"cmsCategoryDaoJoins"
/>
<where>
a.del_flag = #{DEL_FLAG_NORMAL}
<if
test=
" site.id != null and site.id != ''"
>
AND a.site_id = #{site.id}
</if>
<if
test=
"parent.id != null and parent.id != ''"
>
AND a.parent_id = #{parent.id}
</if>
<if
test=
"inMenu != null and inMenu != '' "
>
AND a.in_menu = #{inMenu}
</if>
${sqlMap.dsf}
</where>
ORDER BY a.site_id,a.sort ASC
</select>
<insert
id=
"insert"
>
INSERT INTO cms_category(
id,
parent_id,
parent_ids,
site_id,
office_id,
module,
name,
image,
href,
target,
description,
keywords,
sort,
in_menu,
in_list,
show_modes,
allow_comment,
is_audit,
custom_list_view,
custom_content_view,
view_config,
create_by,
create_date,
update_by,
update_date,
remarks,
del_flag
) VALUES (
#{id},
#{parent.id},
#{parentIds},
#{site.id},
#{office.id},
#{module},
#{name},
#{image},
#{href},
#{target},
#{description},
#{keywords},
#{sort},
#{inMenu},
#{inList},
#{showModes},
#{allowComment},
#{isAudit},
#{customListView},
#{customContentView},
#{viewConfig},
#{createBy.id},
#{createDate},
#{updateBy.id},
#{updateDate},
#{remarks},
#{delFlag}
)
</insert>
<update
id=
"update"
>
UPDATE cms_category SET
parent_id = #{parent.id},
parent_ids = #{parentIds},
site_id = #{site.id},
office_id = #{office.id},
module = #{module},
name = #{name},
image = #{image},
href = #{href},
target = #{target},
description = #{description},
keywords = #{keywords},
sort = #{sort},
in_menu = #{inMenu},
in_list = #{inList},
show_modes = #{showModes},
allow_comment = #{allowComment},
is_audit = #{isAudit},
custom_list_view = #{customListView},
custom_content_view = #{customContentView},
view_config = #{viewConfig},
update_by = #{updateBy.id},
update_date = #{updateDate},
remarks = #{remarks},
del_flag = #{delFlag}
WHERE id = #{id}
</update>
<update
id=
"updateParentIds"
>
UPDATE cms_category SET
parent_id = #{parent.id},
parent_ids = #{parentIds}
WHERE id = #{id}
</update>
<update
id=
"delete"
>
UPDATE cms_category SET
del_flag = #{DEL_FLAG_DELETE}
WHERE id = #{id} OR parent_ids LIKE
<if
test=
"dbName == 'oracle'"
>
'%,'||#{id}||',%'
</if>
<if
test=
"dbName == 'mssql'"
>
'%,'+#{id}+',%'
</if>
<if
test=
"dbName == 'mysql'"
>
CONCAT('%,', #{id}, ',%')
</if>
</update>
<select
id=
"findByParentIdAndSiteId"
resultType=
"Category"
>
SELECT
<include
refid=
"cmsCategoryDaoColumns"
/>
FROM cms_category a
<include
refid=
"cmsCategoryDaoJoins"
/>
<where>
a.del_flag = #{DEL_FLAG_NORMAL}
<if
test=
" site.id != null and site.id != ''"
>
AND a.site_id = #{site.id}
</if>
<if
test=
"parent.id != null and parent.id != ''"
>
AND a.parent_id = #{parent.id}
</if>
</where>
order by a.site_id, a.sort
</select>
<select
id=
"findByParentIdsLike"
resultType=
"Category"
>
SELECT
<include
refid=
"cmsCategoryDaoColumns"
/>
FROM cms_category a
<include
refid=
"cmsCategoryDaoJoins"
/>
<where>
a.del_flag = #{DEL_FLAG_NORMAL}
AND a.parent_id LIKE
<if
test=
"dbName == 'oracle'"
>
'%'||#{id}||'%'
</if>
<if
test=
"dbName == 'mssql'"
>
'%'+#{id}+'%'
</if>
<if
test=
"dbName == 'mysql'"
>
CONCAT('%', #{id}, '%')
</if>
</where>
order by a.site_id, a.sort
</select>
<select
id=
"findStats"
resultType=
"java.util.Map"
parameterType=
"java.util.Map"
>
select max(c.id) as categoryId,
max(c.name) as categoryName,
max(cp.id) as categoryParentId,
max(cp.name) as categoryParentName,
count(*) as cnt,
sum(a.hits) as hits,
max(a.updateDate) as updateDate,
max(o.id) as officeId,
max(o.name) as officeName,
from cms_article a
JOIN cms_category c ON c.id = a.category_id
JOIN cms_category cp ON c.parent_id = cp.id
JOIN sys_office o ON o.id = c.office_id
<where>
a.del_flag = #{DEL_FLAG_NORMAL}
AND a.category_id
AND c.site_id =
AND c.id = :id or c.parent_ids LIKE
<if
test=
"dbName == 'oracle'"
>
'%'||#{parentIds}||'%'
</if>
<if
test=
"dbName == 'mssql'"
>
'%'+#{parentIds}+'%'
</if>
<if
test=
"dbName == 'mysql'"
>
CONCAT('%', #{parentIds}, '%')
</if>
group by cp.sort, cp.id, c.sort, c.id
order by cp.sort, cp.id, c.sort, c.id
</where>
</select>
</mapper>
\ No newline at end of file
JeeSpringCloud/jeespring-cms/src/main/resources/mappings/cms/CommentDao.xml
deleted
100644 → 0
View file @
e4054436
<?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.jeespring.modules.cms.dao.CommentDao"
>
<sql
id=
"cmsCommentDaoColumns"
>
a.id AS "id",
a.category_id AS "category.id",
a.content_id AS "contentId",
a.title AS "title",
a.content AS "content",
a.name AS "name",
a.ip AS "ip",
a.create_date AS "createDate",
a.audit_user_id AS "auditUser.id",
a.audit_date AS "auditDate",
a.del_flag AS "delFlag"
</sql>
<sql
id=
"cmsCommentDaoJoins"
>
</sql>
<select
id=
"get"
resultType=
"Comment"
>
SELECT
<include
refid=
"cmsCommentDaoColumns"
/>
FROM cms_comment a
<include
refid=
"cmsCommentDaoJoins"
/>
WHERE a.id = #{id}
</select>
<select
id=
"findList"
resultType=
"Comment"
>
SELECT
<include
refid=
"cmsCommentDaoColumns"
/>
FROM cms_comment a
<include
refid=
"cmsCommentDaoJoins"
/>
<where>
a.del_flag = #{delFlag}
<if
test=
"title != null and title != ''"
>
AND a.title LIKE
<if
test=
"dbName == 'oracle'"
>
'%'||#{title}||'%'
</if>
<if
test=
"dbName == 'mssql'"
>
'%'+#{title}+'%'
</if>
<if
test=
"dbName == 'mysql'"
>
CONCAT('%', #{title}, '%')
</if>
</if>
</where>
<choose>
<when
test=
"page !=null and page.orderBy != null and page.orderBy != ''"
>
ORDER BY ${page.orderBy}
</when>
<otherwise>
ORDER BY a.create_date DESC
</otherwise>
</choose>
</select>
<select
id=
"findAllList"
resultType=
"Comment"
>
SELECT
<include
refid=
"cmsCommentDaoColumns"
/>
FROM cms_comment a
<include
refid=
"cmsCommentDaoJoins"
/>
<where>
a.del_flag = #{DEL_FLAG_NORMAL}
</where>
<choose>
<when
test=
"page !=null and page.orderBy != null and page.orderBy != ''"
>
ORDER BY ${page.orderBy}
</when>
<otherwise>
ORDER BY a.create_date DESC
</otherwise>
</choose>
</select>
<insert
id=
"insert"
>
INSERT INTO cms_comment(
id,
category_id,
content_id,
title,
content,
name,
ip,
create_date,
audit_user_id,
audit_date,
del_flag
) VALUES (
#{id},
#{category.id},
#{contentId},
#{title},
#{content},
#{name},
#{ip},
#{createDate},
#{auditUser.id},
#{auditDate},
#{delFlag}
)
</insert>
<update
id=
"update"
>
UPDATE cms_comment SET
category_id = #{category.id},
content_id = #{contentId},
title = #{title},
content = #{content},
name = #{name},
ip = #{ip},
create_date = #{createDate},
audit_user_id = #{auditUser.id},
audit_date = #{auditDate},
del_flag = #{delFlag}
WHERE id = #{id}
</update>
<update
id=
"delete"
>
UPDATE cms_comment SET
del_flag = #{DEL_FLAG_DELETE}
WHERE id = #{id}
</update>
</mapper>
\ No newline at end of file
JeeSpringCloud/jeespring-cms/src/main/resources/mappings/cms/GuestbookDao.xml
deleted
100644 → 0
View file @
e4054436
<?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.jeespring.modules.cms.dao.GuestbookDao"
>
<sql
id=
"cmsGuestbookColumns"
>
a.id AS "id",
a.type AS "type",
a.content AS "content",
a.name AS "name",
a.email AS "email",
a.phone AS "phone",
a.workunit AS "workunit",
a.ip AS "ip",
a.create_date AS "createDate",
a.re_user_id AS "reUser.id",
a.re_date AS "reDate",
a.re_content AS "reContent",
a.del_flag AS "delFlag",
u.name AS "reUser.name"
</sql>
<sql
id=
"cmsGuestbookJoins"
>
LEFT JOIN sys_user u ON u.id = a.re_user_id
</sql>
<select
id=
"get"
resultType=
"Guestbook"
>
SELECT
<include
refid=
"cmsGuestbookColumns"
/>
FROM cms_guestbook a
<include
refid=
"cmsGuestbookJoins"
/>
WHERE a.id = #{id}
</select>
<select
id=
"findList"
resultType=
"Guestbook"
>
SELECT
<include
refid=
"cmsGuestbookColumns"
/>
FROM cms_guestbook a
<include
refid=
"cmsGuestbookJoins"
/>
<where>
a.del_flag = #{delFlag}
</where>
<choose>
<when
test=
"page !=null and page.orderBy != null and page.orderBy != ''"
>
ORDER BY ${page.orderBy}
</when>
<otherwise>
ORDER BY a.create_date DESC
</otherwise>
</choose>
</select>
<select
id=
"findAllList"
resultType=
"Guestbook"
>
SELECT
<include
refid=
"cmsGuestbookColumns"
/>
FROM cms_guestbook a
<include
refid=
"cmsGuestbookJoins"
/>
<where>
a.del_flag = #{DEL_FLAG_NORMAL}
</where>
<choose>
<when
test=
"page !=null and page.orderBy != null and page.orderBy != ''"
>
ORDER BY ${page.orderBy}
</when>
<otherwise>
ORDER BY a.create_date DESC
</otherwise>
</choose>
</select>
<insert
id=
"insert"
>
INSERT INTO cms_guestbook(
id,
type,
content,
name,
email,
phone,
workunit,
ip,
create_date,
re_user_id,
re_date,
re_content,
del_flag
) VALUES (
#{id},
#{type},
#{content},
#{name},
#{email},
#{phone},
#{workunit},
#{ip},
#{createDate},
#{reUser.id},
#{reDate},
#{reContent},
#{delFlag}
)
</insert>
<update
id=
"update"
>
UPDATE cms_guestbook SET
type = #{type},
content = #{content},
name = #{name},
email = #{email},
phone = #{phone},
workunit = #{workunit},
ip = #{ip},
create_date = #{createDate},
re_user_id = #{reUser.id},
re_date = #{reDate},
re_content = #{reContent},
del_flag = #{delFlag}
WHERE id = #{id}
</update>
<update
id=
"delete"
>
UPDATE cms_guestbook SET
del_flag = #{DEL_FLAG_DELETE}
WHERE id = #{id}
</update>
<select
id=
"findByIdIn"
resultType=
"Guestbook"
>
SELECT
<include
refid=
"cmsGuestbookColumns"
/>
from cms_guestbook a where
<where>
id in ();
</where>
</select>
</mapper>
\ No newline at end of file
JeeSpringCloud/jeespring-cms/src/main/resources/mappings/cms/LinkDao.xml
deleted
100644 → 0
View file @
e4054436
<?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.jeespring.modules.cms.dao.LinkDao"
>
<sql
id=
"cmsLinkColumns"
>
a.id AS "id",
a.category_id AS "category.id",
a.title AS "title",
a.color AS "color",
a.image AS "image",
a.href AS "href",
a.weight AS "weight",
a.weight_date AS "weightDate",
a.create_by AS "createBy.id",
a.create_date AS "createDate",
a.update_by AS "updateBy.id",
a.update_date AS "updateDate",
a.remarks AS "remarks",
a.del_flag AS "delFlag",
c.name AS "category.name",
u.name AS "user.name"
</sql>
<sql
id=
"cmsLinkJoins"
>
JOIN cms_category c ON c.id = a.category_id
JOIN sys_user u ON u.id = a.create_by
</sql>
<select
id=
"get"
resultType=
"Link"
>
SELECT
<include
refid=
"cmsLinkColumns"
/>
FROM cms_link a
<include
refid=
"cmsLinkJoins"
/>
WHERE a.id = #{id}
</select>
<select
id=
"findList"
resultType=
"Link"
>
SELECT
<include
refid=
"cmsLinkColumns"
/>
FROM cms_link a
<include
refid=
"cmsLinkJoins"
/>
<where>
a.del_flag = #{DEL_FLAG_NORMAL}
<if
test=
"title != null and title != ''"
>
AND a.title LIKE
<if
test=
"dbName == 'oracle'"
>
'%'||#{title}||'%'
</if>
<if
test=
"dbName == 'mssql'"
>
'%'+#{title}+'%'
</if>
<if
test=
"dbName == 'mysql'"
>
CONCAT('%', #{title}, '%')
</if>
</if>
</where>
<choose>
<when
test=
"page !=null and page.orderBy != null and page.orderBy != ''"
>
ORDER BY ${page.orderBy}
</when>
<otherwise>
ORDER BY a.update_date DESC
</otherwise>
</choose>
</select>
<select
id=
"findAllList"
resultType=
"Link"
>
SELECT
<include
refid=
"cmsLinkColumns"
/>
FROM cms_link a
<include
refid=
"cmsLinkJoins"
/>
<where>
a.del_flag = #{DEL_FLAG_NORMAL}
</where>
<choose>
<when
test=
"page !=null and page.orderBy != null and page.orderBy != ''"
>
ORDER BY ${page.orderBy}
</when>
<otherwise>
ORDER BY a.update_date DESC
</otherwise>
</choose>
</select>
<insert
id=
"insert"
>
INSERT INTO cms_link(
id,
category_id,
title,
color,
image,
href,
weight,
weight_date,
create_by,
create_date,
update_by,
update_date,
remarks,
del_flag
) VALUES (
#{id},
#{category.id},
#{title},
#{color},
#{image},
#{href},
#{weight},
#{weightDate},
#{createBy.id},
#{createDate},
#{updateBy.id},
#{updateDate},
#{remarks},
#{delFlag}
)
</insert>
<update
id=
"update"
>
UPDATE cms_link SET
category_id = #{category.id},
title = #{title},
color = #{color},
image = #{image},
href = #{href},
weight = #{weight},
weight_date = #{weightDate},
update_by = #{updateBy.id},
update_date = #{updateDate},
remarks = #{remarks},
del_flag = #{delFlag}
WHERE id = #{id}
</update>
<update
id=
"delete"
>
UPDATE cms_link SET
del_flag = #{delFlag}
WHERE id = #{id}
</update>
<select
id=
"findByIdIn"
resultType=
"Link"
>
SELECT
<include
refid=
"cmsLinkColumns"
/>
from cms_link a where
<where>
id in (${id});
</where>
</select>
<update
id=
"updateExpiredWeight"
>
update cms_link SET
weight=0
WHERE weight
>
0 AND weight_date
<
<if
test=
"dbName == 'oracle'"
>
sysdate
</if>
<if
test=
"dbName == 'mssql'"
>
FLOOR(CONVERT(FLOAT,GETDATE()))
</if>
<if
test=
"dbName == 'mysql'"
>
CURDATE()
</if>
</update>
</mapper>
\ No newline at end of file
JeeSpringCloud/jeespring-cms/src/main/resources/mappings/cms/SiteDao.xml
deleted
100644 → 0
View file @
e4054436
<?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.jeespring.modules.cms.dao.SiteDao"
>
<sql
id=
"cmsSiteColumns"
>
a.id AS "id",
a.name AS "name",
a.title AS "title",
a.logo AS "logo",
a.domain AS "domain",
a.description AS "description",
a.keywords AS "keywords",
a.theme AS "theme",
a.copyright AS "copyright",
a.custom_index_view AS "customIndexView",
a.create_by AS "createBy.id",
a.create_date AS "createDate",
a.update_by AS "updateBy.id",
a.update_date AS "updateDate",
a.remarks AS "remarks",
a.del_flag AS "delFlag"
</sql>
<sql
id=
"cmsSiteJoins"
>
</sql>
<select
id=
"get"
resultType=
"Site"
>
SELECT
<include
refid=
"cmsSiteColumns"
/>
FROM cms_site a
<include
refid=
"cmsSiteJoins"
/>
WHERE a.id = #{id}
</select>
<select
id=
"findList"
resultType=
"Site"
>
SELECT
<include
refid=
"cmsSiteColumns"
/>
FROM cms_site a
<include
refid=
"cmsSiteJoins"
/>
<where>
a.del_flag = #{delFlag}
<if
test=
"name != null and name != ''"
>
AND a.name LIKE
<if
test=
"dbName == 'oracle'"
>
'%'||#{name}||'%'
</if>
<if
test=
"dbName == 'mssql'"
>
'%'+#{name}+'%'
</if>
<if
test=
"dbName == 'mysql'"
>
CONCAT('%', #{name}, '%')
</if>
</if>
</where>
<choose>
<when
test=
"page !=null and page.orderBy != null and page.orderBy != ''"
>
ORDER BY ${page.orderBy}
</when>
<otherwise>
ORDER BY a.update_date DESC
</otherwise>
</choose>
</select>
<select
id=
"findAllList"
resultType=
"Site"
>
SELECT
<include
refid=
"cmsSiteColumns"
/>
FROM cms_site a
<include
refid=
"cmsSiteJoins"
/>
<where>
a.del_flag = #{DEL_FLAG_NORMAL}
</where>
<choose>
<when
test=
"page !=null and page.orderBy != null and page.orderBy != ''"
>
ORDER BY ${page.orderBy}
</when>
<otherwise>
ORDER BY a.update_date DESC
</otherwise>
</choose>
</select>
<insert
id=
"insert"
>
INSERT INTO cms_site(
id,
name,
title,
logo,
domain,
description,
keywords,
theme,
copyright,
custom_index_view,
create_by,
create_date,
update_by,
update_date,
remarks,
del_flag
) VALUES (
#{id},
#{name},
#{title},
#{logo},
null,
#{description},
#{keywords},
#{theme},
#{copyright},
#{customIndexView},
#{createBy.id},
#{createDate},
#{updateBy.id},
#{updateDate},
#{remarks},
#{delFlag}
)
</insert>
<update
id=
"update"
>
UPDATE cms_site SET
name = #{name},
title = #{title},
logo = #{logo},
domain = #{domain},
description = #{description},
keywords = #{keywords},
theme = #{theme},
copyright = #{copyright},
custom_index_view = #{customIndexView},
update_by = #{updateBy.id},
update_date = #{updateDate},
remarks = #{remarks},
del_flag = #{delFlag}
WHERE id = #{id}
</update>
<update
id=
"delete"
>
UPDATE cms_site SET
del_flag = #{delFlag}
WHERE id = #{id}
</update>
</mapper>
\ No newline at end of file
JeeSpringCloud/jeespring-cms/src/main/webapp/WEB-INF/views/modules/cms/articleForm.jsp
deleted
100644 → 0
View file @
e4054436
<%@ page
contentType=
"text/html;charset=UTF-8"
%>
<%@ include
file=
"/WEB-INF/views/include/taglib.jsp"
%>
<html>
<head>
<title>
文章管理
</title>
<meta
name=
"decorator"
content=
"default"
/>
<%@ include
file=
"/WEB-INF/views/include/head.jsp"
%>
<script
type=
"text/javascript"
>
$
(
document
).
ready
(
function
()
{
if
(
$
(
"
#link
"
).
val
()){
$
(
'
#linkBody
'
).
show
();
$
(
'
#url
'
).
attr
(
"
checked
"
,
true
);
}
$
(
"
#title
"
).
focus
();
$
(
"
#inputForm
"
).
validate
({
submitHandler
:
function
(
form
){
if
(
$
(
"
#categoryId
"
).
val
()
==
""
){
$
(
"
#categoryName
"
).
focus
();
top
.
$
.
jBox
.
tip
(
'
请选择归属栏目
'
,
'
warning
'
);
}
else
if
(
CKEDITOR
.
instances
.
content
.
getData
()
==
""
&&
$
(
"
#link
"
).
val
().
trim
()
==
""
){
top
.
$
.
jBox
.
tip
(
'
请填写正文
'
,
'
warning
'
);
}
else
{
loading
(
'
正在提交,请稍等...
'
);
form
.
submit
();
}
},
errorContainer
:
"
#messageBox
"
,
errorPlacement
:
function
(
error
,
element
)
{
$
(
"
#messageBox
"
).
text
(
"
输入有误,请先更正。
"
);
if
(
element
.
is
(
"
:checkbox
"
)
||
element
.
is
(
"
:radio
"
)
||
element
.
parent
().
is
(
"
.input-append
"
)){
error
.
appendTo
(
element
.
parent
().
parent
());
}
else
{
error
.
insertAfter
(
element
);
}
}
});
});
</script>
</head>
<body>
<ul
class=
"nav nav-tabs"
>
<li><a
href=
"${ctx}/cms/article/?category.id=${article.category.id}"
>
文章列表
</a></li>
<li
class=
"active"
><a
href=
"
<c:url
value=
'
${
fns:
getAdminPath
()
}
/cms/article/form?id=${article.id}&category.id=${article.category.id}'
><c:param
name=
'category.name'
value=
'
${
article
.
category
.
name
}
'
/></c:url>
"
>
文章
<shiro:hasPermission
name=
"cms:article:edit"
>
${not empty article.id?'修改':'添加'}
</shiro:hasPermission><shiro:lacksPermission
name=
"cms:article:edit"
>
查看
</shiro:lacksPermission></a></li>
</ul><br/>
<form:form
id=
"inputForm"
modelAttribute=
"article"
action=
"
${
ctx
}
/cms/article/save"
method=
"post"
class=
"form-horizontal"
>
<form:hidden
path=
"id"
/>
<sys:message
content=
"
${
message
}
"
/>
<div
class=
"control-group"
>
<label
class=
"control-label"
>
归属栏目:
</label>
<div
class=
"controls"
>
<sys:treeselect
id=
"category"
name=
"category.id"
value=
"
${
article
.
category
.
id
}
"
labelName=
"category.name"
labelValue=
"
${
article
.
category
.
name
}
"
title=
"栏目"
url=
"/cms/category/treeData"
module=
"article"
selectScopeModule=
"true"
notAllowSelectRoot=
"false"
notAllowSelectParent=
"true"
cssClass=
"required"
/>
<span>
<input
id=
"url"
type=
"checkbox"
onclick=
"if(this.checked){$('#linkBody').show()}else{$('#linkBody').hide()}$('#link').val()"
><label
for=
"url"
>
外部链接
</label>
</span>
</div>
</div>
<div
class=
"control-group"
>
<label
class=
"control-label"
>
标题:
</label>
<div
class=
"controls"
>
<form:input
path=
"title"
htmlEscape=
"false"
maxlength=
"200"
class=
"input-xxlarge measure-input required"
/>
<label>
颜色:
</label>
<form:select
path=
"color"
class=
"input-mini"
>
<form:option
value=
""
label=
"默认"
/>
<form:options
items=
"
${
fns:
getDictList
(
'color'
)
}
"
itemLabel=
"label"
itemValue=
"value"
htmlEscape=
"false"
/>
</form:select>
</div>
</div>
<div
id=
"linkBody"
class=
"control-group"
style=
"display:none"
>
<label
class=
"control-label"
>
外部链接:
</label>
<div
class=
"controls"
>
<form:input
path=
"link"
htmlEscape=
"false"
maxlength=
"200"
class=
"input-xlarge"
/>
<span
class=
"help-inline"
>
绝对或相对地址。
</span>
</div>
</div>
<div
class=
"control-group"
>
<label
class=
"control-label"
>
关键字:
</label>
<div
class=
"controls"
>
<form:input
path=
"keywords"
htmlEscape=
"false"
maxlength=
"200"
class=
"input-xlarge"
/>
<span
class=
"help-inline"
>
多个关键字,用空格分隔。
</span>
</div>
</div>
<div
class=
"control-group"
>
<label
class=
"control-label"
>
权重:
</label>
<div
class=
"controls"
>
<form:input
path=
"weight"
htmlEscape=
"false"
maxlength=
"200"
class=
"input-mini required digits"
/>
<span>
<input
id=
"weightTop"
type=
"checkbox"
onclick=
"$('#weight').val(this.checked?'999':'0')"
><label
for=
"weightTop"
>
置顶
</label>
</span>
过期时间:
<input
id=
"weightDate"
name=
"weightDate"
type=
"text"
readonly=
"readonly"
maxlength=
"20"
class=
"input-small Wdate"
value=
"
<fmt:formatDate
value=
"
${
article
.
weightDate
}
"
pattern=
"yyyy-MM-dd"
/>
"
onclick=
"WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:true});"
/>
<span
class=
"help-inline"
>
数值越大排序越靠前,过期时间可为空,过期后取消置顶。
</span>
</div>
</div>
<div
class=
"control-group"
>
<label
class=
"control-label"
>
摘要:
</label>
<div
class=
"controls"
>
<form:textarea
path=
"description"
htmlEscape=
"false"
rows=
"4"
maxlength=
"200"
class=
"input-xxlarge"
/>
</div>
</div>
<div
class=
"control-group"
>
<label
class=
"control-label"
>
缩略图:
</label>
<div
class=
"controls"
>
<input
type=
"hidden"
id=
"image"
name=
"image"
value=
"${article.imageSrc}"
/>
<sys:ckfinder
input=
"image"
type=
"thumb"
uploadPath=
"/cms/article"
selectMultiple=
"false"
/>
</div>
</div>
<div
class=
"control-group"
>
<label
class=
"control-label"
>
正文:
</label>
<div
class=
"controls"
>
<form:textarea
id=
"content"
htmlEscape=
"true"
path=
"articleData.content"
rows=
"4"
maxlength=
"200"
class=
"input-xxlarge"
/>
<sys:ckeditor
replace=
"content"
uploadPath=
"/cms/article"
/>
</div>
</div>
<div
class=
"control-group"
>
<label
class=
"control-label"
>
来源:
</label>
<div
class=
"controls"
>
<form:input
path=
"articleData.copyfrom"
htmlEscape=
"false"
maxlength=
"200"
class=
"input-xlarge"
/>
</div>
</div>
<div
class=
"control-group"
>
<label
class=
"control-label"
>
相关文章:
</label>
<div
class=
"controls"
>
<form:hidden
id=
"articleDataRelation"
path=
"articleData.relation"
htmlEscape=
"false"
maxlength=
"200"
class=
"input-xlarge"
/>
<ol
id=
"articleSelectList"
></ol>
<a
id=
"relationButton"
href=
"javascript:"
class=
"btn"
>
添加相关
</a>
<script
type=
"text/javascript"
>
var
articleSelect
=
[];
function
articleSelectAddOrDel
(
id
,
title
){
var
isExtents
=
false
,
index
=
0
;
for
(
var
i
=
0
;
i
<
articleSelect
.
length
;
i
++
){
if
(
articleSelect
[
i
][
0
]
==
id
){
isExtents
=
true
;
index
=
i
;
}
}
if
(
isExtents
){
articleSelect
.
splice
(
index
,
1
);
}
else
{
articleSelect
.
push
([
id
,
title
]);
}
articleSelectRefresh
();
}
function
articleSelectRefresh
(){
$
(
"
#articleDataRelation
"
).
val
(
""
);
$
(
"
#articleSelectList
"
).
children
().
remove
();
for
(
var
i
=
0
;
i
<
articleSelect
.
length
;
i
++
){
$
(
"
#articleSelectList
"
).
append
(
"
<li>
"
+
articleSelect
[
i
][
1
]
+
"
<a href=
\"
javascript:
\"
onclick=
\"
articleSelectAddOrDel('
"
+
articleSelect
[
i
][
0
]
+
"
','
"
+
articleSelect
[
i
][
1
]
+
"
');
\"
>×</a></li>
"
);
$
(
"
#articleDataRelation
"
).
val
(
$
(
"
#articleDataRelation
"
).
val
()
+
articleSelect
[
i
][
0
]
+
"
,
"
);
}
}
$
.
getJSON
(
"
${ctx}/cms/article/findByIds
"
,{
ids
:
$
(
"
#articleDataRelation
"
).
val
()},
function
(
data
){
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
){
articleSelect
.
push
([
data
[
i
][
1
],
data
[
i
][
2
]]);
}
articleSelectRefresh
();
});
$
(
"
#relationButton
"
).
click
(
function
(){
top
.
$
.
jBox
.
open
(
"
iframe:${ctx}/cms/article/selectList?pageSize=8
"
,
"
添加相关
"
,
$
(
top
.
document
).
width
()
-
220
,
$
(
top
.
document
).
height
()
-
180
,{
buttons
:{
"
确定
"
:
true
},
loaded
:
function
(
h
){
$
(
"
.jbox-content
"
,
top
.
document
).
css
(
"
overflow-y
"
,
"
hidden
"
);
}
});
});
</script>
</div>
</div>
<div
class=
"control-group"
>
<label
class=
"control-label"
>
是否允许评论:
</label>
<div
class=
"controls"
>
<form:radiobuttons
path=
"articleData.allowComment"
items=
"
${
fns:
getDictList
(
'yes_no'
)
}
"
itemLabel=
"label"
itemValue=
"value"
htmlEscape=
"false"
/>
</div>
</div>
<div
class=
"control-group"
>
<label
class=
"control-label"
>
推荐位:
</label>
<div
class=
"controls"
>
<form:checkboxes
path=
"posidList"
items=
"
${
fns:
getDictList
(
'cms_posid'
)
}
"
itemLabel=
"label"
itemValue=
"value"
htmlEscape=
"false"
/>
</div>
</div>
<div
class=
"control-group"
>
<label
class=
"control-label"
>
发布时间:
</label>
<div
class=
"controls"
>
<input
id=
"createDate"
name=
"createDate"
type=
"text"
readonly=
"readonly"
maxlength=
"20"
class=
"input-medium Wdate"
value=
"
<fmt:formatDate
value=
"
${
article
.
createDate
}
"
pattern=
"yyyy-MM-dd HH:mm:ss"
/>
"
onclick=
"WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:false});"
/>
</div>
</div>
<shiro:hasPermission
name=
"cms:article:audit"
>
<div
class=
"control-group"
>
<label
class=
"control-label"
>
发布状态:
</label>
<div
class=
"controls"
>
<form:radiobuttons
path=
"delFlag"
items=
"
${
fns:
getDictList
(
'cms_del_flag'
)
}
"
itemLabel=
"label"
itemValue=
"value"
htmlEscape=
"false"
class=
"required"
/>
<span
class=
"help-inline"
></span>
</div>
</div>
</shiro:hasPermission>
<shiro:hasPermission
name=
"cms:category:edit"
>
<div
class=
"control-group"
>
<label
class=
"control-label"
>
自定义内容视图:
</label>
<div
class=
"controls"
>
<form:select
path=
"customContentView"
class=
"input-medium"
>
<form:option
value=
""
label=
"默认视图"
/>
<form:options
items=
"
${
contentViewList
}
"
htmlEscape=
"false"
/>
</form:select>
<span
class=
"help-inline"
>
自定义内容视图名称必须以"${article_DEFAULT_TEMPLATE}"开始
</span>
</div>
</div>
<div
class=
"control-group"
>
<label
class=
"control-label"
>
自定义视图参数:
</label>
<div
class=
"controls"
>
<form:input
path=
"viewConfig"
htmlEscape=
"true"
/>
<span
class=
"help-inline"
>
视图参数例如: {count:2, title_show:"yes"}
</span>
</div>
</div>
</shiro:hasPermission>
<c:if
test=
"
${
not
empty
article
.
id
}
"
>
<div
class=
"control-group"
>
<label
class=
"control-label"
>
查看评论:
</label>
<div
class=
"controls"
>
<input
id=
"btnComment"
class=
"btn"
type=
"button"
value=
"查看评论"
onclick=
"viewComment('${ctx}/cms/comment/?module=article&contentId=${article.id}&status=0')"
/>
<script
type=
"text/javascript"
>
function
viewComment
(
href
){
top
.
$
.
jBox
.
open
(
'
iframe:
'
+
href
,
'
查看评论
'
,
$
(
top
.
document
).
width
()
-
220
,
$
(
top
.
document
).
height
()
-
180
,{
buttons
:{
"
关闭
"
:
true
},
loaded
:
function
(
h
){
$
(
"
.jbox-content
"
,
top
.
document
).
css
(
"
overflow-y
"
,
"
hidden
"
);
$
(
"
.nav,.form-actions,[class=btn]
"
,
h
.
find
(
"
iframe
"
).
contents
()).
hide
();
$
(
"
body
"
,
h
.
find
(
"
iframe
"
).
contents
()).
css
(
"
margin
"
,
"
10px
"
);
}
});
return
false
;
}
</script>
</div>
</div>
</c:if>
<div
class=
"form-actions"
>
<shiro:hasPermission
name=
"cms:article:edit"
><input
id=
"btnSubmit"
class=
"btn btn-primary"
type=
"submit"
value=
"保 存"
/>
</shiro:hasPermission>
<input
id=
"btnCancel"
class=
"btn"
type=
"button"
value=
"返 回"
onclick=
"history.go(-1)"
/>
</div>
</form:form>
</body>
</html>
\ No newline at end of file
Prev
1
2
3
4
5
6
7
…
21
Next
Write
Preview
Supports
Markdown
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