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
MCMS
Commits
5b1f41fc
"vscode:/vscode.git/clone" did not exist on "b4c8b5215f2f58f0d770ab36fba30e7c689b1e2b"
Commit
5b1f41fc
authored
Nov 28, 2019
by
tianbj
Browse files
分类文章结构
parent
d46aff17
Changes
43
Hide whitespace changes
Inline
Side-by-side
src/main/java/net/mingsoft/cms/action/CategoryAction.java
0 → 100644
View file @
5b1f41fc
package
net.mingsoft.cms.action
;
import
java.util.List
;
import
java.io.File
;
import
java.util.ArrayList
;
import
java.util.Map
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
com.alibaba.fastjson.JSON
;
import
net.mingsoft.base.entity.ResultData
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.validation.BindingResult
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.ui.ModelMap
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.ModelAttribute
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.ModelAttribute
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
net.mingsoft.cms.biz.ICategoryBiz
;
import
net.mingsoft.cms.entity.CategoryEntity
;
import
net.mingsoft.base.util.JSONObject
;
import
net.mingsoft.base.entity.BaseEntity
;
import
net.mingsoft.basic.util.BasicUtil
;
import
net.mingsoft.basic.util.StringUtil
;
import
net.mingsoft.base.filter.DateValueFilter
;
import
net.mingsoft.base.filter.DoubleValueFilter
;
import
net.mingsoft.basic.bean.EUListBean
;
import
net.mingsoft.basic.annotation.LogAnn
;
import
net.mingsoft.basic.constant.e.BusinessTypeEnum
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
springfox.documentation.annotations.ApiIgnore
;
/**
* 分类管理控制层
* @author 铭飞开发团队
* 创建日期:2019-11-28 15:12:32<br/>
* 历史修订:<br/>
*/
@Api
(
value
=
"分类接口"
)
@Controller
(
"cmsCategoryAction"
)
@RequestMapping
(
"/${ms.manager.path}/cms/category"
)
public
class
CategoryAction
extends
BaseAction
{
/**
* 注入分类业务层
*/
@Autowired
private
ICategoryBiz
categoryBiz
;
/**
* 返回主界面index
*/
@GetMapping
(
"/index"
)
public
String
index
(
HttpServletResponse
response
,
HttpServletRequest
request
){
return
"/cms/category/index"
;
}
/**
* 查询分类列表
* @param category 分类实体
*/
@ApiOperation
(
value
=
"查询分类列表接口"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"categoryTitle"
,
value
=
"栏目管理名称"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryId"
,
value
=
"所属栏目"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryType"
,
value
=
"栏目管理属性"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categorySort"
,
value
=
"自定义顺序"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryListUrl"
,
value
=
"列表模板"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryUrl"
,
value
=
"内容模板"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryKeyword"
,
value
=
"栏目管理关键字"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryDescrip"
,
value
=
"栏目管理描述"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryImg"
,
value
=
"缩略图"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryDiyUrl"
,
value
=
"自定义链接"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"mdiyModelId"
,
value
=
"栏目管理的内容模型id"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryDatetime"
,
value
=
"类别发布时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryManagerId"
,
value
=
"发布用户id"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"appId"
,
value
=
"应用编号"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"dictId"
,
value
=
"字典对应编号"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryFlag"
,
value
=
"栏目属性"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryPath"
,
value
=
"栏目路径"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryParentId"
,
value
=
"父类型编号"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"createBy"
,
value
=
"创建人"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"createDate"
,
value
=
"创建时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"updateBy"
,
value
=
"修改人"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"updateDate"
,
value
=
"修改时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"del"
,
value
=
"删除标记"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"id"
,
value
=
"编号"
,
required
=
false
,
paramType
=
"query"
),
})
@RequestMapping
(
"/list"
)
@ResponseBody
public
ResultData
list
(
@ModelAttribute
@ApiIgnore
CategoryEntity
category
,
HttpServletResponse
response
,
HttpServletRequest
request
,
@ApiIgnore
ModelMap
model
,
BindingResult
result
)
{
BasicUtil
.
startPage
();
List
categoryList
=
categoryBiz
.
query
(
category
);
return
ResultData
.
build
().
success
(
new
EUListBean
(
categoryList
,(
int
)
BasicUtil
.
endPage
(
categoryList
).
getTotal
()));
}
/**
* 返回编辑界面category_form
*/
@GetMapping
(
"/form"
)
public
String
form
(
@ModelAttribute
CategoryEntity
category
,
HttpServletResponse
response
,
HttpServletRequest
request
,
ModelMap
model
){
if
(
category
.
getId
()!=
null
){
BaseEntity
categoryEntity
=
categoryBiz
.
getEntity
(
Integer
.
parseInt
(
category
.
getId
()));
model
.
addAttribute
(
"categoryEntity"
,
categoryEntity
);
}
return
"/cms/category/form"
;
}
/**
* 获取分类
* @param category 分类实体
*/
@ApiOperation
(
value
=
"获取分类列表接口"
)
@ApiImplicitParam
(
name
=
"id"
,
value
=
"编号"
,
required
=
true
,
paramType
=
"query"
)
@GetMapping
(
"/get"
)
@ResponseBody
public
ResultData
get
(
@ModelAttribute
@ApiIgnore
CategoryEntity
category
,
HttpServletResponse
response
,
HttpServletRequest
request
,
@ApiIgnore
ModelMap
model
){
if
(
category
.
getId
()==
null
)
{
return
ResultData
.
build
().
error
();
}
CategoryEntity
_category
=
(
CategoryEntity
)
categoryBiz
.
getEntity
(
Integer
.
parseInt
(
category
.
getId
()));
return
ResultData
.
build
().
success
(
_category
);
}
@ApiOperation
(
value
=
"保存分类列表接口"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"categoryTitle"
,
value
=
"栏目管理名称"
,
required
=
true
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryId"
,
value
=
"所属栏目"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryType"
,
value
=
"栏目管理属性"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categorySort"
,
value
=
"自定义顺序"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryListUrl"
,
value
=
"列表模板"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryUrl"
,
value
=
"内容模板"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryKeyword"
,
value
=
"栏目管理关键字"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryDescrip"
,
value
=
"栏目管理描述"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryImg"
,
value
=
"缩略图"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryDiyUrl"
,
value
=
"自定义链接"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"mdiyModelId"
,
value
=
"栏目管理的内容模型id"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryDatetime"
,
value
=
"类别发布时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryManagerId"
,
value
=
"发布用户id"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"appId"
,
value
=
"应用编号"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"dictId"
,
value
=
"字典对应编号"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryFlag"
,
value
=
"栏目属性"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryPath"
,
value
=
"栏目路径"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryParentId"
,
value
=
"父类型编号"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"createBy"
,
value
=
"创建人"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"createDate"
,
value
=
"创建时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"updateBy"
,
value
=
"修改人"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"updateDate"
,
value
=
"修改时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"del"
,
value
=
"删除标记"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"id"
,
value
=
"编号"
,
required
=
false
,
paramType
=
"query"
),
})
/**
* 保存分类
* @param category 分类实体
*/
@PostMapping
(
"/save"
)
@ResponseBody
@LogAnn
(
title
=
"保存分类"
,
businessType
=
BusinessTypeEnum
.
INSERT
)
@RequiresPermissions
(
"cms:category:save"
)
public
ResultData
save
(
@ModelAttribute
@ApiIgnore
CategoryEntity
category
,
HttpServletResponse
response
,
HttpServletRequest
request
)
{
//验证栏目管理名称的值是否合法
if
(
StringUtil
.
isBlank
(
category
.
getCategoryTitle
())){
return
ResultData
.
build
().
error
(
getResString
(
"err.empty"
,
this
.
getResString
(
"category.title"
)));
}
if
(!
StringUtil
.
checkLength
(
category
.
getCategoryTitle
()+
""
,
1
,
100
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"category.title"
),
"1"
,
"100"
));
}
if
(!
StringUtil
.
checkLength
(
category
.
getCategoryFlag
()+
""
,
1
,
100
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"category.flag"
),
"1"
,
"100"
));
}
if
(!
StringUtil
.
checkLength
(
category
.
getCategoryPath
()+
""
,
1
,
100
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"category.path"
),
"1"
,
"100"
));
}
if
(!
StringUtil
.
checkLength
(
category
.
getCategoryParentId
()+
""
,
1
,
100
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"category.parent.id"
),
"1"
,
"100"
));
}
categoryBiz
.
saveEntity
(
category
);
return
ResultData
.
build
().
success
(
category
);
}
/**
* @param category 分类实体
*/
@ApiOperation
(
value
=
"批量删除分类列表接口"
)
@PostMapping
(
"/delete"
)
@ResponseBody
@LogAnn
(
title
=
"删除分类"
,
businessType
=
BusinessTypeEnum
.
DELETE
)
@RequiresPermissions
(
"cms:category:del"
)
public
ResultData
delete
(
@RequestBody
List
<
CategoryEntity
>
categorys
,
HttpServletResponse
response
,
HttpServletRequest
request
)
{
int
[]
ids
=
new
int
[
categorys
.
size
()];
for
(
int
i
=
0
;
i
<
categorys
.
size
();
i
++){
ids
[
i
]
=
Integer
.
parseInt
(
categorys
.
get
(
i
).
getId
())
;
}
categoryBiz
.
delete
(
ids
);
return
ResultData
.
build
().
success
();
}
/**
* 更新分类列表
* @param category 分类实体
*/
@ApiOperation
(
value
=
"更新分类列表接口"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"id"
,
value
=
"编号"
,
required
=
true
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryTitle"
,
value
=
"栏目管理名称"
,
required
=
true
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryId"
,
value
=
"所属栏目"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryType"
,
value
=
"栏目管理属性"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categorySort"
,
value
=
"自定义顺序"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryListUrl"
,
value
=
"列表模板"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryUrl"
,
value
=
"内容模板"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryKeyword"
,
value
=
"栏目管理关键字"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryDescrip"
,
value
=
"栏目管理描述"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryImg"
,
value
=
"缩略图"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryDiyUrl"
,
value
=
"自定义链接"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"mdiyModelId"
,
value
=
"栏目管理的内容模型id"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryDatetime"
,
value
=
"类别发布时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryManagerId"
,
value
=
"发布用户id"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"appId"
,
value
=
"应用编号"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"dictId"
,
value
=
"字典对应编号"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryFlag"
,
value
=
"栏目属性"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryPath"
,
value
=
"栏目路径"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryParentId"
,
value
=
"父类型编号"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"createBy"
,
value
=
"创建人"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"createDate"
,
value
=
"创建时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"updateBy"
,
value
=
"修改人"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"updateDate"
,
value
=
"修改时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"del"
,
value
=
"删除标记"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"id"
,
value
=
"编号"
,
required
=
false
,
paramType
=
"query"
),
})
@PostMapping
(
"/update"
)
@ResponseBody
@LogAnn
(
title
=
"更新分类"
,
businessType
=
BusinessTypeEnum
.
UPDATE
)
@RequiresPermissions
(
"cms:category:update"
)
public
ResultData
update
(
@ModelAttribute
@ApiIgnore
CategoryEntity
category
,
HttpServletResponse
response
,
HttpServletRequest
request
)
{
//验证栏目管理名称的值是否合法
if
(
StringUtil
.
isBlank
(
category
.
getCategoryTitle
())){
return
ResultData
.
build
().
error
(
getResString
(
"err.empty"
,
this
.
getResString
(
"category.title"
)));
}
if
(!
StringUtil
.
checkLength
(
category
.
getCategoryTitle
()+
""
,
1
,
100
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"category.title"
),
"1"
,
"100"
));
}
if
(!
StringUtil
.
checkLength
(
category
.
getCategoryFlag
()+
""
,
1
,
100
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"category.flag"
),
"1"
,
"100"
));
}
if
(!
StringUtil
.
checkLength
(
category
.
getCategoryPath
()+
""
,
1
,
100
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"category.path"
),
"1"
,
"100"
));
}
if
(!
StringUtil
.
checkLength
(
category
.
getCategoryParentId
()+
""
,
1
,
100
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"category.parent.id"
),
"1"
,
"100"
));
}
categoryBiz
.
updateEntity
(
category
);
return
ResultData
.
build
().
success
(
category
);
}
}
\ No newline at end of file
src/main/java/net/mingsoft/cms/action/ContentAction.java
0 → 100644
View file @
5b1f41fc
package
net.mingsoft.cms.action
;
import
java.util.List
;
import
java.io.File
;
import
java.util.ArrayList
;
import
java.util.Map
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
com.alibaba.fastjson.JSON
;
import
net.mingsoft.base.entity.ResultData
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.validation.BindingResult
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.ui.ModelMap
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.ModelAttribute
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.ModelAttribute
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
net.mingsoft.cms.biz.IContentBiz
;
import
net.mingsoft.cms.entity.ContentEntity
;
import
net.mingsoft.base.util.JSONObject
;
import
net.mingsoft.base.entity.BaseEntity
;
import
net.mingsoft.basic.util.BasicUtil
;
import
net.mingsoft.basic.util.StringUtil
;
import
net.mingsoft.base.filter.DateValueFilter
;
import
net.mingsoft.base.filter.DoubleValueFilter
;
import
net.mingsoft.basic.bean.EUListBean
;
import
net.mingsoft.basic.annotation.LogAnn
;
import
net.mingsoft.basic.constant.e.BusinessTypeEnum
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
springfox.documentation.annotations.ApiIgnore
;
/**
* 文章管理控制层
* @author 铭飞开发团队
* 创建日期:2019-11-28 15:12:32<br/>
* 历史修订:<br/>
*/
@Api
(
value
=
"文章接口"
)
@Controller
(
"cmsContentAction"
)
@RequestMapping
(
"/${ms.manager.path}/cms/content"
)
public
class
ContentAction
extends
BaseAction
{
/**
* 注入文章业务层
*/
@Autowired
private
IContentBiz
contentBiz
;
/**
* 返回主界面index
*/
@GetMapping
(
"/index"
)
public
String
index
(
HttpServletResponse
response
,
HttpServletRequest
request
){
return
"/cms/content/index"
;
}
/**
* 返回主界面main
*/
@GetMapping
(
"/main"
)
public
String
main
(
HttpServletResponse
response
,
HttpServletRequest
request
){
return
"/cms/content/main"
;
}
/**
* 查询文章列表
* @param content 文章实体
*/
@ApiOperation
(
value
=
"查询文章列表接口"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"contentTitle"
,
value
=
"文章标题"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentCategoryId"
,
value
=
"所属栏目"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentType"
,
value
=
"文章类型"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentDisplay"
,
value
=
"是否显示"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentAuthor"
,
value
=
"文章作者"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentSource"
,
value
=
"文章来源"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentDatetime"
,
value
=
"发布时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentSort"
,
value
=
"自定义顺序"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentImg"
,
value
=
"文章缩略图"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentDescription"
,
value
=
"描述"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentKeyword"
,
value
=
"关键字"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentDetails"
,
value
=
"文章内容"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentUrl"
,
value
=
"文章跳转链接地址"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"appid"
,
value
=
"文章管理的应用id"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"createBy"
,
value
=
"创建人"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"createDate"
,
value
=
"创建时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"updateBy"
,
value
=
"修改人"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"updateDate"
,
value
=
"修改时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"del"
,
value
=
"删除标记"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"id"
,
value
=
"编号"
,
required
=
false
,
paramType
=
"query"
),
})
@RequestMapping
(
"/list"
)
@ResponseBody
public
ResultData
list
(
@ModelAttribute
@ApiIgnore
ContentEntity
content
,
HttpServletResponse
response
,
HttpServletRequest
request
,
@ApiIgnore
ModelMap
model
,
BindingResult
result
)
{
BasicUtil
.
startPage
();
List
contentList
=
contentBiz
.
query
(
content
);
return
ResultData
.
build
().
success
(
new
EUListBean
(
contentList
,(
int
)
BasicUtil
.
endPage
(
contentList
).
getTotal
()));
}
/**
* 返回编辑界面content_form
*/
@GetMapping
(
"/form"
)
public
String
form
(
@ModelAttribute
ContentEntity
content
,
HttpServletResponse
response
,
HttpServletRequest
request
,
ModelMap
model
){
if
(
content
.
getId
()!=
null
){
BaseEntity
contentEntity
=
contentBiz
.
getEntity
(
Integer
.
parseInt
(
content
.
getId
()));
model
.
addAttribute
(
"contentEntity"
,
contentEntity
);
}
return
"/cms/content/form"
;
}
/**
* 获取文章
* @param content 文章实体
*/
@ApiOperation
(
value
=
"获取文章列表接口"
)
@ApiImplicitParam
(
name
=
"id"
,
value
=
"编号"
,
required
=
true
,
paramType
=
"query"
)
@GetMapping
(
"/get"
)
@ResponseBody
public
ResultData
get
(
@ModelAttribute
@ApiIgnore
ContentEntity
content
,
HttpServletResponse
response
,
HttpServletRequest
request
,
@ApiIgnore
ModelMap
model
){
if
(
content
.
getId
()==
null
)
{
return
ResultData
.
build
().
error
();
}
ContentEntity
_content
=
(
ContentEntity
)
contentBiz
.
getEntity
(
Integer
.
parseInt
(
content
.
getId
()));
return
ResultData
.
build
().
success
(
_content
);
}
@ApiOperation
(
value
=
"保存文章列表接口"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"contentTitle"
,
value
=
"文章标题"
,
required
=
true
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentCategoryId"
,
value
=
"所属栏目"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentType"
,
value
=
"文章类型"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentDisplay"
,
value
=
"是否显示"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentAuthor"
,
value
=
"文章作者"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentSource"
,
value
=
"文章来源"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentDatetime"
,
value
=
"发布时间"
,
required
=
true
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentSort"
,
value
=
"自定义顺序"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentImg"
,
value
=
"文章缩略图"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentDescription"
,
value
=
"描述"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentKeyword"
,
value
=
"关键字"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentDetails"
,
value
=
"文章内容"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentUrl"
,
value
=
"文章跳转链接地址"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"appid"
,
value
=
"文章管理的应用id"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"createBy"
,
value
=
"创建人"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"createDate"
,
value
=
"创建时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"updateBy"
,
value
=
"修改人"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"updateDate"
,
value
=
"修改时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"del"
,
value
=
"删除标记"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"id"
,
value
=
"编号"
,
required
=
false
,
paramType
=
"query"
),
})
/**
* 保存文章
* @param content 文章实体
*/
@PostMapping
(
"/save"
)
@ResponseBody
@LogAnn
(
title
=
"保存文章"
,
businessType
=
BusinessTypeEnum
.
INSERT
)
@RequiresPermissions
(
"cms:content:save"
)
public
ResultData
save
(
@ModelAttribute
@ApiIgnore
ContentEntity
content
,
HttpServletResponse
response
,
HttpServletRequest
request
)
{
//验证文章标题的值是否合法
if
(
StringUtil
.
isBlank
(
content
.
getContentTitle
())){
return
ResultData
.
build
().
error
(
getResString
(
"err.empty"
,
this
.
getResString
(
"content.title"
)));
}
if
(!
StringUtil
.
checkLength
(
content
.
getContentTitle
()+
""
,
0
,
200
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"content.title"
),
"0"
,
"200"
));
}
if
(!
StringUtil
.
checkLength
(
content
.
getContentAuthor
()+
""
,
0
,
200
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"content.author"
),
"0"
,
"200"
));
}
if
(!
StringUtil
.
checkLength
(
content
.
getContentSource
()+
""
,
0
,
200
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"content.source"
),
"0"
,
"200"
));
}
//验证发布时间的值是否合法
if
(
StringUtil
.
isBlank
(
content
.
getContentDatetime
())){
return
ResultData
.
build
().
error
(
getResString
(
"err.empty"
,
this
.
getResString
(
"content.datetime"
)));
}
if
(!
StringUtil
.
checkLength
(
content
.
getContentUrl
()+
""
,
0
,
200
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"content.url"
),
"0"
,
"200"
));
}
contentBiz
.
saveEntity
(
content
);
return
ResultData
.
build
().
success
(
content
);
}
/**
* @param content 文章实体
*/
@ApiOperation
(
value
=
"批量删除文章列表接口"
)
@PostMapping
(
"/delete"
)
@ResponseBody
@LogAnn
(
title
=
"删除文章"
,
businessType
=
BusinessTypeEnum
.
DELETE
)
@RequiresPermissions
(
"cms:content:del"
)
public
ResultData
delete
(
@RequestBody
List
<
ContentEntity
>
contents
,
HttpServletResponse
response
,
HttpServletRequest
request
)
{
int
[]
ids
=
new
int
[
contents
.
size
()];
for
(
int
i
=
0
;
i
<
contents
.
size
();
i
++){
ids
[
i
]
=
Integer
.
parseInt
(
contents
.
get
(
i
).
getId
())
;
}
contentBiz
.
delete
(
ids
);
return
ResultData
.
build
().
success
();
}
/**
* 更新文章列表
* @param content 文章实体
*/
@ApiOperation
(
value
=
"更新文章列表接口"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"id"
,
value
=
"编号"
,
required
=
true
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentTitle"
,
value
=
"文章标题"
,
required
=
true
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentCategoryId"
,
value
=
"所属栏目"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentType"
,
value
=
"文章类型"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentDisplay"
,
value
=
"是否显示"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentAuthor"
,
value
=
"文章作者"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentSource"
,
value
=
"文章来源"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentDatetime"
,
value
=
"发布时间"
,
required
=
true
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentSort"
,
value
=
"自定义顺序"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentImg"
,
value
=
"文章缩略图"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentDescription"
,
value
=
"描述"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentKeyword"
,
value
=
"关键字"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentDetails"
,
value
=
"文章内容"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentUrl"
,
value
=
"文章跳转链接地址"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"appid"
,
value
=
"文章管理的应用id"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"createBy"
,
value
=
"创建人"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"createDate"
,
value
=
"创建时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"updateBy"
,
value
=
"修改人"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"updateDate"
,
value
=
"修改时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"del"
,
value
=
"删除标记"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"id"
,
value
=
"编号"
,
required
=
false
,
paramType
=
"query"
),
})
@PostMapping
(
"/update"
)
@ResponseBody
@LogAnn
(
title
=
"更新文章"
,
businessType
=
BusinessTypeEnum
.
UPDATE
)
@RequiresPermissions
(
"cms:content:update"
)
public
ResultData
update
(
@ModelAttribute
@ApiIgnore
ContentEntity
content
,
HttpServletResponse
response
,
HttpServletRequest
request
)
{
//验证文章标题的值是否合法
if
(
StringUtil
.
isBlank
(
content
.
getContentTitle
())){
return
ResultData
.
build
().
error
(
getResString
(
"err.empty"
,
this
.
getResString
(
"content.title"
)));
}
if
(!
StringUtil
.
checkLength
(
content
.
getContentTitle
()+
""
,
0
,
200
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"content.title"
),
"0"
,
"200"
));
}
if
(!
StringUtil
.
checkLength
(
content
.
getContentAuthor
()+
""
,
0
,
200
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"content.author"
),
"0"
,
"200"
));
}
if
(!
StringUtil
.
checkLength
(
content
.
getContentSource
()+
""
,
0
,
200
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"content.source"
),
"0"
,
"200"
));
}
//验证发布时间的值是否合法
if
(
StringUtil
.
isBlank
(
content
.
getContentDatetime
())){
return
ResultData
.
build
().
error
(
getResString
(
"err.empty"
,
this
.
getResString
(
"content.datetime"
)));
}
if
(!
StringUtil
.
checkLength
(
content
.
getContentUrl
()+
""
,
0
,
200
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"content.url"
),
"0"
,
"200"
));
}
contentBiz
.
updateEntity
(
content
);
return
ResultData
.
build
().
success
(
content
);
}
}
\ No newline at end of file
src/main/java/net/mingsoft/cms/action/web/CategoryAction.java
0 → 100644
View file @
5b1f41fc
package
net.mingsoft.cms.action.web
;
import
java.util.List
;
import
java.io.File
;
import
java.util.ArrayList
;
import
java.util.Map
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
com.alibaba.fastjson.JSON
;
import
net.mingsoft.base.entity.ResultData
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.validation.BindingResult
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.ui.ModelMap
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.ModelAttribute
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.ModelAttribute
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
net.mingsoft.cms.biz.ICategoryBiz
;
import
net.mingsoft.cms.entity.CategoryEntity
;
import
net.mingsoft.base.util.JSONObject
;
import
net.mingsoft.base.entity.BaseEntity
;
import
net.mingsoft.basic.util.BasicUtil
;
import
net.mingsoft.basic.util.StringUtil
;
import
net.mingsoft.base.filter.DateValueFilter
;
import
net.mingsoft.base.filter.DoubleValueFilter
;
import
net.mingsoft.basic.bean.EUListBean
;
import
net.mingsoft.basic.annotation.LogAnn
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
springfox.documentation.annotations.ApiIgnore
;
/**
* 分类管理控制层
* @author 铭飞开发团队
* 创建日期:2019-11-28 15:12:32<br/>
* 历史修订:<br/>
*/
@Api
(
value
=
"分类接口"
)
@Controller
(
"WebcmsCategoryAction"
)
@RequestMapping
(
"/cms/category"
)
public
class
CategoryAction
extends
net
.
mingsoft
.
cms
.
action
.
BaseAction
{
/**
* 注入分类业务层
*/
@Autowired
private
ICategoryBiz
categoryBiz
;
/**
* 返回主界面index
*/
@GetMapping
(
"/index"
)
public
String
index
(
HttpServletResponse
response
,
HttpServletRequest
request
){
return
"/cms/category/index"
;
}
/**
* 查询分类列表
* @param category 分类实体
*/
@ApiOperation
(
value
=
"查询分类列表接口"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"categoryTitle"
,
value
=
"栏目管理名称"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryId"
,
value
=
"所属栏目"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryType"
,
value
=
"栏目管理属性"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categorySort"
,
value
=
"自定义顺序"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryListUrl"
,
value
=
"列表模板"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryUrl"
,
value
=
"内容模板"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryKeyword"
,
value
=
"栏目管理关键字"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryDescrip"
,
value
=
"栏目管理描述"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryImg"
,
value
=
"缩略图"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryDiyUrl"
,
value
=
"自定义链接"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"mdiyModelId"
,
value
=
"栏目管理的内容模型id"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryDatetime"
,
value
=
"类别发布时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryManagerId"
,
value
=
"发布用户id"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"appId"
,
value
=
"应用编号"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"dictId"
,
value
=
"字典对应编号"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryFlag"
,
value
=
"栏目属性"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryPath"
,
value
=
"栏目路径"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryParentId"
,
value
=
"父类型编号"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"createBy"
,
value
=
"创建人"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"createDate"
,
value
=
"创建时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"updateBy"
,
value
=
"修改人"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"updateDate"
,
value
=
"修改时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"del"
,
value
=
"删除标记"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"id"
,
value
=
"编号"
,
required
=
false
,
paramType
=
"query"
),
})
@RequestMapping
(
"/list"
)
@ResponseBody
public
ResultData
list
(
@ModelAttribute
@ApiIgnore
CategoryEntity
category
,
HttpServletResponse
response
,
HttpServletRequest
request
,
@ApiIgnore
ModelMap
model
,
BindingResult
result
)
{
BasicUtil
.
startPage
();
List
categoryList
=
categoryBiz
.
query
(
category
);
return
ResultData
.
build
().
success
(
new
EUListBean
(
categoryList
,(
int
)
BasicUtil
.
endPage
(
categoryList
).
getTotal
()));
}
/**
* 返回编辑界面category_form
*/
@GetMapping
(
"/form"
)
public
String
form
(
@ModelAttribute
CategoryEntity
category
,
HttpServletResponse
response
,
HttpServletRequest
request
,
ModelMap
model
){
if
(
category
.
getId
()!=
null
){
BaseEntity
categoryEntity
=
categoryBiz
.
getEntity
(
Integer
.
parseInt
(
category
.
getId
()));
model
.
addAttribute
(
"categoryEntity"
,
categoryEntity
);
}
return
"/cms/category/form"
;
}
/**
* 获取分类
* @param category 分类实体
*/
@ApiOperation
(
value
=
"获取分类列表接口"
)
@ApiImplicitParam
(
name
=
"id"
,
value
=
"编号"
,
required
=
true
,
paramType
=
"query"
)
@GetMapping
(
"/get"
)
@ResponseBody
public
ResultData
get
(
@ModelAttribute
@ApiIgnore
CategoryEntity
category
,
HttpServletResponse
response
,
HttpServletRequest
request
,
@ApiIgnore
ModelMap
model
){
if
(
category
.
getId
()==
null
)
{
return
ResultData
.
build
().
error
();
}
CategoryEntity
_category
=
(
CategoryEntity
)
categoryBiz
.
getEntity
(
Integer
.
parseInt
(
category
.
getId
()));
return
ResultData
.
build
().
success
(
_category
);
}
@ApiOperation
(
value
=
"保存分类列表接口"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"categoryTitle"
,
value
=
"栏目管理名称"
,
required
=
true
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryId"
,
value
=
"所属栏目"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryType"
,
value
=
"栏目管理属性"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categorySort"
,
value
=
"自定义顺序"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryListUrl"
,
value
=
"列表模板"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryUrl"
,
value
=
"内容模板"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryKeyword"
,
value
=
"栏目管理关键字"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryDescrip"
,
value
=
"栏目管理描述"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryImg"
,
value
=
"缩略图"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryDiyUrl"
,
value
=
"自定义链接"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"mdiyModelId"
,
value
=
"栏目管理的内容模型id"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryDatetime"
,
value
=
"类别发布时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryManagerId"
,
value
=
"发布用户id"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"appId"
,
value
=
"应用编号"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"dictId"
,
value
=
"字典对应编号"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryFlag"
,
value
=
"栏目属性"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryPath"
,
value
=
"栏目路径"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryParentId"
,
value
=
"父类型编号"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"createBy"
,
value
=
"创建人"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"createDate"
,
value
=
"创建时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"updateBy"
,
value
=
"修改人"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"updateDate"
,
value
=
"修改时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"del"
,
value
=
"删除标记"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"id"
,
value
=
"编号"
,
required
=
false
,
paramType
=
"query"
),
})
/**
* 保存分类
* @param category 分类实体
*/
@PostMapping
(
"/save"
)
@ResponseBody
public
ResultData
save
(
@ModelAttribute
@ApiIgnore
CategoryEntity
category
,
HttpServletResponse
response
,
HttpServletRequest
request
)
{
//验证栏目管理名称的值是否合法
if
(
StringUtil
.
isBlank
(
category
.
getCategoryTitle
())){
return
ResultData
.
build
().
error
(
getResString
(
"err.empty"
,
this
.
getResString
(
"category.title"
)));
}
if
(!
StringUtil
.
checkLength
(
category
.
getCategoryTitle
()+
""
,
1
,
100
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"category.title"
),
"1"
,
"100"
));
}
if
(!
StringUtil
.
checkLength
(
category
.
getCategoryFlag
()+
""
,
1
,
100
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"category.flag"
),
"1"
,
"100"
));
}
if
(!
StringUtil
.
checkLength
(
category
.
getCategoryPath
()+
""
,
1
,
100
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"category.path"
),
"1"
,
"100"
));
}
if
(!
StringUtil
.
checkLength
(
category
.
getCategoryParentId
()+
""
,
1
,
100
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"category.parent.id"
),
"1"
,
"100"
));
}
categoryBiz
.
saveEntity
(
category
);
return
ResultData
.
build
().
success
(
category
);
}
/**
* @param category 分类实体
*/
@ApiOperation
(
value
=
"批量删除分类列表接口"
)
@PostMapping
(
"/delete"
)
@ResponseBody
public
ResultData
delete
(
@RequestBody
List
<
CategoryEntity
>
categorys
,
HttpServletResponse
response
,
HttpServletRequest
request
)
{
int
[]
ids
=
new
int
[
categorys
.
size
()];
for
(
int
i
=
0
;
i
<
categorys
.
size
();
i
++){
ids
[
i
]
=
Integer
.
parseInt
(
categorys
.
get
(
i
).
getId
())
;
}
categoryBiz
.
delete
(
ids
);
return
ResultData
.
build
().
success
();
}
/**
* 更新分类列表
* @param category 分类实体
*/
@ApiOperation
(
value
=
"更新分类列表接口"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"id"
,
value
=
"编号"
,
required
=
true
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryTitle"
,
value
=
"栏目管理名称"
,
required
=
true
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryId"
,
value
=
"所属栏目"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryType"
,
value
=
"栏目管理属性"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categorySort"
,
value
=
"自定义顺序"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryListUrl"
,
value
=
"列表模板"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryUrl"
,
value
=
"内容模板"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryKeyword"
,
value
=
"栏目管理关键字"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryDescrip"
,
value
=
"栏目管理描述"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryImg"
,
value
=
"缩略图"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryDiyUrl"
,
value
=
"自定义链接"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"mdiyModelId"
,
value
=
"栏目管理的内容模型id"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryDatetime"
,
value
=
"类别发布时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryManagerId"
,
value
=
"发布用户id"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"appId"
,
value
=
"应用编号"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"dictId"
,
value
=
"字典对应编号"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryFlag"
,
value
=
"栏目属性"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryPath"
,
value
=
"栏目路径"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"categoryParentId"
,
value
=
"父类型编号"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"createBy"
,
value
=
"创建人"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"createDate"
,
value
=
"创建时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"updateBy"
,
value
=
"修改人"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"updateDate"
,
value
=
"修改时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"del"
,
value
=
"删除标记"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"id"
,
value
=
"编号"
,
required
=
false
,
paramType
=
"query"
),
})
@PostMapping
(
"/update"
)
@ResponseBody
public
ResultData
update
(
@ModelAttribute
@ApiIgnore
CategoryEntity
category
,
HttpServletResponse
response
,
HttpServletRequest
request
)
{
//验证栏目管理名称的值是否合法
if
(
StringUtil
.
isBlank
(
category
.
getCategoryTitle
())){
return
ResultData
.
build
().
error
(
getResString
(
"err.empty"
,
this
.
getResString
(
"category.title"
)));
}
if
(!
StringUtil
.
checkLength
(
category
.
getCategoryTitle
()+
""
,
1
,
100
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"category.title"
),
"1"
,
"100"
));
}
if
(!
StringUtil
.
checkLength
(
category
.
getCategoryFlag
()+
""
,
1
,
100
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"category.flag"
),
"1"
,
"100"
));
}
if
(!
StringUtil
.
checkLength
(
category
.
getCategoryPath
()+
""
,
1
,
100
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"category.path"
),
"1"
,
"100"
));
}
if
(!
StringUtil
.
checkLength
(
category
.
getCategoryParentId
()+
""
,
1
,
100
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"category.parent.id"
),
"1"
,
"100"
));
}
categoryBiz
.
updateEntity
(
category
);
return
ResultData
.
build
().
success
(
category
);
}
}
\ No newline at end of file
src/main/java/net/mingsoft/cms/action/web/ContentAction.java
0 → 100644
View file @
5b1f41fc
package
net.mingsoft.cms.action.web
;
import
java.util.List
;
import
java.io.File
;
import
java.util.ArrayList
;
import
java.util.Map
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
com.alibaba.fastjson.JSON
;
import
net.mingsoft.base.entity.ResultData
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.validation.BindingResult
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.ui.ModelMap
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.ModelAttribute
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.ModelAttribute
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
net.mingsoft.cms.biz.IContentBiz
;
import
net.mingsoft.cms.entity.ContentEntity
;
import
net.mingsoft.base.util.JSONObject
;
import
net.mingsoft.base.entity.BaseEntity
;
import
net.mingsoft.basic.util.BasicUtil
;
import
net.mingsoft.basic.util.StringUtil
;
import
net.mingsoft.base.filter.DateValueFilter
;
import
net.mingsoft.base.filter.DoubleValueFilter
;
import
net.mingsoft.basic.bean.EUListBean
;
import
net.mingsoft.basic.annotation.LogAnn
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
springfox.documentation.annotations.ApiIgnore
;
/**
* 文章管理控制层
* @author 铭飞开发团队
* 创建日期:2019-11-28 15:12:32<br/>
* 历史修订:<br/>
*/
@Api
(
value
=
"文章接口"
)
@Controller
(
"WebcmsContentAction"
)
@RequestMapping
(
"/cms/content"
)
public
class
ContentAction
extends
net
.
mingsoft
.
cms
.
action
.
BaseAction
{
/**
* 注入文章业务层
*/
@Autowired
private
IContentBiz
contentBiz
;
/**
* 返回主界面index
*/
@GetMapping
(
"/index"
)
public
String
index
(
HttpServletResponse
response
,
HttpServletRequest
request
){
return
"/cms/content/index"
;
}
/**
* 查询文章列表
* @param content 文章实体
*/
@ApiOperation
(
value
=
"查询文章列表接口"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"contentTitle"
,
value
=
"文章标题"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentCategoryId"
,
value
=
"所属栏目"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentType"
,
value
=
"文章类型"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentDisplay"
,
value
=
"是否显示"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentAuthor"
,
value
=
"文章作者"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentSource"
,
value
=
"文章来源"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentDatetime"
,
value
=
"发布时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentSort"
,
value
=
"自定义顺序"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentImg"
,
value
=
"文章缩略图"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentDescription"
,
value
=
"描述"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentKeyword"
,
value
=
"关键字"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentDetails"
,
value
=
"文章内容"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentUrl"
,
value
=
"文章跳转链接地址"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"appid"
,
value
=
"文章管理的应用id"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"createBy"
,
value
=
"创建人"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"createDate"
,
value
=
"创建时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"updateBy"
,
value
=
"修改人"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"updateDate"
,
value
=
"修改时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"del"
,
value
=
"删除标记"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"id"
,
value
=
"编号"
,
required
=
false
,
paramType
=
"query"
),
})
@RequestMapping
(
"/list"
)
@ResponseBody
public
ResultData
list
(
@ModelAttribute
@ApiIgnore
ContentEntity
content
,
HttpServletResponse
response
,
HttpServletRequest
request
,
@ApiIgnore
ModelMap
model
,
BindingResult
result
)
{
BasicUtil
.
startPage
();
List
contentList
=
contentBiz
.
query
(
content
);
return
ResultData
.
build
().
success
(
new
EUListBean
(
contentList
,(
int
)
BasicUtil
.
endPage
(
contentList
).
getTotal
()));
}
/**
* 返回编辑界面content_form
*/
@GetMapping
(
"/form"
)
public
String
form
(
@ModelAttribute
ContentEntity
content
,
HttpServletResponse
response
,
HttpServletRequest
request
,
ModelMap
model
){
if
(
content
.
getId
()!=
null
){
BaseEntity
contentEntity
=
contentBiz
.
getEntity
(
Integer
.
parseInt
(
content
.
getId
()));
model
.
addAttribute
(
"contentEntity"
,
contentEntity
);
}
return
"/cms/content/form"
;
}
/**
* 获取文章
* @param content 文章实体
*/
@ApiOperation
(
value
=
"获取文章列表接口"
)
@ApiImplicitParam
(
name
=
"id"
,
value
=
"编号"
,
required
=
true
,
paramType
=
"query"
)
@GetMapping
(
"/get"
)
@ResponseBody
public
ResultData
get
(
@ModelAttribute
@ApiIgnore
ContentEntity
content
,
HttpServletResponse
response
,
HttpServletRequest
request
,
@ApiIgnore
ModelMap
model
){
if
(
content
.
getId
()==
null
)
{
return
ResultData
.
build
().
error
();
}
ContentEntity
_content
=
(
ContentEntity
)
contentBiz
.
getEntity
(
Integer
.
parseInt
(
content
.
getId
()));
return
ResultData
.
build
().
success
(
_content
);
}
@ApiOperation
(
value
=
"保存文章列表接口"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"contentTitle"
,
value
=
"文章标题"
,
required
=
true
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentCategoryId"
,
value
=
"所属栏目"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentType"
,
value
=
"文章类型"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentDisplay"
,
value
=
"是否显示"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentAuthor"
,
value
=
"文章作者"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentSource"
,
value
=
"文章来源"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentDatetime"
,
value
=
"发布时间"
,
required
=
true
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentSort"
,
value
=
"自定义顺序"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentImg"
,
value
=
"文章缩略图"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentDescription"
,
value
=
"描述"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentKeyword"
,
value
=
"关键字"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentDetails"
,
value
=
"文章内容"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentUrl"
,
value
=
"文章跳转链接地址"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"appid"
,
value
=
"文章管理的应用id"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"createBy"
,
value
=
"创建人"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"createDate"
,
value
=
"创建时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"updateBy"
,
value
=
"修改人"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"updateDate"
,
value
=
"修改时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"del"
,
value
=
"删除标记"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"id"
,
value
=
"编号"
,
required
=
false
,
paramType
=
"query"
),
})
/**
* 保存文章
* @param content 文章实体
*/
@PostMapping
(
"/save"
)
@ResponseBody
public
ResultData
save
(
@ModelAttribute
@ApiIgnore
ContentEntity
content
,
HttpServletResponse
response
,
HttpServletRequest
request
)
{
//验证文章标题的值是否合法
if
(
StringUtil
.
isBlank
(
content
.
getContentTitle
())){
return
ResultData
.
build
().
error
(
getResString
(
"err.empty"
,
this
.
getResString
(
"content.title"
)));
}
if
(!
StringUtil
.
checkLength
(
content
.
getContentTitle
()+
""
,
0
,
200
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"content.title"
),
"0"
,
"200"
));
}
if
(!
StringUtil
.
checkLength
(
content
.
getContentAuthor
()+
""
,
0
,
200
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"content.author"
),
"0"
,
"200"
));
}
if
(!
StringUtil
.
checkLength
(
content
.
getContentSource
()+
""
,
0
,
200
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"content.source"
),
"0"
,
"200"
));
}
//验证发布时间的值是否合法
if
(
StringUtil
.
isBlank
(
content
.
getContentDatetime
())){
return
ResultData
.
build
().
error
(
getResString
(
"err.empty"
,
this
.
getResString
(
"content.datetime"
)));
}
if
(!
StringUtil
.
checkLength
(
content
.
getContentUrl
()+
""
,
0
,
200
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"content.url"
),
"0"
,
"200"
));
}
contentBiz
.
saveEntity
(
content
);
return
ResultData
.
build
().
success
(
content
);
}
/**
* @param content 文章实体
*/
@ApiOperation
(
value
=
"批量删除文章列表接口"
)
@PostMapping
(
"/delete"
)
@ResponseBody
public
ResultData
delete
(
@RequestBody
List
<
ContentEntity
>
contents
,
HttpServletResponse
response
,
HttpServletRequest
request
)
{
int
[]
ids
=
new
int
[
contents
.
size
()];
for
(
int
i
=
0
;
i
<
contents
.
size
();
i
++){
ids
[
i
]
=
Integer
.
parseInt
(
contents
.
get
(
i
).
getId
())
;
}
contentBiz
.
delete
(
ids
);
return
ResultData
.
build
().
success
();
}
/**
* 更新文章列表
* @param content 文章实体
*/
@ApiOperation
(
value
=
"更新文章列表接口"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"id"
,
value
=
"编号"
,
required
=
true
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentTitle"
,
value
=
"文章标题"
,
required
=
true
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentCategoryId"
,
value
=
"所属栏目"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentType"
,
value
=
"文章类型"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentDisplay"
,
value
=
"是否显示"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentAuthor"
,
value
=
"文章作者"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentSource"
,
value
=
"文章来源"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentDatetime"
,
value
=
"发布时间"
,
required
=
true
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentSort"
,
value
=
"自定义顺序"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentImg"
,
value
=
"文章缩略图"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentDescription"
,
value
=
"描述"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentKeyword"
,
value
=
"关键字"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentDetails"
,
value
=
"文章内容"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"contentUrl"
,
value
=
"文章跳转链接地址"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"appid"
,
value
=
"文章管理的应用id"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"createBy"
,
value
=
"创建人"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"createDate"
,
value
=
"创建时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"updateBy"
,
value
=
"修改人"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"updateDate"
,
value
=
"修改时间"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"del"
,
value
=
"删除标记"
,
required
=
false
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"id"
,
value
=
"编号"
,
required
=
false
,
paramType
=
"query"
),
})
@PostMapping
(
"/update"
)
@ResponseBody
public
ResultData
update
(
@ModelAttribute
@ApiIgnore
ContentEntity
content
,
HttpServletResponse
response
,
HttpServletRequest
request
)
{
//验证文章标题的值是否合法
if
(
StringUtil
.
isBlank
(
content
.
getContentTitle
())){
return
ResultData
.
build
().
error
(
getResString
(
"err.empty"
,
this
.
getResString
(
"content.title"
)));
}
if
(!
StringUtil
.
checkLength
(
content
.
getContentTitle
()+
""
,
0
,
200
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"content.title"
),
"0"
,
"200"
));
}
if
(!
StringUtil
.
checkLength
(
content
.
getContentAuthor
()+
""
,
0
,
200
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"content.author"
),
"0"
,
"200"
));
}
if
(!
StringUtil
.
checkLength
(
content
.
getContentSource
()+
""
,
0
,
200
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"content.source"
),
"0"
,
"200"
));
}
//验证发布时间的值是否合法
if
(
StringUtil
.
isBlank
(
content
.
getContentDatetime
())){
return
ResultData
.
build
().
error
(
getResString
(
"err.empty"
,
this
.
getResString
(
"content.datetime"
)));
}
if
(!
StringUtil
.
checkLength
(
content
.
getContentUrl
()+
""
,
0
,
200
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"content.url"
),
"0"
,
"200"
));
}
contentBiz
.
updateEntity
(
content
);
return
ResultData
.
build
().
success
(
content
);
}
}
\ No newline at end of file
src/main/java/net/mingsoft/cms/biz/ICategoryBiz.java
0 → 100644
View file @
5b1f41fc
package
net.mingsoft.cms.biz
;
import
net.mingsoft.base.biz.IBaseBiz
;
/**
* 分类业务
* @author 铭飞开发团队
* 创建日期:2019-11-28 15:12:32<br/>
* 历史修订:<br/>
*/
public
interface
ICategoryBiz
extends
IBaseBiz
{
}
\ No newline at end of file
src/main/java/net/mingsoft/cms/biz/IContentBiz.java
0 → 100644
View file @
5b1f41fc
package
net.mingsoft.cms.biz
;
import
net.mingsoft.base.biz.IBaseBiz
;
/**
* 文章业务
* @author 铭飞开发团队
* 创建日期:2019-11-28 15:12:32<br/>
* 历史修订:<br/>
*/
public
interface
IContentBiz
extends
IBaseBiz
{
}
\ No newline at end of file
src/main/java/net/mingsoft/cms/biz/impl/CategoryBizImpl.java
0 → 100644
View file @
5b1f41fc
/**
The MIT License (MIT) * Copyright (c) 2019 铭飞科技
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package
net.mingsoft.cms.biz.impl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
net.mingsoft.base.biz.impl.BaseBizImpl
;
import
net.mingsoft.base.dao.IBaseDao
;
import
java.util.*
;
import
net.mingsoft.cms.entity.CategoryEntity
;
import
net.mingsoft.cms.biz.ICategoryBiz
;
import
net.mingsoft.cms.dao.ICategoryDao
;
/**
* 分类管理持久化层
* @author 铭飞开发团队
* 创建日期:2019-11-28 15:12:32<br/>
* 历史修订:<br/>
*/
@Service
(
"cmscategoryBizImpl"
)
public
class
CategoryBizImpl
extends
BaseBizImpl
implements
ICategoryBiz
{
@Autowired
private
ICategoryDao
categoryDao
;
@Override
protected
IBaseDao
getDao
()
{
// TODO Auto-generated method stub
return
categoryDao
;
}
}
\ No newline at end of file
src/main/java/net/mingsoft/cms/biz/impl/ContentBizImpl.java
0 → 100644
View file @
5b1f41fc
/**
The MIT License (MIT) * Copyright (c) 2019 铭飞科技
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package
net.mingsoft.cms.biz.impl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
net.mingsoft.base.biz.impl.BaseBizImpl
;
import
net.mingsoft.base.dao.IBaseDao
;
import
java.util.*
;
import
net.mingsoft.cms.entity.ContentEntity
;
import
net.mingsoft.cms.biz.IContentBiz
;
import
net.mingsoft.cms.dao.IContentDao
;
/**
* 文章管理持久化层
* @author 铭飞开发团队
* 创建日期:2019-11-28 15:12:32<br/>
* 历史修订:<br/>
*/
@Service
(
"cmscontentBizImpl"
)
public
class
ContentBizImpl
extends
BaseBizImpl
implements
IContentBiz
{
@Autowired
private
IContentDao
contentDao
;
@Override
protected
IBaseDao
getDao
()
{
// TODO Auto-generated method stub
return
contentDao
;
}
}
\ No newline at end of file
src/main/java/net/mingsoft/cms/dao/ICategoryDao.java
0 → 100644
View file @
5b1f41fc
package
net.mingsoft.cms.dao
;
import
net.mingsoft.base.dao.IBaseDao
;
import
java.util.*
;
import
net.mingsoft.cms.entity.CategoryEntity
;
import
org.springframework.stereotype.Component
;
/**
* 分类持久层
* @author 铭飞开发团队
* 创建日期:2019-11-28 15:12:32<br/>
* 历史修订:<br/>
*/
@Component
(
"cmsCategoryDao"
)
public
interface
ICategoryDao
extends
IBaseDao
{
}
\ No newline at end of file
src/main/java/net/mingsoft/cms/dao/ICategoryDao.xml
0 → 100644
View file @
5b1f41fc
<?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=
"net.mingsoft.cms.dao.ICategoryDao"
>
<resultMap
id=
"resultMap"
type=
"net.mingsoft.cms.entity.CategoryEntity"
>
<id
column=
"id"
property=
"id"
/>
<!--编号 -->
<result
column=
"category_title"
property=
"categoryTitle"
/>
<!--栏目管理名称 -->
<result
column=
"category_id"
property=
"categoryId"
/>
<!--所属栏目 -->
<result
column=
"category_type"
property=
"categoryType"
/>
<!--栏目管理属性 -->
<result
column=
"category_sort"
property=
"categorySort"
/>
<!--自定义顺序 -->
<result
column=
"category_list_url"
property=
"categoryListUrl"
/>
<!--列表模板 -->
<result
column=
"category_url"
property=
"categoryUrl"
/>
<!--内容模板 -->
<result
column=
"category_keyword"
property=
"categoryKeyword"
/>
<!--栏目管理关键字 -->
<result
column=
"category_descrip"
property=
"categoryDescrip"
/>
<!--栏目管理描述 -->
<result
column=
"category_img"
property=
"categoryImg"
/>
<!--缩略图 -->
<result
column=
"category_diy_url"
property=
"categoryDiyUrl"
/>
<!--自定义链接 -->
<result
column=
"mdiy_model_id"
property=
"mdiyModelId"
/>
<!--栏目管理的内容模型id -->
<result
column=
"category_datetime"
property=
"categoryDatetime"
/>
<!--类别发布时间 -->
<result
column=
"category_manager_id"
property=
"categoryManagerId"
/>
<!--发布用户id -->
<result
column=
"app_id"
property=
"appId"
/>
<!--应用编号 -->
<result
column=
"dict_id"
property=
"dictId"
/>
<!--字典对应编号 -->
<result
column=
"category_flag"
property=
"categoryFlag"
/>
<!--栏目属性 -->
<result
column=
"category_path"
property=
"categoryPath"
/>
<!--栏目路径 -->
<result
column=
"category_parent_id"
property=
"categoryParentId"
/>
<!--父类型编号 -->
<result
column=
"create_by"
property=
"createBy"
/>
<!--创建人 -->
<result
column=
"create_date"
property=
"createDate"
/>
<!--创建时间 -->
<result
column=
"update_by"
property=
"updateBy"
/>
<!--修改人 -->
<result
column=
"update_date"
property=
"updateDate"
/>
<!--修改时间 -->
<result
column=
"del"
property=
"del"
/>
<!--删除标记 -->
</resultMap>
<!--保存-->
<insert
id=
"saveEntity"
useGeneratedKeys=
"true"
keyProperty=
"id"
parameterType=
"net.mingsoft.cms.entity.CategoryEntity"
>
insert into cms_category
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"categoryTitle != null and categoryTitle != ''"
>
category_title,
</if>
<if
test=
"categoryId != null and categoryId != ''"
>
category_id,
</if>
<if
test=
"categoryType != null and categoryType != ''"
>
category_type,
</if>
<if
test=
"categorySort != null"
>
category_sort,
</if>
<if
test=
"categoryListUrl != null and categoryListUrl != ''"
>
category_list_url,
</if>
<if
test=
"categoryUrl != null and categoryUrl != ''"
>
category_url,
</if>
<if
test=
"categoryKeyword != null and categoryKeyword != ''"
>
category_keyword,
</if>
<if
test=
"categoryDescrip != null and categoryDescrip != ''"
>
category_descrip,
</if>
<if
test=
"categoryImg != null and categoryImg != ''"
>
category_img,
</if>
<if
test=
"categoryDiyUrl != null and categoryDiyUrl != ''"
>
category_diy_url,
</if>
<if
test=
"mdiyModelId != null and mdiyModelId != ''"
>
mdiy_model_id,
</if>
<if
test=
"categoryDatetime != null"
>
category_datetime,
</if>
<if
test=
"categoryManagerId != null"
>
category_manager_id,
</if>
<if
test=
"appId != null"
>
app_id,
</if>
<if
test=
"dictId != null"
>
dict_id,
</if>
<if
test=
"categoryFlag != null and categoryFlag != ''"
>
category_flag,
</if>
<if
test=
"categoryPath != null and categoryPath != ''"
>
category_path,
</if>
<if
test=
"categoryParentId != null and categoryParentId != ''"
>
category_parent_id,
</if>
<if
test=
"createBy > 0"
>
create_by,
</if>
<if
test=
"createDate != null"
>
create_date,
</if>
<if
test=
"updateBy > 0"
>
update_by,
</if>
<if
test=
"updateDate != null"
>
update_date,
</if>
<if
test=
"del != null"
>
del,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"categoryTitle != null and categoryTitle != ''"
>
#{categoryTitle},
</if>
<if
test=
"categoryId != null and categoryId != ''"
>
#{categoryId},
</if>
<if
test=
"categoryType != null and categoryType != ''"
>
#{categoryType},
</if>
<if
test=
"categorySort != null"
>
#{categorySort},
</if>
<if
test=
"categoryListUrl != null and categoryListUrl != ''"
>
#{categoryListUrl},
</if>
<if
test=
"categoryUrl != null and categoryUrl != ''"
>
#{categoryUrl},
</if>
<if
test=
"categoryKeyword != null and categoryKeyword != ''"
>
#{categoryKeyword},
</if>
<if
test=
"categoryDescrip != null and categoryDescrip != ''"
>
#{categoryDescrip},
</if>
<if
test=
"categoryImg != null and categoryImg != ''"
>
#{categoryImg},
</if>
<if
test=
"categoryDiyUrl != null and categoryDiyUrl != ''"
>
#{categoryDiyUrl},
</if>
<if
test=
"mdiyModelId != null and mdiyModelId != ''"
>
#{mdiyModelId},
</if>
<if
test=
"categoryDatetime != null"
>
#{categoryDatetime},
</if>
<if
test=
"categoryManagerId != null"
>
#{categoryManagerId},
</if>
<if
test=
"appId != null"
>
#{appId},
</if>
<if
test=
"dictId != null"
>
#{dictId},
</if>
<if
test=
"categoryFlag != null and categoryFlag != ''"
>
#{categoryFlag},
</if>
<if
test=
"categoryPath != null and categoryPath != ''"
>
#{categoryPath},
</if>
<if
test=
"categoryParentId != null and categoryParentId != ''"
>
#{categoryParentId},
</if>
<if
test=
"createBy > 0"
>
#{createBy},
</if>
<if
test=
"createDate != null"
>
#{createDate},
</if>
<if
test=
"updateBy > 0"
>
#{updateBy},
</if>
<if
test=
"updateDate != null"
>
#{updateDate},
</if>
<if
test=
"del != null"
>
#{del},
</if>
</trim>
</insert>
<!--更新-->
<update
id=
"updateEntity"
parameterType=
"net.mingsoft.cms.entity.CategoryEntity"
>
update cms_category
<set>
<if
test=
"categoryTitle != null and categoryTitle != ''"
>
category_title=#{categoryTitle},
</if>
<if
test=
"categoryId != null and categoryId != ''"
>
category_id=#{categoryId},
</if>
<if
test=
"categoryType != null and categoryType != ''"
>
category_type=#{categoryType},
</if>
<if
test=
"categorySort != null"
>
category_sort=#{categorySort},
</if>
<if
test=
"categoryListUrl != null and categoryListUrl != ''"
>
category_list_url=#{categoryListUrl},
</if>
<if
test=
"categoryUrl != null and categoryUrl != ''"
>
category_url=#{categoryUrl},
</if>
<if
test=
"categoryKeyword != null and categoryKeyword != ''"
>
category_keyword=#{categoryKeyword},
</if>
<if
test=
"categoryDescrip != null and categoryDescrip != ''"
>
category_descrip=#{categoryDescrip},
</if>
<if
test=
"categoryImg != null and categoryImg != ''"
>
category_img=#{categoryImg},
</if>
<if
test=
"categoryDiyUrl != null and categoryDiyUrl != ''"
>
category_diy_url=#{categoryDiyUrl},
</if>
<if
test=
"mdiyModelId != null and mdiyModelId != ''"
>
mdiy_model_id=#{mdiyModelId},
</if>
<if
test=
"categoryDatetime != null"
>
category_datetime=#{categoryDatetime},
</if>
<if
test=
"categoryManagerId != null"
>
category_manager_id=#{categoryManagerId},
</if>
<if
test=
"appId != null"
>
app_id=#{appId},
</if>
<if
test=
"dictId != null"
>
dict_id=#{dictId},
</if>
<if
test=
"categoryFlag != null and categoryFlag != ''"
>
category_flag=#{categoryFlag},
</if>
<if
test=
"categoryPath != null and categoryPath != ''"
>
category_path=#{categoryPath},
</if>
<if
test=
"categoryParentId != null and categoryParentId != ''"
>
category_parent_id=#{categoryParentId},
</if>
<if
test=
"createBy > 0"
>
create_by=#{createBy},
</if>
<if
test=
"createDate != null"
>
create_date=#{createDate},
</if>
<if
test=
"updateBy > 0"
>
update_by=#{updateBy},
</if>
<if
test=
"updateDate != null"
>
update_date=#{updateDate},
</if>
<if
test=
"del != null"
>
del=#{del},
</if>
</set>
where id = #{id}
</update>
<!--根据id获取-->
<select
id=
"getEntity"
resultMap=
"resultMap"
parameterType=
"int"
>
select * from cms_category where id=#{id}
</select>
<!--根据实体获取-->
<select
id=
"getByEntity"
resultMap=
"resultMap"
parameterType=
"net.mingsoft.cms.entity.CategoryEntity"
>
select * from cms_category
<where>
<if
test=
"categoryTitle != null and categoryTitle != ''"
>
and category_title=#{categoryTitle}
</if>
<if
test=
"categoryId != null and categoryId != ''"
>
and category_id=#{categoryId}
</if>
<if
test=
"categoryType != null and categoryType != ''"
>
and category_type=#{categoryType}
</if>
<if
test=
"categorySort != null"
>
and category_sort=#{categorySort}
</if>
<if
test=
"categoryListUrl != null and categoryListUrl != ''"
>
and category_list_url=#{categoryListUrl}
</if>
<if
test=
"categoryUrl != null and categoryUrl != ''"
>
and category_url=#{categoryUrl}
</if>
<if
test=
"categoryKeyword != null and categoryKeyword != ''"
>
and category_keyword=#{categoryKeyword}
</if>
<if
test=
"categoryDescrip != null and categoryDescrip != ''"
>
and category_descrip=#{categoryDescrip}
</if>
<if
test=
"categoryImg != null and categoryImg != ''"
>
and category_img=#{categoryImg}
</if>
<if
test=
"categoryDiyUrl != null and categoryDiyUrl != ''"
>
and category_diy_url=#{categoryDiyUrl}
</if>
<if
test=
"mdiyModelId != null and mdiyModelId != ''"
>
and mdiy_model_id=#{mdiyModelId}
</if>
<if
test=
"categoryDatetime != null"
>
and category_datetime=#{categoryDatetime}
</if>
<if
test=
"categoryManagerId != null"
>
and category_manager_id=#{categoryManagerId}
</if>
<if
test=
"appId != null"
>
and app_id=#{appId}
</if>
<if
test=
"dictId != null"
>
and dict_id=#{dictId}
</if>
<if
test=
"categoryFlag != null and categoryFlag != ''"
>
and category_flag=#{categoryFlag}
</if>
<if
test=
"categoryPath != null and categoryPath != ''"
>
and category_path=#{categoryPath}
</if>
<if
test=
"categoryParentId != null and categoryParentId != ''"
>
and category_parent_id=#{categoryParentId}
</if>
<if
test=
"createBy > 0"
>
and create_by=#{createBy}
</if>
<if
test=
"createDate != null"
>
and create_date=#{createDate}
</if>
<if
test=
"updateBy > 0"
>
and update_by=#{updateBy}
</if>
<if
test=
"updateDate != null"
>
and update_date=#{updateDate}
</if>
<if
test=
"del != null"
>
and del=#{del}
</if>
</where>
limit 0,1
</select>
<!--删除-->
<delete
id=
"deleteEntity"
parameterType=
"int"
>
delete from cms_category where id=#{id}
</delete>
<!--批量删除-->
<delete
id=
"delete"
>
delete from cms_category
<where>
id in
<foreach
collection=
"ids"
item=
"item"
index=
"index"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</where>
</delete>
<!--查询全部-->
<select
id=
"queryAll"
resultMap=
"resultMap"
>
select * from cms_category order by id desc
</select>
<!--条件查询-->
<select
id=
"query"
resultMap=
"resultMap"
>
select * from cms_category
<where>
<if
test=
"categoryTitle != null and categoryTitle != ''"
>
and category_title=#{categoryTitle}
</if>
<if
test=
"categoryId != null and categoryId != ''"
>
and category_id=#{categoryId}
</if>
<if
test=
"categoryType != null and categoryType != ''"
>
and category_type=#{categoryType}
</if>
<if
test=
"categorySort != null"
>
and category_sort=#{categorySort}
</if>
<if
test=
"categoryListUrl != null and categoryListUrl != ''"
>
and category_list_url=#{categoryListUrl}
</if>
<if
test=
"categoryUrl != null and categoryUrl != ''"
>
and category_url=#{categoryUrl}
</if>
<if
test=
"categoryKeyword != null and categoryKeyword != ''"
>
and category_keyword=#{categoryKeyword}
</if>
<if
test=
"categoryDescrip != null and categoryDescrip != ''"
>
and category_descrip=#{categoryDescrip}
</if>
<if
test=
"categoryImg != null and categoryImg != ''"
>
and category_img=#{categoryImg}
</if>
<if
test=
"categoryDiyUrl != null and categoryDiyUrl != ''"
>
and category_diy_url=#{categoryDiyUrl}
</if>
<if
test=
"mdiyModelId != null and mdiyModelId != ''"
>
and mdiy_model_id=#{mdiyModelId}
</if>
<if
test=
"categoryDatetime != null"
>
and category_datetime=#{categoryDatetime}
</if>
<if
test=
"categoryManagerId != null"
>
and category_manager_id=#{categoryManagerId}
</if>
<if
test=
"appId != null"
>
and app_id=#{appId}
</if>
<if
test=
"dictId != null"
>
and dict_id=#{dictId}
</if>
<if
test=
"categoryFlag != null and categoryFlag != ''"
>
and category_flag=#{categoryFlag}
</if>
<if
test=
"categoryPath != null and categoryPath != ''"
>
and category_path=#{categoryPath}
</if>
<if
test=
"categoryParentId != null and categoryParentId != ''"
>
and category_parent_id=#{categoryParentId}
</if>
<if
test=
"createBy > 0"
>
and create_by=#{createBy}
</if>
<if
test=
"createDate != null"
>
and create_date=#{createDate}
</if>
<if
test=
"updateBy > 0"
>
and update_by=#{updateBy}
</if>
<if
test=
"updateDate != null"
>
and update_date=#{updateDate}
</if>
<if
test=
"del != null"
>
and del=#{del}
</if>
<include
refid=
"net.mingsoft.base.dao.IBaseDao.sqlWhere"
></include>
</where>
order by id desc
</select>
</mapper>
\ No newline at end of file
src/main/java/net/mingsoft/cms/dao/IContentDao.java
0 → 100644
View file @
5b1f41fc
package
net.mingsoft.cms.dao
;
import
net.mingsoft.base.dao.IBaseDao
;
import
java.util.*
;
import
net.mingsoft.cms.entity.ContentEntity
;
/**
* 文章持久层
* @author 铭飞开发团队
* 创建日期:2019-11-28 15:12:32<br/>
* 历史修订:<br/>
*/
public
interface
IContentDao
extends
IBaseDao
{
}
\ No newline at end of file
src/main/java/net/mingsoft/cms/dao/IContentDao.xml
0 → 100644
View file @
5b1f41fc
<?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=
"net.mingsoft.cms.dao.IContentDao"
>
<resultMap
id=
"resultMap"
type=
"net.mingsoft.cms.entity.ContentEntity"
>
<id
column=
"id"
property=
"id"
/>
<!--编号 -->
<result
column=
"content_title"
property=
"contentTitle"
/>
<!--文章标题 -->
<result
column=
"content_category_id"
property=
"contentCategoryId"
/>
<!--所属栏目 -->
<result
column=
"content_type"
property=
"contentType"
/>
<!--文章类型 -->
<result
column=
"content_display"
property=
"contentDisplay"
/>
<!--是否显示 -->
<result
column=
"content_author"
property=
"contentAuthor"
/>
<!--文章作者 -->
<result
column=
"content_source"
property=
"contentSource"
/>
<!--文章来源 -->
<result
column=
"content_datetime"
property=
"contentDatetime"
/>
<!--发布时间 -->
<result
column=
"content_sort"
property=
"contentSort"
/>
<!--自定义顺序 -->
<result
column=
"content_img"
property=
"contentImg"
/>
<!--文章缩略图 -->
<result
column=
"content_description"
property=
"contentDescription"
/>
<!--描述 -->
<result
column=
"content_keyword"
property=
"contentKeyword"
/>
<!--关键字 -->
<result
column=
"content_details"
property=
"contentDetails"
/>
<!--文章内容 -->
<result
column=
"content_url"
property=
"contentUrl"
/>
<!--文章跳转链接地址 -->
<result
column=
"appid"
property=
"appid"
/>
<!--文章管理的应用id -->
<result
column=
"create_by"
property=
"createBy"
/>
<!--创建人 -->
<result
column=
"create_date"
property=
"createDate"
/>
<!--创建时间 -->
<result
column=
"update_by"
property=
"updateBy"
/>
<!--修改人 -->
<result
column=
"update_date"
property=
"updateDate"
/>
<!--修改时间 -->
<result
column=
"del"
property=
"del"
/>
<!--删除标记 -->
</resultMap>
<!--保存-->
<insert
id=
"saveEntity"
useGeneratedKeys=
"true"
keyProperty=
"id"
parameterType=
"net.mingsoft.cms.entity.ContentEntity"
>
insert into cms_content
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"contentTitle != null and contentTitle != ''"
>
content_title,
</if>
<if
test=
"contentCategoryId != null and contentCategoryId != ''"
>
content_category_id,
</if>
<if
test=
"contentType != null and contentType != ''"
>
content_type,
</if>
<if
test=
"contentDisplay != null and contentDisplay != ''"
>
content_display,
</if>
<if
test=
"contentAuthor != null and contentAuthor != ''"
>
content_author,
</if>
<if
test=
"contentSource != null and contentSource != ''"
>
content_source,
</if>
<if
test=
"contentDatetime != null"
>
content_datetime,
</if>
<if
test=
"contentSort != null"
>
content_sort,
</if>
<if
test=
"contentImg != null and contentImg != ''"
>
content_img,
</if>
<if
test=
"contentDescription != null and contentDescription != ''"
>
content_description,
</if>
<if
test=
"contentKeyword != null and contentKeyword != ''"
>
content_keyword,
</if>
<if
test=
"contentDetails != null and contentDetails != ''"
>
content_details,
</if>
<if
test=
"contentUrl != null and contentUrl != ''"
>
content_url,
</if>
<if
test=
"appid != null"
>
appid,
</if>
<if
test=
"createBy > 0"
>
create_by,
</if>
<if
test=
"createDate != null"
>
create_date,
</if>
<if
test=
"updateBy > 0"
>
update_by,
</if>
<if
test=
"updateDate != null"
>
update_date,
</if>
<if
test=
"del != null"
>
del,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"contentTitle != null and contentTitle != ''"
>
#{contentTitle},
</if>
<if
test=
"contentCategoryId != null and contentCategoryId != ''"
>
#{contentCategoryId},
</if>
<if
test=
"contentType != null and contentType != ''"
>
#{contentType},
</if>
<if
test=
"contentDisplay != null and contentDisplay != ''"
>
#{contentDisplay},
</if>
<if
test=
"contentAuthor != null and contentAuthor != ''"
>
#{contentAuthor},
</if>
<if
test=
"contentSource != null and contentSource != ''"
>
#{contentSource},
</if>
<if
test=
"contentDatetime != null"
>
#{contentDatetime},
</if>
<if
test=
"contentSort != null"
>
#{contentSort},
</if>
<if
test=
"contentImg != null and contentImg != ''"
>
#{contentImg},
</if>
<if
test=
"contentDescription != null and contentDescription != ''"
>
#{contentDescription},
</if>
<if
test=
"contentKeyword != null and contentKeyword != ''"
>
#{contentKeyword},
</if>
<if
test=
"contentDetails != null and contentDetails != ''"
>
#{contentDetails},
</if>
<if
test=
"contentUrl != null and contentUrl != ''"
>
#{contentUrl},
</if>
<if
test=
"appid != null"
>
#{appid},
</if>
<if
test=
"createBy > 0"
>
#{createBy},
</if>
<if
test=
"createDate != null"
>
#{createDate},
</if>
<if
test=
"updateBy > 0"
>
#{updateBy},
</if>
<if
test=
"updateDate != null"
>
#{updateDate},
</if>
<if
test=
"del != null"
>
#{del},
</if>
</trim>
</insert>
<!--更新-->
<update
id=
"updateEntity"
parameterType=
"net.mingsoft.cms.entity.ContentEntity"
>
update cms_content
<set>
<if
test=
"contentTitle != null and contentTitle != ''"
>
content_title=#{contentTitle},
</if>
<if
test=
"contentCategoryId != null and contentCategoryId != ''"
>
content_category_id=#{contentCategoryId},
</if>
<if
test=
"contentType != null and contentType != ''"
>
content_type=#{contentType},
</if>
<if
test=
"contentDisplay != null and contentDisplay != ''"
>
content_display=#{contentDisplay},
</if>
<if
test=
"contentAuthor != null and contentAuthor != ''"
>
content_author=#{contentAuthor},
</if>
<if
test=
"contentSource != null and contentSource != ''"
>
content_source=#{contentSource},
</if>
<if
test=
"contentDatetime != null"
>
content_datetime=#{contentDatetime},
</if>
<if
test=
"contentSort != null"
>
content_sort=#{contentSort},
</if>
<if
test=
"contentImg != null and contentImg != ''"
>
content_img=#{contentImg},
</if>
<if
test=
"contentDescription != null and contentDescription != ''"
>
content_description=#{contentDescription},
</if>
<if
test=
"contentKeyword != null and contentKeyword != ''"
>
content_keyword=#{contentKeyword},
</if>
<if
test=
"contentDetails != null and contentDetails != ''"
>
content_details=#{contentDetails},
</if>
<if
test=
"contentUrl != null and contentUrl != ''"
>
content_url=#{contentUrl},
</if>
<if
test=
"appid != null"
>
appid=#{appid},
</if>
<if
test=
"createBy > 0"
>
create_by=#{createBy},
</if>
<if
test=
"createDate != null"
>
create_date=#{createDate},
</if>
<if
test=
"updateBy > 0"
>
update_by=#{updateBy},
</if>
<if
test=
"updateDate != null"
>
update_date=#{updateDate},
</if>
<if
test=
"del != null"
>
del=#{del},
</if>
</set>
where id = #{id}
</update>
<!--根据id获取-->
<select
id=
"getEntity"
resultMap=
"resultMap"
parameterType=
"int"
>
select * from cms_content where id=#{id}
</select>
<!--根据实体获取-->
<select
id=
"getByEntity"
resultMap=
"resultMap"
parameterType=
"net.mingsoft.cms.entity.ContentEntity"
>
select * from cms_content
<where>
<if
test=
"contentTitle != null and contentTitle != ''"
>
and content_title like CONCAT('%',#{contentTitle},'%')
</if>
<if
test=
"contentCategoryId != null and contentCategoryId != ''"
>
and content_category_id=#{contentCategoryId}
</if>
<if
test=
"contentType != null and contentType != ''"
>
and content_type=#{contentType}
</if>
<if
test=
"contentDisplay != null and contentDisplay != ''"
>
and content_display=#{contentDisplay}
</if>
<if
test=
"contentAuthor != null and contentAuthor != ''"
>
and content_author=#{contentAuthor}
</if>
<if
test=
"contentSource != null and contentSource != ''"
>
and content_source=#{contentSource}
</if>
<if
test=
"contentDatetime != null"
>
and content_datetime=#{contentDatetime}
</if>
<if
test=
"contentSort != null"
>
and content_sort=#{contentSort}
</if>
<if
test=
"contentImg != null and contentImg != ''"
>
and content_img=#{contentImg}
</if>
<if
test=
"contentDescription != null and contentDescription != ''"
>
and content_description=#{contentDescription}
</if>
<if
test=
"contentKeyword != null and contentKeyword != ''"
>
and content_keyword=#{contentKeyword}
</if>
<if
test=
"contentDetails != null and contentDetails != ''"
>
and content_details=#{contentDetails}
</if>
<if
test=
"contentUrl != null and contentUrl != ''"
>
and content_url=#{contentUrl}
</if>
<if
test=
"appid != null"
>
and appid=#{appid}
</if>
<if
test=
"createBy > 0"
>
and create_by=#{createBy}
</if>
<if
test=
"createDate != null"
>
and create_date=#{createDate}
</if>
<if
test=
"updateBy > 0"
>
and update_by=#{updateBy}
</if>
<if
test=
"updateDate != null"
>
and update_date=#{updateDate}
</if>
<if
test=
"del != null"
>
and del=#{del}
</if>
</where>
limit 0,1
</select>
<!--删除-->
<delete
id=
"deleteEntity"
parameterType=
"int"
>
delete from cms_content where id=#{id}
</delete>
<!--批量删除-->
<delete
id=
"delete"
>
delete from cms_content
<where>
id in
<foreach
collection=
"ids"
item=
"item"
index=
"index"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</where>
</delete>
<!--查询全部-->
<select
id=
"queryAll"
resultMap=
"resultMap"
>
select * from cms_content order by id desc
</select>
<!--条件查询-->
<select
id=
"query"
resultMap=
"resultMap"
>
select * from cms_content
<where>
<if
test=
"contentTitle != null and contentTitle != ''"
>
and content_title like CONCAT('%',#{contentTitle},'%')
</if>
<if
test=
"contentCategoryId != null and contentCategoryId != ''"
>
and content_category_id=#{contentCategoryId}
</if>
<if
test=
"contentType != null and contentType != ''"
>
and content_type=#{contentType}
</if>
<if
test=
"contentDisplay != null and contentDisplay != ''"
>
and content_display=#{contentDisplay}
</if>
<if
test=
"contentAuthor != null and contentAuthor != ''"
>
and content_author=#{contentAuthor}
</if>
<if
test=
"contentSource != null and contentSource != ''"
>
and content_source=#{contentSource}
</if>
<if
test=
"contentDatetime != null"
>
and content_datetime=#{contentDatetime}
</if>
<if
test=
"contentSort != null"
>
and content_sort=#{contentSort}
</if>
<if
test=
"contentImg != null and contentImg != ''"
>
and content_img=#{contentImg}
</if>
<if
test=
"contentDescription != null and contentDescription != ''"
>
and content_description=#{contentDescription}
</if>
<if
test=
"contentKeyword != null and contentKeyword != ''"
>
and content_keyword=#{contentKeyword}
</if>
<if
test=
"contentDetails != null and contentDetails != ''"
>
and content_details=#{contentDetails}
</if>
<if
test=
"contentUrl != null and contentUrl != ''"
>
and content_url=#{contentUrl}
</if>
<if
test=
"appid != null"
>
and appid=#{appid}
</if>
<if
test=
"createBy > 0"
>
and create_by=#{createBy}
</if>
<if
test=
"createDate != null"
>
and create_date=#{createDate}
</if>
<if
test=
"updateBy > 0"
>
and update_by=#{updateBy}
</if>
<if
test=
"updateDate != null"
>
and update_date=#{updateDate}
</if>
<if
test=
"del != null"
>
and del=#{del}
</if>
<include
refid=
"net.mingsoft.base.dao.IBaseDao.sqlWhere"
></include>
</where>
order by id desc
</select>
</mapper>
\ No newline at end of file
src/main/java/net/mingsoft/cms/entity/CategoryEntity.java
0 → 100644
View file @
5b1f41fc
package
net.mingsoft.cms.entity
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
net.mingsoft.base.entity.BaseEntity
;
import
java.util.Date
;
/**
* 分类实体
* @author 铭飞开发团队
* 创建日期:2019-11-28 15:12:32<br/>
* 历史修订:<br/>
*/
public
class
CategoryEntity
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1574925152750L
;
/**
* 栏目管理名称
*/
private
String
categoryTitle
;
/**
* 所属栏目
*/
private
String
categoryId
;
/**
* 栏目管理属性
*/
private
String
categoryType
;
/**
* 自定义顺序
*/
private
Integer
categorySort
;
/**
* 列表模板
*/
private
String
categoryListUrl
;
/**
* 内容模板
*/
private
String
categoryUrl
;
/**
* 栏目管理关键字
*/
private
String
categoryKeyword
;
/**
* 栏目管理描述
*/
private
String
categoryDescrip
;
/**
* 缩略图
*/
private
String
categoryImg
;
/**
* 自定义链接
*/
private
String
categoryDiyUrl
;
/**
* 栏目管理的内容模型id
*/
private
String
mdiyModelId
;
/**
* 类别发布时间
*/
@JSONField
(
format
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
timezone
=
"GMT+8"
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
categoryDatetime
;
/**
* 发布用户id
*/
private
Integer
categoryManagerId
;
/**
* 应用编号
*/
private
Integer
appId
;
/**
* 字典对应编号
*/
private
Integer
dictId
;
/**
* 栏目属性
*/
private
String
categoryFlag
;
/**
* 栏目路径
*/
private
String
categoryPath
;
/**
* 父类型编号
*/
private
String
categoryParentId
;
/**
* 设置栏目管理名称
*/
public
void
setCategoryTitle
(
String
categoryTitle
)
{
this
.
categoryTitle
=
categoryTitle
;
}
/**
* 获取栏目管理名称
*/
public
String
getCategoryTitle
()
{
return
this
.
categoryTitle
;
}
/**
* 设置所属栏目
*/
public
void
setCategoryId
(
String
categoryId
)
{
this
.
categoryId
=
categoryId
;
}
/**
* 获取所属栏目
*/
public
String
getCategoryId
()
{
return
this
.
categoryId
;
}
/**
* 设置栏目管理属性
*/
public
void
setCategoryType
(
String
categoryType
)
{
this
.
categoryType
=
categoryType
;
}
/**
* 获取栏目管理属性
*/
public
String
getCategoryType
()
{
return
this
.
categoryType
;
}
/**
* 设置自定义顺序
*/
public
void
setCategorySort
(
Integer
categorySort
)
{
this
.
categorySort
=
categorySort
;
}
/**
* 获取自定义顺序
*/
public
Integer
getCategorySort
()
{
return
this
.
categorySort
;
}
/**
* 设置列表模板
*/
public
void
setCategoryListUrl
(
String
categoryListUrl
)
{
this
.
categoryListUrl
=
categoryListUrl
;
}
/**
* 获取列表模板
*/
public
String
getCategoryListUrl
()
{
return
this
.
categoryListUrl
;
}
/**
* 设置内容模板
*/
public
void
setCategoryUrl
(
String
categoryUrl
)
{
this
.
categoryUrl
=
categoryUrl
;
}
/**
* 获取内容模板
*/
public
String
getCategoryUrl
()
{
return
this
.
categoryUrl
;
}
/**
* 设置栏目管理关键字
*/
public
void
setCategoryKeyword
(
String
categoryKeyword
)
{
this
.
categoryKeyword
=
categoryKeyword
;
}
/**
* 获取栏目管理关键字
*/
public
String
getCategoryKeyword
()
{
return
this
.
categoryKeyword
;
}
/**
* 设置栏目管理描述
*/
public
void
setCategoryDescrip
(
String
categoryDescrip
)
{
this
.
categoryDescrip
=
categoryDescrip
;
}
/**
* 获取栏目管理描述
*/
public
String
getCategoryDescrip
()
{
return
this
.
categoryDescrip
;
}
/**
* 设置缩略图
*/
public
void
setCategoryImg
(
String
categoryImg
)
{
this
.
categoryImg
=
categoryImg
;
}
/**
* 获取缩略图
*/
public
String
getCategoryImg
()
{
return
this
.
categoryImg
;
}
/**
* 设置自定义链接
*/
public
void
setCategoryDiyUrl
(
String
categoryDiyUrl
)
{
this
.
categoryDiyUrl
=
categoryDiyUrl
;
}
/**
* 获取自定义链接
*/
public
String
getCategoryDiyUrl
()
{
return
this
.
categoryDiyUrl
;
}
/**
* 设置栏目管理的内容模型id
*/
public
void
setMdiyModelId
(
String
mdiyModelId
)
{
this
.
mdiyModelId
=
mdiyModelId
;
}
/**
* 获取栏目管理的内容模型id
*/
public
String
getMdiyModelId
()
{
return
this
.
mdiyModelId
;
}
/**
* 设置类别发布时间
*/
public
void
setCategoryDatetime
(
Date
categoryDatetime
)
{
this
.
categoryDatetime
=
categoryDatetime
;
}
/**
* 获取类别发布时间
*/
public
Date
getCategoryDatetime
()
{
return
this
.
categoryDatetime
;
}
/**
* 设置发布用户id
*/
public
void
setCategoryManagerId
(
Integer
categoryManagerId
)
{
this
.
categoryManagerId
=
categoryManagerId
;
}
/**
* 获取发布用户id
*/
public
Integer
getCategoryManagerId
()
{
return
this
.
categoryManagerId
;
}
/**
* 设置应用编号
*/
public
void
setAppId
(
Integer
appId
)
{
this
.
appId
=
appId
;
}
/**
* 获取应用编号
*/
public
Integer
getAppId
()
{
return
this
.
appId
;
}
/**
* 设置字典对应编号
*/
public
void
setDictId
(
Integer
dictId
)
{
this
.
dictId
=
dictId
;
}
/**
* 获取字典对应编号
*/
public
Integer
getDictId
()
{
return
this
.
dictId
;
}
/**
* 设置栏目属性
*/
public
void
setCategoryFlag
(
String
categoryFlag
)
{
this
.
categoryFlag
=
categoryFlag
;
}
/**
* 获取栏目属性
*/
public
String
getCategoryFlag
()
{
return
this
.
categoryFlag
;
}
/**
* 设置栏目路径
*/
public
void
setCategoryPath
(
String
categoryPath
)
{
this
.
categoryPath
=
categoryPath
;
}
/**
* 获取栏目路径
*/
public
String
getCategoryPath
()
{
return
this
.
categoryPath
;
}
/**
* 设置父类型编号
*/
public
void
setCategoryParentId
(
String
categoryParentId
)
{
this
.
categoryParentId
=
categoryParentId
;
}
/**
* 获取父类型编号
*/
public
String
getCategoryParentId
()
{
return
this
.
categoryParentId
;
}
}
\ No newline at end of file
src/main/java/net/mingsoft/cms/entity/ContentEntity.java
0 → 100644
View file @
5b1f41fc
package
net.mingsoft.cms.entity
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
net.mingsoft.base.entity.BaseEntity
;
import
java.util.Date
;
/**
* 文章实体
* @author 铭飞开发团队
* 创建日期:2019-11-28 15:12:32<br/>
* 历史修订:<br/>
*/
public
class
ContentEntity
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1574925152617L
;
/**
* 文章标题
*/
private
String
contentTitle
;
/**
* 所属栏目
*/
private
String
contentCategoryId
;
/**
* 文章类型
*/
private
String
contentType
;
/**
* 是否显示
*/
private
String
contentDisplay
;
/**
* 文章作者
*/
private
String
contentAuthor
;
/**
* 文章来源
*/
private
String
contentSource
;
/**
* 发布时间
*/
@JSONField
(
format
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
timezone
=
"GMT+8"
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
contentDatetime
;
/**
* 自定义顺序
*/
private
Integer
contentSort
;
/**
* 文章缩略图
*/
private
String
contentImg
;
/**
* 描述
*/
private
String
contentDescription
;
/**
* 关键字
*/
private
String
contentKeyword
;
/**
* 文章内容
*/
private
String
contentDetails
;
/**
* 文章跳转链接地址
*/
private
String
contentUrl
;
/**
* 文章管理的应用id
*/
private
Integer
appid
;
/**
* 设置文章标题
*/
public
void
setContentTitle
(
String
contentTitle
)
{
this
.
contentTitle
=
contentTitle
;
}
/**
* 获取文章标题
*/
public
String
getContentTitle
()
{
return
this
.
contentTitle
;
}
/**
* 设置所属栏目
*/
public
void
setContentCategoryId
(
String
contentCategoryId
)
{
this
.
contentCategoryId
=
contentCategoryId
;
}
/**
* 获取所属栏目
*/
public
String
getContentCategoryId
()
{
return
this
.
contentCategoryId
;
}
/**
* 设置文章类型
*/
public
void
setContentType
(
String
contentType
)
{
this
.
contentType
=
contentType
;
}
/**
* 获取文章类型
*/
public
String
getContentType
()
{
return
this
.
contentType
;
}
/**
* 设置是否显示
*/
public
void
setContentDisplay
(
String
contentDisplay
)
{
this
.
contentDisplay
=
contentDisplay
;
}
/**
* 获取是否显示
*/
public
String
getContentDisplay
()
{
return
this
.
contentDisplay
;
}
/**
* 设置文章作者
*/
public
void
setContentAuthor
(
String
contentAuthor
)
{
this
.
contentAuthor
=
contentAuthor
;
}
/**
* 获取文章作者
*/
public
String
getContentAuthor
()
{
return
this
.
contentAuthor
;
}
/**
* 设置文章来源
*/
public
void
setContentSource
(
String
contentSource
)
{
this
.
contentSource
=
contentSource
;
}
/**
* 获取文章来源
*/
public
String
getContentSource
()
{
return
this
.
contentSource
;
}
/**
* 设置发布时间
*/
public
void
setContentDatetime
(
Date
contentDatetime
)
{
this
.
contentDatetime
=
contentDatetime
;
}
/**
* 获取发布时间
*/
public
Date
getContentDatetime
()
{
return
this
.
contentDatetime
;
}
/**
* 设置自定义顺序
*/
public
void
setContentSort
(
Integer
contentSort
)
{
this
.
contentSort
=
contentSort
;
}
/**
* 获取自定义顺序
*/
public
Integer
getContentSort
()
{
return
this
.
contentSort
;
}
/**
* 设置文章缩略图
*/
public
void
setContentImg
(
String
contentImg
)
{
this
.
contentImg
=
contentImg
;
}
/**
* 获取文章缩略图
*/
public
String
getContentImg
()
{
return
this
.
contentImg
;
}
/**
* 设置描述
*/
public
void
setContentDescription
(
String
contentDescription
)
{
this
.
contentDescription
=
contentDescription
;
}
/**
* 获取描述
*/
public
String
getContentDescription
()
{
return
this
.
contentDescription
;
}
/**
* 设置关键字
*/
public
void
setContentKeyword
(
String
contentKeyword
)
{
this
.
contentKeyword
=
contentKeyword
;
}
/**
* 获取关键字
*/
public
String
getContentKeyword
()
{
return
this
.
contentKeyword
;
}
/**
* 设置文章内容
*/
public
void
setContentDetails
(
String
contentDetails
)
{
this
.
contentDetails
=
contentDetails
;
}
/**
* 获取文章内容
*/
public
String
getContentDetails
()
{
return
this
.
contentDetails
;
}
/**
* 设置文章跳转链接地址
*/
public
void
setContentUrl
(
String
contentUrl
)
{
this
.
contentUrl
=
contentUrl
;
}
/**
* 获取文章跳转链接地址
*/
public
String
getContentUrl
()
{
return
this
.
contentUrl
;
}
/**
* 设置文章管理的应用id
*/
public
void
setAppid
(
Integer
appid
)
{
this
.
appid
=
appid
;
}
/**
* 获取文章管理的应用id
*/
public
Integer
getAppid
()
{
return
this
.
appid
;
}
}
\ No newline at end of file
src/main/java/net/mingsoft/cms/resources/resources_zh_CN.properties
View file @
5b1f41fc
#mcms\u7248\u672C
#
version
=
d3a98fefcb242db78da5fc31608ff247
#Thu Nov 28 15:12:32 CST 2019
templet.file
=
\u
6A21
\u
677F
\u6587\u
4EF6
\u
4E0D
\u
5B58
\u5728
category.img
=
\u
7F29
\u7565\u
56FE
id
=
\u6587\u
7AE0
\u
7F16
\u
53F7
appid
=
\u6587\u
7AE0
\u
7BA1
\u7406\u7684\u
5E94
\u7528
id
typeid
=
\u
680F
\u
76EE
\u
7F16
\u
53F7
content.datetime
=
\u
53D1
\u
5E03
\u
65F6
\u
95F4
order
=
\u6392\u
5E8F
category.manager.id
=
\u
53D1
\u
5E03
\u7528\u6237
id
category.title
=
\u
680F
\u
76EE
\u
7BA1
\u7406\u
540D
\u
79F0
category.keyword
=
\u
680F
\u
76EE
\u
7BA1
\u7406\u5173\u
952E
\u
5B57
content.img
=
\u6587\u
7AE0
\u
7F29
\u7565\u
56FE
category.path
=
\u
680F
\u
76EE
\u
8DEF
\u
5F84
content.type
=
\u6587\u
7AE0
\u
7C7B
\u
578B
category.url
=
\u5185\u
5BB9
\u
6A21
\u
677F
dict.id
=
\u
5B57
\u5178\u
5BF9
\u
5E94
\u
7F16
\u
53F7
content.author
=
\u6587\u
7AE0
\u
4F5C
\u8005
category.parent.id
=
\u7236\u
7C7B
\u
578B
\u
7F16
\u
53F7
category.datetime
=
\u
7C7B
\u
522B
\u
53D1
\u
5E03
\u
65F6
\u
95F4
category.flag
=
\u
680F
\u
76EE
\u
5C5E
\u6027
content.description
=
\u
63CF
\u
8FF0
content.url
=
\u6587\u
7AE0
\u
8DF3
\u
8F6C
\u
94FE
\u
63A5
\u5730\u5740
category.sort
=
\u
81EA
\u
5B9A
\u
4E49
\u
987A
\u
5E8F
content.title
=
\u6587\u
7AE0
\u6807\u9898
content.category.id
=
\u6240\u
5C5E
\u
680F
\u
76EE
id
=
\u
7F16
\u
53F7
app.id
=
\u
5E94
\u7528\u
7F16
\u
53F7
category.list.url
=
\u5217\u8868\u
6A21
\u
677F
mdiy.model.id
=
\u
680F
\u
76EE
\u
7BA1
\u7406\u7684\u5185\u
5BB9
\u
6A21
\u
578Bid
content.source
=
\u6587\u
7AE0
\u6765\u
6E90
content.display
=
\u
662F
\u5426\u
663E
\u
793A
category.type
=
\u
680F
\u
76EE
\u
7BA1
\u7406\u
5C5E
\u6027
category.descrip
=
\u
680F
\u
76EE
\u
7BA1
\u7406\u
63CF
\u
8FF0
content.details
=
\u6587\u
7AE0
\u5185\u
5BB9
category.id
=
\u6240\u
5C5E
\u
680F
\u
76EE
content.sort
=
\u
81EA
\u
5B9A
\u
4E49
\u
987A
\u
5E8F
category.diy.url
=
\u
81EA
\u
5B9A
\u
4E49
\u
94FE
\u
63A5
content.keyword
=
\u5173\u
952E
\u
5B57
src/main/webapp/WEB-INF/manager/cms/category/form.ftl
0 → 100644
View file @
5b1f41fc
<!
DOCTYPE
html>
<
html
>
<
head
>
<title>分类</title>
<#include "../../include/head-file.ftl">
</
head
>
<
body
>
<div id="form" v-cloak>
<el-header class="ms-header ms-tr" height="50px">
<el-button type="primary" icon="iconfont icon-baocun" size="mini" @click="save()" :loading="saveDisabled">保存</el-button>
<el-button size="mini" icon="iconfont icon-fanhui" plain onclick="javascript:history.go(-1)">返回</el-button>
</el-header>
<el-main class="ms-container">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" size="mini">
<el-row
gutter="0"
justify="start" align="top">
<el-col span="12">
<el-form-item label="栏目管理名称" prop="categoryTitle">
<el-input v-model="form.categoryTitle"
:disabled="false"
:style="
{
width
:
'
100
%'
}
"
:clearable="true"
placeholder="请输入栏目管理名称">
</el-input>
</el-form-item>
</el-col>
<el-col span="12">
<el-form-item label="所属栏目" prop="categoryId">
<tree-select :props="
{
value
:
'
id
'
,
label
:
'
categoryTitle
'
,
children
:
'
children
'
}
"
:options="treeList" :style="
{
width
:
'
100
%'
}
"
v-model="form.categoryId"></tree-select>
</el-form-item>
</el-col>
</el-row>
<el-row
gutter="0"
justify="start" align="top">
<el-col span="12">
<el-form-item label="栏目管理属性" prop="categoryType">
<el-radio-group v-model="form.categoryType"
:style="
{
width
:
''
}
"
:disabled="false">
<el-radio :style="
{
display
:
true
?
'
inline-block
'
:
'
block
'
}
" :label="item.value"
v-for='(item, index) in categoryTypeOptions' :key="item.value + index">
{{
true
?
item
.label
:
item
.value
}}
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col span="12">
<el-form-item label="自定义顺序" prop="categorySort">
<el-input-number
v-model="form.categorySort"
:disabled="false"
controls-position="">
</el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row
gutter="0"
justify="start" align="top">
<el-col span="12">
<el-form-item label="列表模板" prop="categoryListUrl">
<el-select v-model="form.categoryListUrl"
:style="
{
width
:
'
100
%'
}
"
:filterable="false"
:disabled="false"
:multiple="false" :clearable="true"
placeholder="请选择列表模板">
<el-option v-for='item in categoryListUrlOptions' :key="item.id" :value="item.id"
:label="false?item.name:item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col span="12">
<el-form-item label="内容模板" prop="categoryUrl">
<el-select v-model="form.categoryUrl"
:style="
{
width
:
'
100
%'
}
"
:filterable="false"
:disabled="false"
:multiple="false" :clearable="true"
placeholder="请选择内容模板">
<el-option v-for='item in categoryUrlOptions' :key="item.id" :value="item.id"
:label="false?item.name:item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="栏目管理关键字" prop="categoryKeyword">
<el-input
type="textarea" :rows="5"
:disabled="false"
v-model="form.categoryKeyword"
:style="
{
width
:
'
100
%'
}
"
placeholder="栏目管理关键字,有助于搜索">
</el-input>
</el-form-item>
<el-form-item label="栏目管理描述" prop="categoryDescrip">
<el-input
type="textarea" :rows="5"
:disabled="false"
v-model="form.categoryDescrip"
:style="
{
width
:
'
100
%'
}
"
placeholder="栏目管理描述,对栏目管理关键字的扩展">
</el-input>
</el-form-item>
<el-form-item label="" prop="categoryImg">
<template slot='label'>缩略图
<el-popover slot="label" placement="top-start" title="提示" width="200" trigger="hover" content="提示:栏目缩略图,最多可上传1张">
<i class="el-icon-question" slot="reference"></i>
</el-popover>
</template>
<el-upload
:file-list="form.categoryImg"
:action="ms.base+'/file/upload.do'"
:on-remove="categoryImghandleRemove"
:style="
{
width
:
''
}
"
:limit="1"
:on-exceed="categoryImghandleExceed"
:disabled="false"
:data="
{
uploadPath
:
'/
cms
/
category
'
,
'
isRename
'
:
true
}
"
:on-success="categoryImgSuccess"
accept="image/
*
"
list-type="picture-card">
<i class="el-icon-plus"></i>
<div slot="tip" class="el-upload__tip">最多上传1张图片</div>
</el-upload>
</el-form-item>
<el-form-item label="自定义链接" prop="categoryDiyUrl">
<el-input
type="textarea" :rows="5"
:disabled="false"
v-model="form.categoryDiyUrl"
:style="
{
width
:
'
100
%'
}
"
placeholder="请输入自定义链接">
</el-input>
</el-form-item>
<el-form-item label="栏目管理的内容模型id" prop="mdiyModelId">
<el-select v-model="form.mdiyModelId"
:style="
{
width
:
'
100
%'
}
"
:filterable="false"
:disabled="false"
:multiple="false" :clearable="true"
placeholder="请选择栏目管理的内容模型id">
<el-option v-for='item in mdiyModelIdOptions' :key="item.value" :value="item.value"
:label="false?item.label:item.value"></el-option>
</el-select>
</el-form-item>
</el-form>
</el-main>
</div>
</body>
</html>
<
script
>
var form = new Vue(
{
el
:
'#
form
'
,
data
()
{
return
{
treeList
:
[]
,
saveDisabled
:
false
,
//表单数据
form
:
{
//
栏目管理名称
categoryTitle
:
''
,
//
所属栏目
categoryId
:
''
,
//
栏目管理属性
categoryType
:
'
2
'
,
//
自定义顺序
categorySort
:
0
,
//
列表模板
categoryListUrl
:
''
,
//
内容模板
categoryUrl
:
''
,
//
栏目管理关键字
categoryKeyword
:
''
,
//
栏目管理描述
categoryDescrip
:
''
,
//
缩略图
categoryImg
:
[]
,
//
自定义链接
categoryDiyUrl
:
''
,
//
栏目管理的内容模型
id
mdiyModelId
:
''
,
},
categoryTypeOptions
:
[
{
"value"
:
"1"
,
"label"
:
"列表"
},{
"value"
:
"2"
,
"label"
:
"封面"
}
]
,
categoryListUrlOptions
:
[]
,
categoryUrlOptions
:
[]
,
mdiyModelIdOptions
:
[]
,
rules
:{
//
栏目管理名称
categoryTitle
:
[
{
"required"
:
true
,
"message"
:
"请选择栏目管理名称"
},{
"pattern"
:
/^[^[!@#$%^&
*
()
_+-/~?!@#¥%…&
*
()——+—?》《:“‘’]+$/
,
"message"
:
"栏目管理名称格式不匹配"
}
]
,
},
}
},
watch
:{
},
computed
:{
},
methods
:
{
getTree
(){
var
that
=
this
;
ms
.http.get
(
ms
.manager
+
"/cms/category/list.do"
,{
pageSize
:
9999
})
.then
(
function
(
res
){
if
(
res
.result
){
that
.treeList
=
ms
.util.treeData
(
res
.data.rows
,
'
id
'
,
'
categoryId
'
,
'
children
'
)
;
}
})
.catch
(
function
(
err
){
console
.log
(
err
)
;
})
;
},
save
()
{
var
that
=
this
;
var
url
=
ms
.manager
+
"/cms/category/save.do"
if
(
that
.form.id
>
0
)
{
url
=
ms
.manager
+
"/cms/category/update.do"
;
}
this
.
$refs
.form.validate
((
valid
)
=>
{
if
(
valid
)
{
that
.saveDisabled
=
true
;
var
data
=
JSON
.parse
(
JSON
.stringify
(
that
.form
))
;
if
(
data
.id
&&
data
.id
==
data
.categoryId
){
that
.
$message
.error
(
'所属栏目不能为自身'
)
that
.saveDisabled
=
false
;
return
}
data
.categoryImg
=
JSON
.stringify
(
data
.categoryImg
)
;
ms
.http.post
(
url
,
data
)
.then
(
function
(
data
)
{
if
(
data
.result
)
{
that
.
$notify
({
title
:
'成功'
,
message
:
'保存成功'
,
type
:
'
success
'
})
;
location
.href
=
ms
.manager
+
"/cms/category/index.do"
;
}
else
{
that
.
$notify
({
title
:
'失败'
,
message
:
data
.msg
,
type
:
'
warning
'
})
;
}
that
.saveDisabled
=
false
;
})
;
}
else
{
return
false
;
}
})
},
//获取当前分类
get
(
id
)
{
var
that
=
this
;
ms
.http.get
(
ms
.manager
+
"/cms/category/get.do"
,
{
"id"
:
id
})
.then
(
function
(
res
)
{
if
(
res
.result
&&
res
.data
){
if
(
res
.data.categoryImg
){
res
.data.categoryImg
=
JSON
.parse
(
res
.data.categoryImg
)
;
res
.data.categoryImg.forEach
(
function
(
value
){
value
.url
=
ms
.base
+
value
.path
})
}
else
{
res
.data.categoryImg
=[]
}
that
.form
=
res
.data
;
}
})
.catch
(
function
(
err
)
{
console
.log
(
err
)
;
})
;
},
//获取
categoryListUrl
数据源
categoryListUrlOptionsGet
()
{
var
that
=
this
;
ms
.http.get
(
ms
.manager
+
"/template/queryTemplateFileForColumn.do"
,
{})
.then
(
function
(
data
)
{
that
.categoryListUrlOptions
=
data
.rows
;
})
.catch
(
function
(
err
)
{
console
.log
(
err
)
;
})
;
},
//获取
categoryUrl
数据源
categoryUrlOptionsGet
()
{
var
that
=
this
;
ms
.http.get
(
ms
.manager
+
"/template/queryTemplateFileForColumn.do"
,
{})
.then
(
function
(
data
)
{
that
.categoryUrlOptions
=
data
.rows
;
})
.catch
(
function
(
err
)
{
console
.log
(
err
)
;
})
;
},
//
categoryImg
文件上传完成回调
categoryImgSuccess
:
function
(
response
,
file
,
fileList
)
{
this
.form.categoryImg.push
({
url
:
file
.url
,
name
:
file
.name
,
path
:
response
,
uid
:
file
.uid
})
;
},
categoryImghandleRemove
:
function
(
file
,
files
)
{
var
index
=
-1
;
index
=
this
.form.categoryImg.findIndex
(
text
=>
text
==
file
)
;
if
(
index
!=
-1
)
{
this
.form.categoryImg.splice
(
index
,
1
)
;
}
},
//
categoryImg
文件上传完成回调
categoryImgSuccess
:
function
(
response
,
file
,
fileList
)
{
this
.form.categoryImg.push
({
url
:
file
.url
,
name
:
file
.name
,
path
:
response
,
uid
:
file
.uid
})
;
},
//上传超过限制
categoryImghandleExceed
:
function
(
files
,
fileList
)
{
this
.
$notify
({
title
:
'当前最多上传
1
个文件'
,
type
:
'
warning
'
})
;
},
categoryImghandleRemove
:
function
(
file
,
files
)
{
var
index
=
-1
;
index
=
this
.form.categoryImg.findIndex
(
text
=>
text
==
file
)
;
if
(
index
!=
-1
)
{
this
.form.categoryImg.splice
(
index
,
1
)
;
}
},
},
created
()
{
this
.getTree
()
this
.categoryListUrlOptionsGet
()
;
this
.categoryUrlOptionsGet
()
;
this
.form.id
=
ms
.util.getParameter
(
"id"
)
;
if
(
this
.form.id
)
{
this
.get
(
this
.form.id
)
;
}
}
}
);
</
script
>
\ No newline at end of file
src/main/webapp/WEB-INF/manager/cms/category/index.ftl
0 → 100644
View file @
5b1f41fc
<!
DOCTYPE
html>
<
html
>
<
head
>
<title>分类</title>
<#include "../../include/head-file.ftl">
</
head
>
<
body
>
<div id="index" class="ms-index" v-cloak>
<el-header class="ms-header" height="50px">
<el-col :span="12">
<@shiro.hasPermission name="cms:category:save">
<el-button type="primary" icon="el-icon-plus" size="mini" @click="save()">新增</el-button>
</@shiro.hasPermission>
<@shiro.hasPermission name="cms:category:del">
<el-button type="danger" icon="el-icon-delete" size="mini" @click="del(selectionList)" :disabled="!selectionList.length">删除</el-button>
</@shiro.hasPermission>
</el-col>
</el-header>
<el-main class="ms-container">
<el-table ref="multipleTable"
height="calc(100vh - 20px)"
border :data="dataList"
row-key="id"
v-loading="loading"
default-expand-all='true'
:tree-props="
{
children
:
'
children
'
}
"
tooltip-effect="dark"
@selection-change="handleSelectionChange">
<template slot="empty">
{{
emptyText
}}
</template>
<el-table-column type="selection" width="40"></el-table-column>
<el-table-column label="栏目管理名称" align="left" prop="categoryTitle">
</el-table-column>
<el-table-column label="栏目管理属性" align="left" prop="categoryType" :formatter="categoryTypeFormat">
</el-table-column>
<el-table-column label="栏目路径" align="left" prop="categoryPath">
</el-table-column>
<el-table-column label="自定义顺序" width="100" align="right" prop="categorySort">
</el-table-column>
<el-table-column label="列表模板" align="left" prop="categoryListUrl">
</el-table-column>
<el-table-column label="内容模板" align="left" prop="categoryUrl">
</el-table-column>
<el-table-column label="操作" width="180" align="center">
<template slot-scope="scope">
<@shiro.hasPermission name="cms:category:update">
<el-link type="primary" :underline="false" @click="save(scope.row.id)">编辑</el-link>
</@shiro.hasPermission>
<@shiro.hasPermission name="cms:category:del">
<el-link type="primary" :underline="false" @click="del([scope.row])">删除</el-link>
</@shiro.hasPermission>
</template>
</el-table-column>
</el-table>
</el-main>
</div>
</
body
>
</
html
>
<
script
>
var
indexVue = new Vue(
{
el
:
'#
index
'
,
data
:{
dataList
:
[]
,
//分类列表
selectionList
:
[]
,
//分类列表选中
loading
:
true
,
//加载状态
emptyText
:
''
,
//提示文字
manager
:
ms
.manager
,
loadState
:
false
,
categoryTypeOptions
:
[
{
"value"
:
"1"
,
"label"
:
"列表"
},{
"value"
:
"2"
,
"label"
:
"封面"
}
]
,
//搜索表单
form
:{
//
栏目管理名称
categoryTitle
:
''
,
//
所属栏目
categoryId
:
''
,
//
栏目管理属性
categoryType
:
'
2
'
,
//
自定义顺序
categorySort
:
0
,
//
列表模板
categoryListUrl
:
''
,
//
内容模板
categoryUrl
:
''
,
//
栏目管理关键字
categoryKeyword
:
''
,
//
栏目管理描述
categoryDescrip
:
''
,
//
缩略图
categoryImg
:
[]
,
//
自定义链接
categoryDiyUrl
:
''
,
//
栏目管理的内容模型
id
mdiyModelId
:
''
,
},
},
methods
:{
//查询列表
list
:
function
()
{
var
that
=
this
;
this
.loadState
=
false
;
this
.loading
=
true
;
ms
.http.get
(
ms
.manager
+
"/cms/category/list.do"
,
that
.form
)
.then
(
function
(
res
)
{
if
(
that
.loadState
){
that
.loading
=
false
;
}
else
{
that
.loadState
=
true
}
if
(
!
res
.result
||
res
.data.total
<=
0
)
{
that
.emptyText
=
'暂无数据'
that
.dataList
=
[];
}
else
{
that
.emptyText
=
'';
that
.dataList
=
ms
.util.treeData
(
res
.data.rows
,
'
id
'
,
'
mdiyModelId
'
,
'
children
'
)
;
}
})
.catch
(
function
(
err
)
{
console
.log
(
err
)
;
})
;
setTimeout
(()
=>
{
if
(
that
.loadState
){
that
.loading
=
false
;
}
else
{
that
.loadState
=
true
}
},
500
)
;
},
//分类列表选中
handleSelectionChange
:
function
(
val
){
this
.selectionList
=
val
;
},
//删除
del
:
function
(
row
){
var
that
=
this
;
that
.
$confirm
(
'此操作将永久删除所选内容
,
是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'
warning
'
})
.then
(()
=>
{
ms
.http.post
(
ms
.manager
+
"/cms/category/delete.do"
,
row
.length
?
row
:[
row
]
,
{
headers
:
{
'
C
ontent-Type
'
:
'
application
/
json
'
}
}
).then(
function
(
res
){
if
(
res
.result
)
{
that
.
$notify
({
type
:
'
success
'
,
message
:
'删除成功!'
})
;
//删除成功,刷新列表
that
.list
()
;
}
})
;
})
.catch
(()
=>
{
that
.
$notify
({
type
:
'
info
'
,
message
:
'已取消删除'
})
;
})
;
},
//表格数据转换
categoryTypeFormat
(
row
,
column
,
cellValue
,
index
){
var
value
=
""
;
if
(
cellValue
){
var
data
=
this
.categoryTypeOptions.find
(
function
(
value
){
return
value
.value
==
cellValue
;
})
if
(
data
&&
data
.label
){
value
=
data
.label
;
}
}
return
value
;
},
//新增
save
:
function
(
id
){
if
(
id
){
location
.href
=
this
.manager
+
"/cms/category/form.do?id="
+
id
;
}
else
{
location
.href
=
this
.manager
+
"/cms/category/form.do"
;
}
},
//重置表单
rest
(){
this
.
$refs
.searchForm.resetFields
()
;
},
},
created
(){
/
*
this
.categoryListUrlOptionsGet
()
;
this
.categoryUrlOptionsGet
()
;
*
/
this
.list
()
;
},
}
)
</
script
>
\ No newline at end of file
src/main/webapp/WEB-INF/manager/cms/content/form.ftl
0 → 100644
View file @
5b1f41fc
<!
DOCTYPE
html>
<
html
>
<
head
>
<title>文章</title>
<#include "../../include/head-file.ftl">
</
head
>
<
body
>
<div id="form" v-cloak>
<el-header class="ms-header ms-tr" height="50px">
<el-button type="primary" icon="iconfont icon-baocun" size="mini" @click="save()" :loading="saveDisabled">保存</el-button>
<el-button size="mini" icon="iconfont icon-fanhui" plain onclick="javascript:history.go(-1)">返回</el-button>
</el-header>
<el-main class="ms-container">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" size="mini">
<el-row
gutter="0"
justify="start" align="top">
<el-col span="12">
<el-form-item label="文章标题" prop="contentTitle">
<el-input v-model="form.contentTitle"
:disabled="false"
:style="
{
width
:
'
100
%'
}
"
:clearable="true"
placeholder="请输入文章标题">
</el-input>
</el-form-item>
</el-col>
<el-col span="12">
<el-form-item label="所属栏目" prop="contentCategoryId">
<el-cascader v-model="form.contentCategoryId"
:disabled="false"
:clearable="true"
placeholder="请选择所属栏目"
:style="
{
width
:
'
100
%'
}
"
:options="contentCategoryIdTreeDatas"
:props="contentCategoryIdProps">
</el-cascader>
</el-form-item>
</el-col>
</el-row>
<el-row
gutter="0"
justify="start" align="top">
<el-col span="12">
<el-form-item label="文章类型" prop="contentType">
<el-select v-model="form.contentType"
:style="
{
width
:
'
100
%'
}
"
:filterable="false"
:disabled="false"
:multiple="true" :clearable="true"
placeholder="请选择文章类型">
<el-option v-for='item in contentTypeOptions' :key="item.dictValue" :value="item.dictValue"
:label="item.dictLabel"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col span="12">
<el-form-item label="发布时间" prop="contentDatetime">
<el-date-picker
v-model="form.contentDatetime"
placeholder="请选择发布时间"
start-placeholder=""
end-placeholder=""
:readonly="false"
:disabled="false"
:editable="true"
:clearable="true"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
:style="
{
width
:
'
100
%'
}
"
type="datetime">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row
gutter="0"
justify="start" align="top">
<el-col span="12">
<el-form-item label="文章作者" prop="contentAuthor">
<el-input v-model="form.contentAuthor"
:disabled="false"
:style="
{
width
:
'
100
%'
}
"
:clearable="true"
placeholder="请输入文章作者">
</el-input>
</el-form-item>
</el-col>
<el-col span="12">
<el-form-item label="文章来源" prop="contentSource">
<el-input v-model="form.contentSource"
:disabled="false"
:style="
{
width
:
'
100
%'
}
"
:clearable="true"
placeholder="请输入文章来源">
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
gutter="0"
justify="start" align="top">
<el-col span="12">
<el-form-item label="" prop="contentDisplay">
<template slot='label'>是否显示
<el-popover slot="label" placement="top-start" title="提示" width="200" trigger="hover" content="选择否后前端将不显示,需要重新生成才有效果">
<i class="el-icon-question" slot="reference"></i>
</el-popover>
</template>
<el-radio-group v-model="form.contentDisplay"
:style="
{
width
:
''
}
"
:disabled="false">
<el-radio :style="
{
display
:
true
?
'
inline-block
'
:
'
block
'
}
" :label="item.value"
v-for='(item, index) in contentDisplayOptions' :key="item.value + index">
{{
true
?
item
.label
:
item
.value
}}
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col span="12">
<el-form-item label="自定义顺序" prop="contentSort">
<el-input-number
v-model="form.contentSort"
:disabled="false"
controls-position="">
</el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="" prop="contentImg">
<template slot='label'>文章缩略图
<el-popover slot="label" placement="top-start" title="提示" width="200" trigger="hover" content="文章缩略图,支持jpg格式">
<i class="el-icon-question" slot="reference"></i>
</el-popover>
</template>
<el-upload
:file-list="form.contentImg"
:action="ms.base+'/file/upload.do'"
:on-remove="contentImghandleRemove"
:style="
{
width
:
''
}
"
:limit="1"
:on-exceed="contentImghandleExceed"
:disabled="false"
:data="
{
uploadPath
:
'/
cms
/
content
'
,
'
isRename
'
:
true
}
"
:on-success="contentImgSuccess"
accept="image/
*
"
list-type="picture-card">
<i class="el-icon-plus"></i>
<div slot="tip" class="el-upload__tip">最多上传1张图片</div>
</el-upload>
</el-form-item>
<el-form-item label="描述" prop="contentDescription">
<el-input
type="textarea" :rows="5"
:disabled="false"
v-model="form.contentDescription"
:style="
{
width
:
'
100
%'
}
"
placeholder="请输入对该文章的简短描述,以便用户查看文章简略">
</el-input>
</el-form-item>
<el-form-item label="关键字" prop="contentKeyword">
<el-input
type="textarea" :rows="5"
:disabled="false"
v-model="form.contentKeyword"
:style="
{
width
:
'
100
%'
}
"
placeholder="请输入文章关键字">
</el-input>
</el-form-item>
<el-form-item label="文章内容" prop="contentDetails">
<vue-ueditor-wrap style="line-height: 0px" v-model="form.contentDetails" :config="editorConfig"></vue-ueditor-wrap>
</el-form-item>
</el-form>
</el-main>
</div>
</body>
</html>
<
script
>
var form = new Vue(
{
el
:
'#
form
'
,
data
()
{
return
{
date1574910623000_52656
:
null
,
saveDisabled
:
false
,
editorConfig
:{
imageScaleEnabled
:
true
,
autoHeightEnabled
:
true
,
autoFloatEnabled
:
false
,
scaleEnabled
:
true
,
compressSide
:
0
,
maxImageSideLength
:
1000
,
maximumWords
:
2000
,
initialFrameWidth
:
'
100
%'
,
initialFrameHeight
:
400
,
serverUrl
:
ms
.base
+
"/static/plugins/ueditor/1.4.3.1/jsp/editor.do?jsonConfig=%7BvideoUrlPrefix:
\'
"
+
ms
.base
+
"
\'
,fileUrlPrefix:
\'
"
+
ms
.base
+
"
\'
,imageUrlPrefix:
\'
"
+
ms
.base
+
"
\'
,imagePathFormat:
\'
/upload/cms/content/editor/%7Btime%7D
\'
,filePathFormat:
\'
/upload/cms/content/editor/%7Btime%7D
\'
,videoPathFormat:
\'
/upload/cms/content/editor/%7Btime%7D
\'
%7D"
,
UEDITOR
_
HOME
_
URL
:
ms
.base
+'/
static
/
plugins
/
ueditor
/
1.4
.
3.1
/'
},
contentCategoryIdOptions
:
[]
,
contentCategoryIdProps
:{
checkStrictly
:
false
,
emitPath
:
false
,
label
:
'
categoryTitle
'
,
value
:
'
id
'
},
//表单数据
form
:
{
//
文章标题
contentTitle
:
''
,
//
所属栏目
contentCategoryId
:
[]
,
//
文章类型
contentType
:
[]
,
//
是否显示
contentDisplay
:
'
0
'
,
//
文章作者
contentAuthor
:
''
,
//
文章来源
contentSource
:
''
,
//
自定义顺序
contentSort
:
0
,
//
文章缩略图
contentImg
:
[]
,
//
描述
contentDescription
:
''
,
//
关键字
contentKeyword
:
''
,
//
文章内容
contentDetails
:
''
,
},
contentTypeOptions
:
[]
,
contentDisplayOptions
:
[
{
"value"
:
"0"
,
"label"
:
"是"
},{
"value"
:
"1"
,
"label"
:
"否"
}
]
,
rules
:{
//
文章标题
contentTitle
:
[
{
"required"
:
true
,
"message"
:
"请选择文章标题"
}
]
,
//
发布时间
contentDatetime
:
[
{
"required"
:
true
,
"message"
:
"发布时间不能为空"
}
]
,
},
}
},
watch
:{
},
computed
:{
contentCategoryIdTreeDatas
(){
let
cloneData
=
JSON
.parse
(
JSON
.stringify
(
this
.contentCategoryIdOptions
))
//
对源数据深度克隆
return
cloneData
.filter
(
father
=>
{
let
branchArr
=
cloneData
.filter
(
child
=>
father
.categoryId
==
child
.categoryCategoryId
)
//返回每一项的子级数组
branchArr
.length
>
0
?
father
.children
=
branchArr
:
''
//如果存在子级,则给父级添加一个
children
属性,并赋值
return
father
.categoryCategoryId
==
0
;
//返回第一层
})
;
},
},
methods
:
{
save
()
{
var
that
=
this
;
var
url
=
ms
.manager
+
"/cms/content/save.do"
if
(
that
.form.id
>
0
)
{
url
=
ms
.manager
+
"/cms/content/update.do"
;
}
this
.
$refs
.form.validate
((
valid
)
=>
{
if
(
valid
)
{
that
.saveDisabled
=
true
;
var
data
=
JSON
.parse
(
JSON
.stringify
(
that
.form
))
;
data
.contentCategoryId
=
data
.contentCategoryId.join
(
'
,
'
)
;
data
.contentType
=
data
.contentType.join
(
'
,
'
)
;
data
.contentImg
=
JSON
.stringify
(
data
.contentImg
)
;
ms
.http.post
(
url
,
data
)
.then
(
function
(
data
)
{
if
(
data
.result
)
{
that
.
$notify
({
title
:
'成功'
,
message
:
'保存成功'
,
type
:
'
success
'
})
;
location
.href
=
ms
.manager
+
"/cms/content/index.do"
;
}
else
{
that
.
$notify
({
title
:
'失败'
,
message
:
data
.msg
,
type
:
'
warning
'
})
;
}
that
.saveDisabled
=
false
;
})
;
}
else
{
return
false
;
}
})
},
//获取当前文章
get
(
id
)
{
var
that
=
this
;
ms
.http.get
(
ms
.manager
+
"/cms/content/get.do"
,
{
"id"
:
id
})
.then
(
function
(
res
)
{
if
(
res
.result
&&
res
.data
){
res
.data.contentCategoryId
=
res
.data.contentCategoryId.split
(
'
,
'
)
;
res
.data.contentType
=
res
.data.contentType.split
(
'
,
'
)
;
if
(
res
.data.contentImg
){
res
.data.contentImg
=
JSON
.parse
(
res
.data.contentImg
)
;
res
.data.contentImg.forEach
(
function
(
value
){
value
.url
=
ms
.base
+
value
.path
})
}
else
{
res
.data.contentImg
=[]
}
that
.form
=
res
.data
;
}
})
.catch
(
function
(
err
)
{
console
.log
(
err
)
;
})
;
},
//获取
contentCategoryId
数据源
contentCategoryIdOptionsGet
()
{
var
that
=
this
;
ms
.http.get
(
ms
.manager
+'/
mdiy
/
dict
/
list
.do
'
,
{})
.then
(
function
(
data
)
{
that
.contentCategoryIdOptions
=
data
.rows
;
})
.catch
(
function
(
err
)
{
console
.log
(
err
)
;
})
;
},
//获取
contentType
数据源
contentTypeOptionsGet
()
{
var
that
=
this
;
ms
.http.get
(
ms
.base
+'/
mdiy
/
dict
/
list
.do
'
,
{
dictType
:
'文章属性'
,
pageSize
:
99999
})
.then
(
function
(
data
)
{
that
.contentTypeOptions
=
data
.rows
;
})
.catch
(
function
(
err
)
{
console
.log
(
err
)
;
})
;
},
//
contentImg
文件上传完成回调
contentImgSuccess
:
function
(
response
,
file
,
fileList
)
{
this
.form.contentImg.push
({
url
:
file
.url
,
name
:
file
.name
,
path
:
response
,
uid
:
file
.uid
})
;
},
contentImghandleRemove
:
function
(
file
,
files
)
{
var
index
=
-1
;
index
=
this
.form.contentImg.findIndex
(
text
=>
text
==
file
)
;
if
(
index
!=
-1
)
{
this
.form.contentImg.splice
(
index
,
1
)
;
}
},
//
contentImg
文件上传完成回调
contentImgSuccess
:
function
(
response
,
file
,
fileList
)
{
this
.form.contentImg.push
({
url
:
file
.url
,
name
:
file
.name
,
path
:
response
,
uid
:
file
.uid
})
;
},
//上传超过限制
contentImghandleExceed
:
function
(
files
,
fileList
)
{
this
.
$notify
({
title
:
'当前最多上传
1
个文件'
,
type
:
'
warning
'
})
;
},
contentImghandleRemove
:
function
(
file
,
files
)
{
var
index
=
-1
;
index
=
this
.form.contentImg.findIndex
(
text
=>
text
==
file
)
;
if
(
index
!=
-1
)
{
this
.form.contentImg.splice
(
index
,
1
)
;
}
},
},
created
()
{
this
.contentCategoryIdOptionsGet
()
;
this
.contentTypeOptionsGet
()
;
this
.form.id
=
ms
.util.getParameter
(
"id"
)
;
if
(
this
.form.id
)
{
this
.get
(
this
.form.id
)
;
}
}
}
);
</
script
>
\ No newline at end of file
src/main/webapp/WEB-INF/manager/cms/content/index.ftl
0 → 100644
View file @
5b1f41fc
<!
DOCTYPE
html>
<
html
>
<
head
>
<meta charset="UTF-8">
<title>文章</title>
<#include "../../include/head-file.ftl">
<#include "../../include/increase-search.ftl">
</
head
>
<
body
style="overflow: hidden">
<
div
id="index" v-cloak>
<!--左侧-->
<el-container class="index-menu">
<div class="left-tree"></div>
<iframe :src="action" class="ms-iframe-style">
</iframe>
</el-container>
</
div
>
</
body
>
</
html
>
<
script
>
var indexVue = new Vue(
{
el
:
"#index"
,
data
:
{
action
:
""
,
//跳转页面
},
methods
:{
},
mounted
(){
this
.action
=
ms
.manager
+
"/cms/content/main.do"
;
}
}
)
</
script
>
<
style
>
#index .index-menu
{
min-height
:
100
vh
;
min-width
:
140
px
;
}
#index .ms-iframe-style
{
width
:
100
%;
border
:
0
;
}
#index .index-menu .el-main
{
padding
:
0
;
}
#index .left-tree
{
min-height
:
100
vh
;
background
:
#
fff
;
width
:
180
px
;
border-right
:
solid
1
px
#
e6e6e6
;
}
#index .index-menu .el-main .index-menu-menu .el-menu-item
{
min-width
:
140
px
;
width
:
100
%;
}
#index .index-menu .el-main .index-material-item
{
min-width
:
100
%
!
important
}
#index .index-menu-menu-item , .el-submenu__title
{
height
:
40
px
!
important
;
line-height
:
46
px
!
important
;
}
</
style
>
src/main/webapp/WEB-INF/manager/cms/content/main.ftl
0 → 100644
View file @
5b1f41fc
<!
DOCTYPE
html>
<
html
>
<
head
>
<title>文章主体</title>
<#include "../../include/head-file.ftl">
<#include "../../include/increase-search.ftl">
</
head
>
<
body
>
<
div
id="main" class="ms-index" v-cloak>
<ms-search ref="search" @search="search" :condition-data="conditionList" :conditions="conditions"></ms-search>
<el-header class="ms-header" height="50px">
<el-col :span="12">
<@shiro.hasPermission name="cms:content:save">
<el-button type="primary" icon="el-icon-plus" size="mini" @click="save()">新增</el-button>
</@shiro.hasPermission>
<@shiro.hasPermission name="cms:content:del">
<el-button type="danger" icon="el-icon-delete" size="mini" @click="del(selectionList)" :disabled="!selectionList.length">删除</el-button>
</@shiro.hasPermission>
</el-col>
</el-header>
<div class="ms-search">
<el-row>
<el-form :model="form" ref="searchForm" label-width="120px" size="mini">
<el-row>
<el-col :span="8">
<el-form-item label="文章标题" prop="contentTitle">
<el-input v-model="form.contentTitle"
:disabled="false"
:style="
{
width
:
'
100
%'
}
"
:clearable="true"
placeholder="请输入文章标题">
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="文章类型" prop="contentType">
<el-select v-model="form.contentType"
:style="
{
width
:
'
100
%'
}
"
:filterable="false"
:disabled="false"
:multiple="true" :clearable="true"
placeholder="请选择文章类型">
<el-option v-for='item in contentTypeOptions' :key="item.dictValue" :value="item.dictValue"
:label="item.dictLabel"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" style="text-align: right;padding-right: 10px;">
<el-button type="primary" icon="el-icon-search" size="mini" @click="form.sqlWhere=null;currentPage=1;list()">查询</el-button>
<el-button type="primary" icon="el-icon-search" size="mini" @click="$refs.search.open()">筛选</el-button>
<el-button @click="rest" icon="el-icon-refresh" size="mini">重置</el-button>
</el-col>
</el-row>
</el-form>
</el-row>
</div>
<el-main class="ms-container">
<el-table height="calc(100vh - 68px)" v-loading="loading" ref="multipleTable" border :data="dataList" tooltip-effect="dark" @selection-change="handleSelectionChange">
<template slot="empty">
{{
emptyText
}}
</template>
<el-table-column type="selection" width="40"></el-table-column>
<el-table-column label="所属栏目" align="left" prop="contentCategoryId" :formatter="contentCategoryIdFormat">
</el-table-column>
<el-table-column label="文章标题" align="left" prop="contentTitle">
</el-table-column>
<el-table-column label="文章作者" align="left" prop="contentAuthor">
</el-table-column>
<el-table-column label="自定义顺序" width="100" align="right" prop="contentSort">
</el-table-column>
<el-table-column label="发布时间" width="180" align="center" prop="contentDatetime">
</el-table-column>
<el-table-column label="操作" width="180" align="center">
<template slot-scope="scope">
<@shiro.hasPermission name="cms:content:update">
<el-link type="primary" :underline="false" @click="save(scope.row.id)">编辑</el-link>
</@shiro.hasPermission>
<@shiro.hasPermission name="cms:content:del">
<el-link type="primary" :underline="false" @click="del([scope.row])">删除</el-link>
</@shiro.hasPermission>
</template>
</el-table-column>
</el-table>
<el-pagination
background
:page-sizes="[10,20,30,40,50,100]"
layout="total, sizes, prev, pager, next, jumper"
:current-page="currentPage"
:page-size="pageSize"
:total="total"
class="ms-pagination"
@current-change='currentChange'
@size-change="sizeChange">
</el-pagination>
</el-main>
</
div
>
</
body
>
</
html
>
<
script
>
var mainVue = new Vue(
{
el
:
'#
main
'
,
data
:{
conditionList
:
[
{
action
:
'
and
'
,
field
:
'
content_title
'
,
el
:
'
eq
'
,
model
:
'
contentTitle
'
,
name
:
'文章标题'
,
type
:
'
input
'
},
{
action
:
'
and
'
,
field
:
'
content_category_id
'
,
el
:
'
eq
'
,
model
:
'
contentCategoryId
'
,
name
:
'所属栏目'
,
type
:
'
cascader
'
,
multiple
:
false
},
{
action
:
'
and
'
,
field
:
'
content_type
'
,
el
:
'
eq
'
,
model
:
'
contentType
'
,
name
:
'文章类型'
,
type
:
'
checkbox
'
,
label
:
false
,
multiple
:
true
},
{
action
:
'
and
'
,
field
:
'
content_display
'
,
el
:
'
eq
'
,
model
:
'
contentDisplay
'
,
name
:
'是否显示'
,
type
:
'
radio
'
,
label
:
true
,
multiple
:
false
},
{
action
:
'
and
'
,
field
:
'
content_author
'
,
el
:
'
eq
'
,
model
:
'
contentAuthor
'
,
name
:
'文章作者'
,
type
:
'
input
'
},
{
action
:
'
and
'
,
field
:
'
content_source
'
,
el
:
'
eq
'
,
model
:
'
contentSource
'
,
name
:
'文章来源'
,
type
:
'
input
'
},
{
action
:
'
and
'
,
field
:
'
content_datetime
'
,
model
:
'
contentDatetime
'
,
el
:
'
gt
'
,
name
:
'发布时间'
,
type
:
'
date
'
},
{
action
:
'
and
'
,
field
:
'
content_sort
'
,
el
:
'
eq
'
,
model
:
'
contentSort
'
,
name
:
'自定义顺序'
,
type
:
'
number
'
},
{
action
:
'
and
'
,
field
:
'
content_description
'
,
el
:
'
eq
'
,
model
:
'
contentDescription
'
,
name
:
'描述'
,
type
:
'
textarea
'
},
{
action
:
'
and
'
,
field
:
'
content_keyword
'
,
el
:
'
eq
'
,
model
:
'
contentKeyword
'
,
name
:
'关键字'
,
type
:
'
textarea
'
},
{
action
:
'
and
'
,
field
:
'
content_details
'
,
el
:
'
like
'
,
model
:
'
contentDetails
'
,
name
:
'文章内容'
,
type
:
'
input
'
},
{
action
:
'
and
'
,
field
:
'
content_url
'
,
el
:
'
eq
'
,
model
:
'
contentUrl
'
,
name
:
'文章跳转链接地址'
,
type
:
'
input
'
},
{
action
:
'
and
'
,
field
:
'
appid
'
,
el
:
'
eq
'
,
model
:
'
appid
'
,
name
:
'文章管理的应用
id
'
,
type
:
'
number
'
},
{
action
:
'
and
'
,
field
:
'
create_date
'
,
el
:
'
eq
'
,
model
:
'
createDate
'
,
name
:
'创建时间'
,
type
:
'
date
'
},
{
action
:
'
and
'
,
field
:
'
update_date
'
,
el
:
'
eq
'
,
model
:
'
updateDate
'
,
name
:
'修改时间'
,
type
:
'
date
'
},
]
,
conditions
:
[]
,
dataList
:
[]
,
//文章列表
selectionList
:
[]
,
//文章列表选中
total
:
0
,
//总记录数量
pageSize
:
10
,
//页面数量
currentPage
:
1
,
//初始页
manager
:
ms
.manager
,
loadState
:
false
,
loading
:
true
,
//加载状态
emptyText
:
''
,
//提示文字
contentTypeOptions
:
[]
,
contentDisplayOptions
:
[
{
"value"
:
"0"
,
"label"
:
"是"
},{
"value"
:
"1"
,
"label"
:
"否"
}
]
,
//搜索表单
form
:{
sqlWhere
:
null
,
//
文章标题
contentTitle
:
null
,
//
文章类型
contentType
:
null
,
},
},
methods
:{
//查询列表
list
:
function
()
{
var
that
=
this
;
that
.loading
=
true
;
that
.loadState
=
false
;
var
page
=
{
pageNo
:
that
.currentPage
,
pageSize
:
that
.pageSize
}
var
form
=
JSON
.parse
(
JSON
.stringify
(
that
.form
))
for
(
key
in
form
){
if
(
!
form
[
key
]
)
{
delete
form
[
key
]
}
}
history
.replaceState
({
form
:
form
,
page
:
page
},
""
)
;
ms
.http.post
(
ms
.manager
+
"/cms/content/list.do"
,
form
.sqlWhere
?
{
sqlWhere
:
form
.sqlWhere
,
..
.page
}:{
..
.form
,
..
.page
})
.then
(
function
(
res
)
{
if
(
that
.loadState
){
that
.loading
=
false
;
}
else
{
that
.loadState
=
true
}
if
(
!
res
.result
||
res
.data.total
<=
0
)
{
that
.emptyText
=
'暂无数据'
that
.dataList
=
[];
}
else
{
that
.emptyText
=
'';
that
.total
=
res
.data.total
;
that
.dataList
=
res
.data.rows
;
}
})
.catch
(
function
(
err
)
{
that
.loading
=
false
;
console
.log
(
err
)
;
})
;
setTimeout
(()
=>
{
if
(
that
.loadState
){
that
.loading
=
false
;
}
else
{
that
.loadState
=
true
}
},
500
)
;
},
//文章列表选中
handleSelectionChange
:
function
(
val
){
this
.selectionList
=
val
;
},
//删除
del
:
function
(
row
){
var
that
=
this
;
that
.
$confirm
(
'此操作将永久删除所选内容
,
是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'
warning
'
})
.then
(()
=>
{
ms
.http.post
(
ms
.manager
+
"/cms/content/delete.do"
,
row
.length
?
row
:[
row
]
,
{
headers
:
{
'
C
ontent-Type
'
:
'
application
/
json
'
}
}
).then(
function
(
res
){
if
(
res
.result
)
{
that
.
$notify
({
type
:
'
success
'
,
message
:
'删除成功!'
})
;
//删除成功,刷新列表
that
.list
()
;
}
})
;
})
.catch
(()
=>
{
that
.
$notify
({
type
:
'
info
'
,
message
:
'已取消删除'
})
;
})
;
},
//新增
save
:
function
(
id
){
if
(
id
){
location
.href
=
this
.manager
+
"/cms/content/form.do?id="
+
id
;
}
else
{
location
.href
=
this
.manager
+
"/cms/content/form.do"
;
}
},
//表格数据转换
contentCategoryIdFormat
(
row
,
column
,
cellValue
,
index
){
var
value
=
""
;
if
(
cellValue
){
var
data
=
this
.contentCategoryIdOptions.find
(
function
(
value
){
return
value
.id
==
cellValue
;
})
if
(
data
&&
data
.categoryTitle
){
value
=
data
.categoryTitle
;
}
}
return
value
;
},
contentDisplayFormat
(
row
,
column
,
cellValue
,
index
){
var
value
=
""
;
if
(
cellValue
){
var
data
=
this
.contentDisplayOptions.find
(
function
(
value
){
return
value
.value
==
cellValue
;
})
if
(
data
&&
data
.label
){
value
=
data
.label
;
}
}
return
value
;
},
//
pageSize
改变时会触发
sizeChange
:
function
(
pagesize
)
{
this
.loading
=
true
;
this
.pageSize
=
pagesize
;
this
.list
()
;
},
//
currentPage
改变时会触发
currentChange
:
function
(
currentPage
)
{
this
.loading
=
true
;
this
.currentPage
=
currentPage
;
this
.list
()
;
},
search
(
data
){
this
.form.sqlWhere
=
JSON
.stringify
(
data
)
;
this
.list
()
;
},
//重置表单
rest
(){
this
.form.sqlWhere
=
null
;
this
.
$refs
.searchForm.resetFields
()
;
this
.list
()
;
},
//获取
contentCategoryId
数据源
contentCategoryIdOptionsGet
()
{
var
that
=
this
;
ms
.http.get
(
ms
.manager
+'/
mdiy
/
dict
/
list
.do
'
,
{})
.then
(
function
(
data
)
{
that
.contentCategoryIdOptions
=
data
.rows
;
})
.catch
(
function
(
err
)
{
console
.log
(
err
)
;
})
;
},
//获取
contentType
数据源
contentTypeOptionsGet
()
{
var
that
=
this
;
ms
.http.get
(
ms
.base
+'/
mdiy
/
dict
/
list
.do
'
,
{
dictType
:
'文章属性'
,
pageSize
:
99999
})
.then
(
function
(
data
)
{
that
.contentTypeOptions
=
data
.rows
;
})
.catch
(
function
(
err
)
{
console
.log
(
err
)
;
})
;
},
},
mounted
(){
this
.contentCategoryIdOptionsGet
()
;
this
.contentTypeOptionsGet
()
;
if
(
history
.state
){
this
.form
=
history
.state.form
;
this
.currentPage
=
history
.state.page.pageNo
;
this
.pageSize
=
history
.state.page.pageSize
;
}
this
.list
()
;
},
}
)
</
script
>
<
style
>
#main .ms-search
{
padding
:
20
px
0
0
;
}
#main .ms-container
{
height
:
calc
(
100
vh
-
141
px
)
;
}
</
style
>
\ No newline at end of file
Prev
1
2
3
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