Commit 096d6f2b authored by guwd's avatar guwd

1、优化列表、封面枚举类型,原来是 1,2表示

2、优化搜索接口
parent 871245ee
...@@ -39,29 +39,6 @@ ...@@ -39,29 +39,6 @@
<artifactId>ms-mpeople</artifactId> <artifactId>ms-mpeople</artifactId>
</dependency> </dependency>
<dependency>
<groupId>net.mingsoft</groupId>
<artifactId>ms-ad</artifactId>
</dependency>
<!-- <dependency>-->
<!-- <groupId>net.mingsoft</groupId>-->
<!-- <artifactId>ms-clean</artifactId>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>net.mingsoft</groupId>-->
<!-- <artifactId>ms-quartz</artifactId>-->
<!-- </dependency>-->
<!-- 此部分是铭飞平台MStroe的客户端(MStore不在铭飞开源产品范围),如果不需要使用MStore可以删除掉 -->
<dependency>
<groupId>net.mingsoft</groupId>
<artifactId>store-client</artifactId>
<version>5.2-SNAPSHOT</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
...@@ -163,7 +163,7 @@ public class CategoryAction extends BaseAction { ...@@ -163,7 +163,7 @@ public class CategoryAction extends BaseAction {
if(!StringUtil.checkLength(category.getCategoryPath()+"", 1, 100)){ if(!StringUtil.checkLength(category.getCategoryPath()+"", 1, 100)){
return ResultData.build().error(getResString("err.length", this.getResString("category.path"), "1", "100")); return ResultData.build().error(getResString("err.length", this.getResString("category.path"), "1", "100"));
} }
if(!StringUtil.checkLength(category.getCategoryParentId()+"", 1, 100)){ if(!StringUtil.checkLength(category.getCategoryParentIds()+"", 1, 100)){
return ResultData.build().error(getResString("err.length", this.getResString("category.parent.id"), "1", "100")); return ResultData.build().error(getResString("err.length", this.getResString("category.parent.id"), "1", "100"));
} }
//判断拼音是否重复 //判断拼音是否重复
...@@ -241,7 +241,7 @@ public class CategoryAction extends BaseAction { ...@@ -241,7 +241,7 @@ public class CategoryAction extends BaseAction {
if(!StringUtil.checkLength(category.getCategoryPath()+"", 0, 100)){ if(!StringUtil.checkLength(category.getCategoryPath()+"", 0, 100)){
return ResultData.build().error(getResString("err.length", this.getResString("category.path"), "1", "100")); return ResultData.build().error(getResString("err.length", this.getResString("category.path"), "1", "100"));
} }
if(!StringUtil.checkLength(category.getCategoryParentId()+"", 0, 100)){ if(!StringUtil.checkLength(category.getCategoryParentIds()+"", 0, 100)){
return ResultData.build().error(getResString("err.length", this.getResString("category.parent.id"), "1", "100")); return ResultData.build().error(getResString("err.length", this.getResString("category.parent.id"), "1", "100"));
} }
//判断拼音是否重复并且是否和原拼音相同 //判断拼音是否重复并且是否和原拼音相同
...@@ -268,7 +268,7 @@ public class CategoryAction extends BaseAction { ...@@ -268,7 +268,7 @@ public class CategoryAction extends BaseAction {
} }
//判断是否选择子级为所属栏目 //判断是否选择子级为所属栏目
CategoryEntity _category = new CategoryEntity(); CategoryEntity _category = new CategoryEntity();
_category.setCategoryParentId(category.getId()); _category.setCategoryParentIds(category.getId());
List<CategoryEntity> categoryList = categoryBiz.queryChilds(_category); List<CategoryEntity> categoryList = categoryBiz.queryChilds(_category);
for(CategoryEntity item:categoryList){ for(CategoryEntity item:categoryList){
if(item.getId().equals(category.getCategoryId())){ if(item.getId().equals(category.getCategoryId())){
...@@ -302,7 +302,7 @@ public class CategoryAction extends BaseAction { ...@@ -302,7 +302,7 @@ public class CategoryAction extends BaseAction {
return ResultData.build().error(getResString("err.error", this.getResString("id"))); return ResultData.build().error(getResString("err.error", this.getResString("id")));
} }
category = categoryBiz.getById(category.getId()); category = categoryBiz.getById(category.getId());
category.setCategoryParentId(null); category.setCategoryParentIds(null);
List<CategoryEntity> childs = categoryBiz.queryChilds(category); List<CategoryEntity> childs = categoryBiz.queryChilds(category);
//更新与父节点相同类型的子栏目的模板内容 //更新与父节点相同类型的子栏目的模板内容
for (int i =0; i < childs.size(); i++) { for (int i =0; i < childs.size(); i++) {
......
...@@ -36,6 +36,7 @@ import net.mingsoft.cms.bean.CategoryBean; ...@@ -36,6 +36,7 @@ import net.mingsoft.cms.bean.CategoryBean;
import net.mingsoft.cms.bean.ContentBean; import net.mingsoft.cms.bean.ContentBean;
import net.mingsoft.cms.biz.ICategoryBiz; import net.mingsoft.cms.biz.ICategoryBiz;
import net.mingsoft.cms.biz.IContentBiz; import net.mingsoft.cms.biz.IContentBiz;
import net.mingsoft.cms.constant.e.CategoryTypeEnum;
import net.mingsoft.cms.entity.CategoryEntity; import net.mingsoft.cms.entity.CategoryEntity;
import net.mingsoft.cms.util.CmsParserUtil; import net.mingsoft.cms.util.CmsParserUtil;
import net.mingsoft.mdiy.bean.PageBean; import net.mingsoft.mdiy.bean.PageBean;
...@@ -178,9 +179,9 @@ public class GeneraterAction extends BaseAction { ...@@ -178,9 +179,9 @@ public class GeneraterAction extends BaseAction {
articleIdList = contentBiz.queryIdsByCategoryIdForParser(contentBean); articleIdList = contentBiz.queryIdsByCategoryIdForParser(contentBean);
// 判断列表类型 // 判断列表类型
switch (column.getCategoryType()) { switch (CategoryTypeEnum.get(column.getCategoryType())) {
//TODO 暂时先用字符串代替 //TODO 暂时先用字符串代替
case "1": // 列表 case LIST: // 列表
// 判断模板文件是否存在 // 判断模板文件是否存在
if (!FileUtil.exist(ParserUtil.buildTempletPath(column.getCategoryListUrl()))) { if (!FileUtil.exist(ParserUtil.buildTempletPath(column.getCategoryListUrl()))) {
...@@ -190,7 +191,7 @@ public class GeneraterAction extends BaseAction { ...@@ -190,7 +191,7 @@ public class GeneraterAction extends BaseAction {
CmsParserUtil.generateList(column, articleIdList.size(),htmlDir); CmsParserUtil.generateList(column, articleIdList.size(),htmlDir);
break; break;
case "2":// 单页 case COVER:// 单页
if (articleIdList.size() == 0) { if (articleIdList.size() == 0) {
CategoryBean columnArticleIdBean = new CategoryBean(); CategoryBean columnArticleIdBean = new CategoryBean();
CopyOptions copyOptions = CopyOptions.create(); CopyOptions copyOptions = CopyOptions.create();
...@@ -235,7 +236,7 @@ public class GeneraterAction extends BaseAction { ...@@ -235,7 +236,7 @@ public class GeneraterAction extends BaseAction {
// 生成所有栏目的文章 // 生成所有栏目的文章
if ("0".equals(columnId)) { if ("0".equals(columnId)) {
categoryList = categoryBiz.list(Wrappers.<CategoryEntity>lambdaQuery() categoryList = categoryBiz.list(Wrappers.<CategoryEntity>lambdaQuery()
.isNull(CategoryEntity::getCategoryParentId)); .isNull(CategoryEntity::getCategoryParentIds));
} else { } else {
CategoryEntity category = (CategoryEntity) categoryBiz.getById(columnId); CategoryEntity category = (CategoryEntity) categoryBiz.getById(columnId);
categoryList.add(category); categoryList.add(category);
...@@ -246,13 +247,13 @@ public class GeneraterAction extends BaseAction { ...@@ -246,13 +247,13 @@ public class GeneraterAction extends BaseAction {
//将文章列表标签中的中的参数 //将文章列表标签中的中的参数
articleIdList = contentBiz.queryIdsByCategoryIdForParser(contentBean); articleIdList = contentBiz.queryIdsByCategoryIdForParser(contentBean);
// 分类是列表 // 分类是列表
if (category.getCategoryType().equals("1")) { if (category.getCategoryType().equals(CategoryTypeEnum.LIST.toString())) {
// 判断模板文件是否存在 // 判断模板文件是否存在
if (!FileUtil.exist(ParserUtil.buildTempletPath(category.getCategoryListUrl())) || StringUtils.isEmpty(category.getCategoryListUrl())) { if (!FileUtil.exist(ParserUtil.buildTempletPath(category.getCategoryListUrl())) || StringUtils.isEmpty(category.getCategoryListUrl())) {
LOG.error("模板不存在:{}", category.getCategoryUrl()); LOG.error("模板不存在:{}", category.getCategoryUrl());
continue; continue;
} }
} else if (category.getCategoryType().equals("2")) { } else if (category.getCategoryType().equals(CategoryTypeEnum.COVER.toString())) {
CategoryBean columnArticleIdBean = new CategoryBean(); CategoryBean columnArticleIdBean = new CategoryBean();
CopyOptions copyOptions = CopyOptions.create(); CopyOptions copyOptions = CopyOptions.create();
copyOptions.setIgnoreError(true); copyOptions.setIgnoreError(true);
......
...@@ -21,8 +21,12 @@ ...@@ -21,8 +21,12 @@
package net.mingsoft.cms.action.web; package net.mingsoft.cms.action.web;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Editor;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.PageUtil; import cn.hutool.core.util.PageUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import freemarker.core.ParseException; import freemarker.core.ParseException;
import freemarker.template.MalformedTemplateNameException; import freemarker.template.MalformedTemplateNameException;
import freemarker.template.TemplateException; import freemarker.template.TemplateException;
...@@ -36,6 +40,7 @@ import net.mingsoft.cms.bean.CategoryBean; ...@@ -36,6 +40,7 @@ import net.mingsoft.cms.bean.CategoryBean;
import net.mingsoft.cms.bean.ContentBean; import net.mingsoft.cms.bean.ContentBean;
import net.mingsoft.cms.biz.ICategoryBiz; import net.mingsoft.cms.biz.ICategoryBiz;
import net.mingsoft.cms.biz.IContentBiz; import net.mingsoft.cms.biz.IContentBiz;
import net.mingsoft.cms.constant.e.CategoryTypeEnum;
import net.mingsoft.cms.entity.CategoryEntity; import net.mingsoft.cms.entity.CategoryEntity;
import net.mingsoft.cms.entity.ContentEntity; import net.mingsoft.cms.entity.ContentEntity;
import net.mingsoft.cms.util.CmsParserUtil; import net.mingsoft.cms.util.CmsParserUtil;
...@@ -45,6 +50,7 @@ import net.mingsoft.mdiy.biz.IPageBiz; ...@@ -45,6 +50,7 @@ import net.mingsoft.mdiy.biz.IPageBiz;
import net.mingsoft.mdiy.entity.ModelEntity; import net.mingsoft.mdiy.entity.ModelEntity;
import net.mingsoft.mdiy.util.ParserUtil; import net.mingsoft.mdiy.util.ParserUtil;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.util.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
...@@ -126,7 +132,7 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction { ...@@ -126,7 +132,7 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction {
String content = ""; String content = "";
try { try {
//根据模板路径,参数生成 //根据模板路径,参数生成
content = CmsParserUtil.generate(ParserUtil.INDEX + ParserUtil.HTM_SUFFIX, map,htmlDir); content = CmsParserUtil.generate(ParserUtil.INDEX + ParserUtil.HTM_SUFFIX, map, htmlDir);
} catch (TemplateNotFoundException e) { } catch (TemplateNotFoundException e) {
e.printStackTrace(); e.printStackTrace();
} catch (MalformedTemplateNameException e) { } catch (MalformedTemplateNameException e) {
...@@ -184,7 +190,7 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction { ...@@ -184,7 +190,7 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction {
String content = ""; String content = "";
try { try {
//根据模板路径,参数生成 //根据模板路径,参数生成
content = CmsParserUtil.generate(columnArticles.get(0).getCategoryListUrl(),map,htmlDir); content = CmsParserUtil.generate(columnArticles.get(0).getCategoryListUrl(), map, htmlDir);
} catch (TemplateNotFoundException e) { } catch (TemplateNotFoundException e) {
e.printStackTrace(); e.printStackTrace();
} catch (MalformedTemplateNameException e) { } catch (MalformedTemplateNameException e) {
...@@ -252,8 +258,8 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction { ...@@ -252,8 +258,8 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction {
} }
// 文章的栏目路径 // 文章的栏目路径
String categoryParentId = articleIdList.get(artId).getId(); String categoryParentId = articleIdList.get(artId).getId();
if (StringUtils.isNotBlank(articleIdList.get(artId).getCategoryParentId())) { if (StringUtils.isNotBlank(articleIdList.get(artId).getCategoryParentIds())) {
categoryParentId += ',' + articleIdList.get(artId).getCategoryParentId(); categoryParentId += ',' + articleIdList.get(artId).getCategoryParentIds();
} }
// 文章的栏目模型编号 // 文章的栏目模型编号
Integer columnContentModelId = articleIdList.get(artId).getMdiyModelId(); Integer columnContentModelId = articleIdList.get(artId).getMdiyModelId();
...@@ -286,7 +292,7 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction { ...@@ -286,7 +292,7 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction {
} }
try { try {
//根据模板路径,参数生成 //根据模板路径,参数生成
content = CmsParserUtil.generate(column.getCategoryUrl(), map,htmlDir); content = CmsParserUtil.generate(column.getCategoryUrl(), map, htmlDir);
} catch (TemplateNotFoundException e) { } catch (TemplateNotFoundException e) {
e.printStackTrace(); e.printStackTrace();
} catch (MalformedTemplateNameException e) { } catch (MalformedTemplateNameException e) {
...@@ -311,7 +317,7 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction { ...@@ -311,7 +317,7 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction {
public String search(HttpServletRequest request, HttpServletResponse response) { public String search(HttpServletRequest request, HttpServletResponse response) {
//设置分页类 //设置分页类
PageBean page = new PageBean(); PageBean page = new PageBean();
page.setSize(ParserUtil.getPageSize(SEARCH + ParserUtil.HTM_SUFFIX,20)); page.setSize(ParserUtil.getPageSize(SEARCH + ParserUtil.HTM_SUFFIX, 20));
//参数集合,提供给解析使用 //参数集合,提供给解析使用
Map<String, Object> params = new HashMap<>(); Map<String, Object> params = new HashMap<>();
...@@ -336,15 +342,33 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction { ...@@ -336,15 +342,33 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction {
//获取栏目信息 //获取栏目信息
int typeId = 0; int typeId = 0;
String categoryIds = BasicUtil.getString("categoryIds"); String categoryIds = BasicUtil.getString("categoryIds");
List categoryIdList = CollectionUtil.newArrayList();
//当传递了栏目编号,但不是栏目集合 //当传递了栏目编号,但不是栏目集合
if (StringUtils.isNotBlank(categoryIds) && !categoryIds.contains(",")) { if (StringUtils.isNotBlank(categoryIds) && !categoryIds.contains(",")) {
typeId = Integer.parseInt(categoryIds); typeId = Integer.parseInt(categoryIds);
} else {
//取出所有的子栏目
String[] ids = categoryIds.split(",");
List<CategoryEntity> categoryList = categoryBiz.list(Wrappers.<CategoryEntity>lambdaQuery().ne(CategoryEntity::getCategoryType, CategoryTypeEnum.LINK.toString()));
categoryIdList = CollectionUtil.newArrayList(ids);
for(CategoryEntity c:categoryList) {
if(StringUtils.isNotEmpty(c.getParentids())) {
for(String id:ids) {
if(c.getParentids().indexOf(id)>-1) {
categoryIdList.add(c.getId());
break;
}
}
}
}
} }
//重新组织 ID
categoryIds = StringUtils.join(categoryIdList, ",");
//当前访问的项目地址 //当前访问的项目地址
String url = BasicUtil.getUrl(); String url = BasicUtil.getUrl();
//根据栏目确定自定义模型 //根据栏目确定自定义模型
if (typeId > 0) { if (typeId > 0) {
column = (CategoryEntity) categoryBiz.getEntity(typeId); column = (CategoryEntity) categoryBiz.getEntity(typeId);
...@@ -413,6 +437,7 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction { ...@@ -413,6 +437,7 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction {
Map<String, Object> searchMap = field; Map<String, Object> searchMap = field;
searchMap.put("categoryIds",categoryIds);
StringBuilder urlParams = new StringBuilder(); StringBuilder urlParams = new StringBuilder();
searchMap.forEach((k, v) -> { searchMap.forEach((k, v) -> {
...@@ -488,7 +513,7 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction { ...@@ -488,7 +513,7 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction {
String content = ""; String content = "";
try { try {
//根据模板路径,参数生成 //根据模板路径,参数生成
content = CmsParserUtil.generate(SEARCH + ParserUtil.HTM_SUFFIX, params,htmlDir); content = CmsParserUtil.generate(SEARCH + ParserUtil.HTM_SUFFIX, params, htmlDir);
} catch (TemplateNotFoundException e) { } catch (TemplateNotFoundException e) {
e.printStackTrace(); e.printStackTrace();
} catch (MalformedTemplateNameException e) { } catch (MalformedTemplateNameException e) {
...@@ -549,8 +574,8 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction { ...@@ -549,8 +574,8 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction {
public static void main(String[] args) { public static void main(String[] args) {
int [] a= PageUtil.rainbow(20,30,5); int[] a = PageUtil.rainbow(20, 30, 5);
for(int _a:a) { for (int _a : a) {
System.out.println(_a); System.out.println(_a);
} }
......
...@@ -117,13 +117,13 @@ public class CategoryBizImpl extends BaseBizImpl<ICategoryDao, CategoryEntity> i ...@@ -117,13 +117,13 @@ public class CategoryBizImpl extends BaseBizImpl<ICategoryDao, CategoryEntity> i
if(StringUtils.isNotEmpty(categoryEntity.getCategoryId())&&Long.parseLong(categoryEntity.getCategoryId())>0) { if(StringUtils.isNotEmpty(categoryEntity.getCategoryId())&&Long.parseLong(categoryEntity.getCategoryId())>0) {
CategoryEntity category = (CategoryEntity)getById(categoryEntity.getCategoryId()); CategoryEntity category = (CategoryEntity)getById(categoryEntity.getCategoryId());
path = category.getCategoryPath(); path = category.getCategoryPath();
if(StringUtils.isEmpty(category.getCategoryParentId())) { if(StringUtils.isEmpty(category.getCategoryParentIds())) {
categoryEntity.setCategoryParentId(category.getId()); categoryEntity.setCategoryParentIds(category.getId());
} else { } else {
categoryEntity.setCategoryParentId(category.getCategoryParentId()+","+category.getId()); categoryEntity.setCategoryParentIds(category.getCategoryParentIds()+","+category.getId());
} }
}else { }else {
categoryEntity.setCategoryParentId(null); categoryEntity.setCategoryParentIds(null);
} }
//保存时先保存再修改链接地址,修改时直接修改 //保存时先保存再修改链接地址,修改时直接修改
if(StringUtils.isNotBlank(categoryEntity.getId())) { if(StringUtils.isNotBlank(categoryEntity.getId())) {
...@@ -136,10 +136,10 @@ public class CategoryBizImpl extends BaseBizImpl<ICategoryDao, CategoryEntity> i ...@@ -136,10 +136,10 @@ public class CategoryBizImpl extends BaseBizImpl<ICategoryDao, CategoryEntity> i
category.setCategoryId(categoryEntity.getId()); category.setCategoryId(categoryEntity.getId());
List<CategoryEntity> list = categoryDao.query(category); List<CategoryEntity> list = categoryDao.query(category);
list.forEach(x->{ list.forEach(x->{
if(StringUtils.isEmpty(categoryEntity.getCategoryParentId())) { if(StringUtils.isEmpty(categoryEntity.getCategoryParentIds())) {
x.setCategoryParentId(categoryEntity.getId()); x.setCategoryParentIds(categoryEntity.getId());
} else { } else {
x.setCategoryParentId(categoryEntity.getCategoryParentId()+","+categoryEntity.getId()); x.setCategoryParentIds(categoryEntity.getCategoryParentIds()+","+categoryEntity.getId());
} }
String path=categoryEntity.getCategoryPath(); String path=categoryEntity.getCategoryPath();
//判断是否有parentIds //判断是否有parentIds
...@@ -181,7 +181,7 @@ public class CategoryBizImpl extends BaseBizImpl<ICategoryDao, CategoryEntity> i ...@@ -181,7 +181,7 @@ public class CategoryBizImpl extends BaseBizImpl<ICategoryDao, CategoryEntity> i
CategoryEntity category = (CategoryEntity) categoryDao.selectById(categoryId); CategoryEntity category = (CategoryEntity) categoryDao.selectById(categoryId);
//删除父类 //删除父类
if(category != null){ if(category != null){
category.setCategoryParentId(null); category.setCategoryParentIds(null);
List<CategoryEntity> childrenList = categoryDao.queryChildren(category); List<CategoryEntity> childrenList = categoryDao.queryChildren(category);
List<String> ids = new ArrayList<>(); List<String> ids = new ArrayList<>();
for(int i = 0; i < childrenList.size(); i++){ for(int i = 0; i < childrenList.size(); i++){
...@@ -233,7 +233,7 @@ public class CategoryBizImpl extends BaseBizImpl<ICategoryDao, CategoryEntity> i ...@@ -233,7 +233,7 @@ public class CategoryBizImpl extends BaseBizImpl<ICategoryDao, CategoryEntity> i
* @param entity * @param entity
*/ */
private void setTopId(CategoryEntity entity){ private void setTopId(CategoryEntity entity){
String categoryParentId = entity.getCategoryParentId(); String categoryParentId = entity.getCategoryParentIds();
if(StrUtil.isNotBlank(categoryParentId)){ if(StrUtil.isNotBlank(categoryParentId)){
String[] ids = categoryParentId.split(","); String[] ids = categoryParentId.split(",");
//如果有ParentId就取第一个 //如果有ParentId就取第一个
......
...@@ -30,6 +30,7 @@ import net.mingsoft.basic.holder.DataHolder; ...@@ -30,6 +30,7 @@ import net.mingsoft.basic.holder.DataHolder;
import net.mingsoft.basic.util.BasicUtil; import net.mingsoft.basic.util.BasicUtil;
import net.mingsoft.cms.bean.CategoryBean; import net.mingsoft.cms.bean.CategoryBean;
import net.mingsoft.cms.bean.ContentBean; import net.mingsoft.cms.bean.ContentBean;
import net.mingsoft.cms.constant.e.CategoryTypeEnum;
import net.mingsoft.cms.dao.ICategoryDao; import net.mingsoft.cms.dao.ICategoryDao;
import net.mingsoft.cms.entity.CategoryEntity; import net.mingsoft.cms.entity.CategoryEntity;
import net.mingsoft.cms.entity.ContentEntity; import net.mingsoft.cms.entity.ContentEntity;
...@@ -141,7 +142,7 @@ public class ContentBizImpl extends BaseBizImpl<IContentDao, ContentEntity> imp ...@@ -141,7 +142,7 @@ public class ContentBizImpl extends BaseBizImpl<IContentDao, ContentEntity> imp
for(CategoryEntity category : categoryList){ for(CategoryEntity category : categoryList){
contentBean.setCategoryId(category.getId()); contentBean.setCategoryId(category.getId());
// 分类是列表 // 分类是列表
if(category.getCategoryType().equals("1")){ if(category.getCategoryType().equals(CategoryTypeEnum.LIST.toString())){
// 判断模板文件是否存在 // 判断模板文件是否存在
if (!FileUtil.exist(ParserUtil.buildTempletPath(category.getCategoryListUrl())) || StringUtils.isEmpty(category.getCategoryListUrl())) { if (!FileUtil.exist(ParserUtil.buildTempletPath(category.getCategoryListUrl())) || StringUtils.isEmpty(category.getCategoryListUrl())) {
LOG.error("模板不存在:{}",category.getCategoryUrl()); LOG.error("模板不存在:{}",category.getCategoryUrl());
...@@ -172,7 +173,7 @@ public class ContentBizImpl extends BaseBizImpl<IContentDao, ContentEntity> imp ...@@ -172,7 +173,7 @@ public class ContentBizImpl extends BaseBizImpl<IContentDao, ContentEntity> imp
ContentBean contentBean = new ContentBean(); ContentBean contentBean = new ContentBean();
contentBean.setCategoryId(column.getId()); contentBean.setCategoryId(column.getId());
// 分类是列表 // 分类是列表
if(column.getCategoryType().equals("1")) { if(column.getCategoryType().equals(CategoryTypeEnum.LIST.toString())) {
// 判断模板文件是否存在 // 判断模板文件是否存在
if (!FileUtil.exist(ParserUtil.buildTempletPath(column.getCategoryListUrl()))) { if (!FileUtil.exist(ParserUtil.buildTempletPath(column.getCategoryListUrl()))) {
LOG.error("模板不存在:{}", column.getCategoryUrl()); LOG.error("模板不存在:{}", column.getCategoryUrl());
...@@ -191,12 +192,12 @@ public class ContentBizImpl extends BaseBizImpl<IContentDao, ContentEntity> imp ...@@ -191,12 +192,12 @@ public class ContentBizImpl extends BaseBizImpl<IContentDao, ContentEntity> imp
} }
articleIdList = contentDao.queryIdsByCategoryIdForParser(contentBean); articleIdList = contentDao.queryIdsByCategoryIdForParser(contentBean);
// 判断列表类型 // 判断列表类型
switch (column.getCategoryType()) { switch (CategoryTypeEnum.get(column.getCategoryType())) {
//TODO 暂时先用字符串代替 //TODO 暂时先用字符串代替
case "1": // 列表 case LIST: // 列表
CmsParserUtil.generateList(column, articleIdList.size(),htmlDir); CmsParserUtil.generateList(column, articleIdList.size(),htmlDir);
break; break;
case "2":// 单页 case COVER:// 单页
if(articleIdList.size()==0){ if(articleIdList.size()==0){
CategoryBean columnArticleIdBean=new CategoryBean(); CategoryBean columnArticleIdBean=new CategoryBean();
CopyOptions copyOptions=CopyOptions.create(); CopyOptions copyOptions=CopyOptions.create();
......
/**
* The MIT License (MIT) * Copyright (c) 2020 铭软科技(mingsoft.net)
* 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.constant.e;
import net.mingsoft.base.constant.e.BaseEnum;
/**
* @Author: 铭飞团队
* @Description:
* @Date: Create in 2020/06/23 14:18
*/
public enum CategoryTypeEnum implements BaseEnum {
/**
* 列表
*/
LIST("1"),
/**
* 封面
*/
COVER("2"),
/**
* 链接
*/
LINK("3");
CategoryTypeEnum(String type) {
this.type = type;
}
private String type;
public static CategoryTypeEnum get(String type) {
for (CategoryTypeEnum e : CategoryTypeEnum.values()) {
if (e.type.equals(type)) {
return e;
}
}
return null;
}
@Override
public int toInt() {
return Integer.parseInt(type);
}
@Override
public String toString() {
return type;
}
}
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
<result column="dict_id" property="dictId" /><!--字典对应编号 --> <result column="dict_id" property="dictId" /><!--字典对应编号 -->
<result column="category_flag" property="categoryFlag" /><!--栏目属性 --> <result column="category_flag" property="categoryFlag" /><!--栏目属性 -->
<result column="category_path" property="categoryPath" /><!--栏目路径 --> <result column="category_path" property="categoryPath" /><!--栏目路径 -->
<result column="category_parent_id" property="categoryParentId" /><!--父类型编号 --> <result column="category_parent_ids" property="categoryParentIds" /><!--父类型编号 -->
<result column="create_by" property="createBy" /><!--创建人 --> <result column="create_by" property="createBy" /><!--创建人 -->
<result column="create_date" property="createDate" /><!--创建时间 --> <result column="create_date" property="createDate" /><!--创建时间 -->
<result column="update_by" property="updateBy" /><!--修改人 --> <result column="update_by" property="updateBy" /><!--修改人 -->
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
<if test="dictId != null">dict_id,</if> <if test="dictId != null">dict_id,</if>
<if test="categoryFlag != null">category_flag,</if> <if test="categoryFlag != null">category_flag,</if>
<if test="categoryPath != null and categoryPath != ''">category_path,</if> <if test="categoryPath != null and categoryPath != ''">category_path,</if>
<if test="categoryParentId != null and categoryParentId != ''">category_parent_id,</if> <if test="categoryParentIds != null and categoryParentIds != ''">category_parent_ids,</if>
<if test="createBy &gt; 0">create_by,</if> <if test="createBy &gt; 0">create_by,</if>
<if test="createDate != null">create_date,</if> <if test="createDate != null">create_date,</if>
<if test="updateBy &gt; 0">update_by,</if> <if test="updateBy &gt; 0">update_by,</if>
...@@ -89,7 +89,7 @@ ...@@ -89,7 +89,7 @@
<if test="categoryTitle != null and categoryTitle != ''">category_title=#{categoryTitle},</if> <if test="categoryTitle != null and categoryTitle != ''">category_title=#{categoryTitle},</if>
<if test="categoryPinyin != null and categoryPinyin != ''">category_pinyin=#{categoryPinyin},</if> <if test="categoryPinyin != null and categoryPinyin != ''">category_pinyin=#{categoryPinyin},</if>
category_id=#{categoryId}, category_id=#{categoryId},
category_parent_id=#{categoryParentId}, category_parent_ids=#{categoryParentIds},
<if test="categoryType != null and categoryType != ''">category_type=#{categoryType},</if> <if test="categoryType != null and categoryType != ''">category_type=#{categoryType},</if>
<if test="categorySort != null">category_sort=#{categorySort},</if> <if test="categorySort != null">category_sort=#{categorySort},</if>
<if test="categoryListUrl != null and categoryListUrl != ''">category_list_url=#{categoryListUrl},</if> <if test="categoryListUrl != null and categoryListUrl != ''">category_list_url=#{categoryListUrl},</if>
...@@ -137,7 +137,7 @@ ...@@ -137,7 +137,7 @@
<if test="dictId != null"> and dict_id=#{dictId} </if> <if test="dictId != null"> and dict_id=#{dictId} </if>
<if test="categoryFlag != null and categoryFlag != ''">and category_flag=#{categoryFlag}</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="categoryPath != null and categoryPath != ''">and category_path=#{categoryPath}</if>
<if test="categoryParentId != null and categoryParentId != ''">and category_parent_id=#{categoryParentId}</if> <if test="categoryParentIds != null and categoryParentIds != ''">and category_parent_ids=#{categoryParentIds}</if>
<if test="createBy &gt; 0"> and create_by=#{createBy} </if> <if test="createBy &gt; 0"> and create_by=#{createBy} </if>
<if test="createDate != null"> and create_date=#{createDate} </if> <if test="createDate != null"> and create_date=#{createDate} </if>
<if test="updateBy &gt; 0"> and update_by=#{updateBy} </if> <if test="updateBy &gt; 0"> and update_by=#{updateBy} </if>
...@@ -157,11 +157,11 @@ ...@@ -157,11 +157,11 @@
</if> </if>
and and
( (
<if test="categoryParentId != null and categoryParentId!=''"> <if test="categoryParentIds != null and categoryParentIds!=''">
find_in_set(#{categoryParentId},CATEGORY_PARENT_ID) find_in_set(#{categoryParentIds},CATEGORY_PARENT_IDS)
</if> </if>
<if test="categoryParentId == null or categoryParentId ==''"> <if test="categoryParentIds == null or categoryParentIds ==''">
find_in_set('${id}',CATEGORY_PARENT_ID) find_in_set('${id}',CATEGORY_PARENT_IDS)
</if> </if>
<if test="id != null"> <if test="id != null">
or id=#{id} or id=#{id}
...@@ -209,7 +209,7 @@ ...@@ -209,7 +209,7 @@
<if test="dictId != null"> and dict_id=#{dictId} </if> <if test="dictId != null"> and dict_id=#{dictId} </if>
<if test="categoryFlag != null and categoryFlag != ''"> and category_flag=#{categoryFlag}</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="categoryPath != null and categoryPath != ''"> and category_path=#{categoryPath}</if>
<if test="categoryParentId != null and categoryParentId != ''"> and find_in_set(#{categoryParentId},category_parent_id)</if> <if test="categoryParentIds != null and categoryParentIds != ''"> and find_in_set(#{categoryParentIds},category_parent_ids)</if>
<if test="createBy &gt; 0"> and create_by=#{createBy} </if> <if test="createBy &gt; 0"> and create_by=#{createBy} </if>
<if test="createDate != null"> and create_date=#{createDate} </if> <if test="createDate != null"> and create_date=#{createDate} </if>
<if test="updateBy &gt; 0"> and update_by=#{updateBy} </if> <if test="updateBy &gt; 0"> and update_by=#{updateBy} </if>
......
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
<result column="dict_id" property="dictId" /><!--字典对应编号 --> <result column="dict_id" property="dictId" /><!--字典对应编号 -->
<result column="category_flag" property="categoryFlag" /><!--栏目属性 --> <result column="category_flag" property="categoryFlag" /><!--栏目属性 -->
<result column="category_path" property="categoryPath" /><!--栏目路径 --> <result column="category_path" property="categoryPath" /><!--栏目路径 -->
<result column="category_parent_id" property="categoryParentId" /><!--父类型编号 --> <result column="category_parent_ids" property="categoryParentIds" /><!--父类型编号 -->
<result column="create_by" property="createBy" /><!--创建人 --> <result column="create_by" property="createBy" /><!--创建人 -->
<result column="create_date" property="createDate" /><!--创建时间 --> <result column="create_date" property="createDate" /><!--创建时间 -->
<result column="update_by" property="updateBy" /><!--修改人 --> <result column="update_by" property="updateBy" /><!--修改人 -->
...@@ -219,7 +219,7 @@ ...@@ -219,7 +219,7 @@
ct.del=0 ct.del=0
<if test="contentTitle != null and contentTitle != ''"> and content_title like CONCAT('%',#{contentTitle},'%')</if> <if test="contentTitle != null and contentTitle != ''"> and content_title like CONCAT('%',#{contentTitle},'%')</if>
<if test="categoryId != null and categoryId != ''"> and (ct.category_id=#{categoryId} or ct.category_id in <if test="categoryId != null and categoryId != ''"> and (ct.category_id=#{categoryId} or ct.category_id in
(select id FROM cms_category where find_in_set('${categoryId}',CATEGORY_PARENT_ID)))</if> (select id FROM cms_category where find_in_set('${categoryId}',CATEGORY_PARENT_IDS)))</if>
<if test="contentType != null and contentType != ''"> and content_type LIKE CONCAT('%',#{contentType},'%')</if> <if test="contentType != null and contentType != ''"> and content_type LIKE CONCAT('%',#{contentType},'%')</if>
<if test="contentDisplay != null and contentDisplay != ''"> and content_display=#{contentDisplay}</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="contentAuthor != null and contentAuthor != ''"> and content_author=#{contentAuthor}</if>
...@@ -251,7 +251,7 @@ ...@@ -251,7 +251,7 @@
<!-- 查询子栏目数据 --> <!-- 查询子栏目数据 -->
<if test="categoryId &gt; 0"> <if test="categoryId &gt; 0">
and (ct.category_id=#{categoryId} or ct.category_id in and (ct.category_id=#{categoryId} or ct.category_id in
(select id FROM cms_category where find_in_set('${categoryId}',CATEGORY_PARENT_ID))) (select id FROM cms_category where find_in_set('${categoryId}',CATEGORY_PARENT_IDS)))
</if> </if>
<if test="beginTime!=null and beginTime!=''"> <if test="beginTime!=null and beginTime!=''">
and content_datetime &gt;= #{beginTime} and content_datetime &gt;= #{beginTime}
......
...@@ -14,15 +14,16 @@ import org.springframework.format.annotation.DateTimeFormat; ...@@ -14,15 +14,16 @@ import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date; import java.util.Date;
/** /**
* 分类实体 * 分类实体
* @author 铭飞开发团队 *
* 创建日期:2019-11-28 15:12:32<br/> * @author 铭飞开发团队
* 历史修订:<br/> * 创建日期:2019-11-28 15:12:32<br/>
*/ * 历史修订:<br/>
*/
@TableName("cms_category") @TableName("cms_category")
public class CategoryEntity extends BaseEntity { public class CategoryEntity extends BaseEntity {
private static final long serialVersionUID = 1574925152750L; private static final long serialVersionUID = 1574925152750L;
/** /**
* 栏目管理名称 * 栏目管理名称
...@@ -78,7 +79,7 @@ private static final long serialVersionUID = 1574925152750L; ...@@ -78,7 +79,7 @@ private static final long serialVersionUID = 1574925152750L;
*/ */
@JSONField(format = "yyyy-MM-dd HH:mm:ss") @JSONField(format = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "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") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date categoryDatetime; private Date categoryDatetime;
/** /**
...@@ -96,7 +97,7 @@ private static final long serialVersionUID = 1574925152750L; ...@@ -96,7 +97,7 @@ private static final long serialVersionUID = 1574925152750L;
/** /**
* 父类型编号 * 父类型编号
*/ */
private String categoryParentId; private String categoryParentIds;
/** /**
* 叶子节点 * 叶子节点
...@@ -137,6 +138,7 @@ private static final long serialVersionUID = 1574925152750L; ...@@ -137,6 +138,7 @@ private static final long serialVersionUID = 1574925152750L;
public String getCategoryTitle() { public String getCategoryTitle() {
return this.categoryTitle; return this.categoryTitle;
} }
/** /**
* 设置所属栏目 * 设置所属栏目
*/ */
...@@ -158,6 +160,7 @@ private static final long serialVersionUID = 1574925152750L; ...@@ -158,6 +160,7 @@ private static final long serialVersionUID = 1574925152750L;
public String getCategoryId() { public String getCategoryId() {
return this.categoryId; return this.categoryId;
} }
/** /**
* 设置栏目管理属性 * 设置栏目管理属性
*/ */
...@@ -171,6 +174,7 @@ private static final long serialVersionUID = 1574925152750L; ...@@ -171,6 +174,7 @@ private static final long serialVersionUID = 1574925152750L;
public String getCategoryType() { public String getCategoryType() {
return this.categoryType; return this.categoryType;
} }
/** /**
* 设置自定义顺序 * 设置自定义顺序
*/ */
...@@ -184,6 +188,7 @@ private static final long serialVersionUID = 1574925152750L; ...@@ -184,6 +188,7 @@ private static final long serialVersionUID = 1574925152750L;
public Integer getCategorySort() { public Integer getCategorySort() {
return this.categorySort; return this.categorySort;
} }
/** /**
* 设置列表模板 * 设置列表模板
*/ */
...@@ -197,6 +202,7 @@ private static final long serialVersionUID = 1574925152750L; ...@@ -197,6 +202,7 @@ private static final long serialVersionUID = 1574925152750L;
public String getCategoryListUrl() { public String getCategoryListUrl() {
return this.categoryListUrl; return this.categoryListUrl;
} }
/** /**
* 设置内容模板 * 设置内容模板
*/ */
...@@ -210,6 +216,7 @@ private static final long serialVersionUID = 1574925152750L; ...@@ -210,6 +216,7 @@ private static final long serialVersionUID = 1574925152750L;
public String getCategoryUrl() { public String getCategoryUrl() {
return this.categoryUrl; return this.categoryUrl;
} }
/** /**
* 设置栏目管理关键字 * 设置栏目管理关键字
*/ */
...@@ -223,6 +230,7 @@ private static final long serialVersionUID = 1574925152750L; ...@@ -223,6 +230,7 @@ private static final long serialVersionUID = 1574925152750L;
public String getCategoryKeyword() { public String getCategoryKeyword() {
return this.categoryKeyword; return this.categoryKeyword;
} }
/** /**
* 设置栏目管理描述 * 设置栏目管理描述
*/ */
...@@ -236,6 +244,7 @@ private static final long serialVersionUID = 1574925152750L; ...@@ -236,6 +244,7 @@ private static final long serialVersionUID = 1574925152750L;
public String getCategoryDescrip() { public String getCategoryDescrip() {
return this.categoryDescrip; return this.categoryDescrip;
} }
/** /**
* 设置缩略图 * 设置缩略图
*/ */
...@@ -249,6 +258,7 @@ private static final long serialVersionUID = 1574925152750L; ...@@ -249,6 +258,7 @@ private static final long serialVersionUID = 1574925152750L;
public String getCategoryImg() { public String getCategoryImg() {
return this.categoryImg; return this.categoryImg;
} }
/** /**
* 设置自定义链接 * 设置自定义链接
*/ */
...@@ -298,6 +308,7 @@ private static final long serialVersionUID = 1574925152750L; ...@@ -298,6 +308,7 @@ private static final long serialVersionUID = 1574925152750L;
public Integer getDictId() { public Integer getDictId() {
return this.dictId; return this.dictId;
} }
/** /**
* 设置栏目属性 * 设置栏目属性
*/ */
...@@ -311,6 +322,7 @@ private static final long serialVersionUID = 1574925152750L; ...@@ -311,6 +322,7 @@ private static final long serialVersionUID = 1574925152750L;
public String getCategoryFlag() { public String getCategoryFlag() {
return this.categoryFlag; return this.categoryFlag;
} }
/** /**
* 设置栏目路径 * 设置栏目路径
*/ */
...@@ -324,18 +336,19 @@ private static final long serialVersionUID = 1574925152750L; ...@@ -324,18 +336,19 @@ private static final long serialVersionUID = 1574925152750L;
public String getCategoryPath() { public String getCategoryPath() {
return this.categoryPath; return this.categoryPath;
} }
/** /**
* 设置父类型编号 * 设置父类型编号
*/ */
public void setCategoryParentId(String categoryParentId) { public void setCategoryParentIds(String categoryParentIds) {
this.categoryParentId = categoryParentId; this.categoryParentIds = categoryParentIds;
} }
/** /**
* 获取父类型编号 * 获取父类型编号
*/ */
public String getCategoryParentId() { public String getCategoryParentIds() {
return this.categoryParentId; return this.categoryParentIds;
} }
/** /**
...@@ -344,12 +357,14 @@ private static final long serialVersionUID = 1574925152750L; ...@@ -344,12 +357,14 @@ private static final long serialVersionUID = 1574925152750L;
public String getTypetitle() { public String getTypetitle() {
return this.categoryTitle; return this.categoryTitle;
} }
/** /**
* 获取栏目链接 (标签使用,动态链接不考虑) * 获取栏目链接 (标签使用,动态链接不考虑)
*/ */
public String getTypelink() { public String getTypelink() {
return "3".equals(this.categoryType)?this.categoryDiyUrl:this.categoryPath+"/index.html"; return "3".equals(this.categoryType) ? this.categoryDiyUrl : this.categoryPath + "/index.html";
} }
/** /**
* 获取栏目关键字 (标签使用) * 获取栏目关键字 (标签使用)
*/ */
...@@ -363,30 +378,35 @@ private static final long serialVersionUID = 1574925152750L; ...@@ -363,30 +378,35 @@ private static final long serialVersionUID = 1574925152750L;
public String getTypeurl() { public String getTypeurl() {
return this.categoryDiyUrl; return this.categoryDiyUrl;
} }
/** /**
* 获取栏目属性 (标签使用) * 获取栏目属性 (标签使用)
*/ */
public String getFlag() { public String getFlag() {
return this.categoryFlag; return this.categoryFlag;
} }
/** /**
* 获取栏目父级Id (标签使用) * 获取栏目父级Id (标签使用)
*/ */
public String getParentid() { public String getParentids() {
return this.categoryParentId; return this.categoryParentIds;
} }
/** /**
* 获取栏目描述(标签使用) * 获取栏目描述(标签使用)
*/ */
public String getTypedescrip() { public String getTypedescrip() {
return this.categoryDescrip; return this.categoryDescrip;
} }
/** /**
* 获取栏目Id(标签使用) * 获取栏目Id(标签使用)
*/ */
public String getTypeid() { public String getTypeid() {
return this.id; return this.id;
} }
/** /**
* 获取栏目图片 (标签使用) * 获取栏目图片 (标签使用)
*/ */
......
...@@ -30,7 +30,7 @@ public class Upgrade { ...@@ -30,7 +30,7 @@ public class Upgrade {
//将parentId第一行设为顶级节点 //将parentId第一行设为顶级节点
String topId = "0"; String topId = "0";
String parentId = x.getParentid(); String parentId = x.getParentids();
if (parentId != null) { if (parentId != null) {
topId = parentId.split(",")[0]; topId = parentId.split(",")[0];
} }
...@@ -40,7 +40,7 @@ public class Upgrade { ...@@ -40,7 +40,7 @@ public class Upgrade {
boolean leaf = true; boolean leaf = true;
//判断是否叶子,循环查找,如果有节点的父节点中包含该节点的id则判断为否跳出循环 //判断是否叶子,循环查找,如果有节点的父节点中包含该节点的id则判断为否跳出循环
for (int i = 0; i< list.size(); i++) { for (int i = 0; i< list.size(); i++) {
String pId = list.get(i).getParentid(); String pId = list.get(i).getParentids();
if (pId == null) { if (pId == null) {
continue; continue;
} }
......
...@@ -10,6 +10,7 @@ import net.mingsoft.base.constant.Const; ...@@ -10,6 +10,7 @@ import net.mingsoft.base.constant.Const;
import net.mingsoft.basic.util.BasicUtil; import net.mingsoft.basic.util.BasicUtil;
import net.mingsoft.basic.util.SpringUtil; import net.mingsoft.basic.util.SpringUtil;
import net.mingsoft.cms.bean.CategoryBean; import net.mingsoft.cms.bean.CategoryBean;
import net.mingsoft.cms.constant.e.CategoryTypeEnum;
import net.mingsoft.cms.entity.CategoryEntity; import net.mingsoft.cms.entity.CategoryEntity;
import net.mingsoft.mdiy.bean.PageBean; import net.mingsoft.mdiy.bean.PageBean;
import net.mingsoft.mdiy.biz.IModelBiz; import net.mingsoft.mdiy.biz.IModelBiz;
...@@ -31,34 +32,30 @@ import java.util.concurrent.ExecutorService; ...@@ -31,34 +32,30 @@ import java.util.concurrent.ExecutorService;
* 文章解析工具类 * 文章解析工具类
*/ */
public class CmsParserUtil extends ParserUtil { public class CmsParserUtil extends ParserUtil {
/**
* 封面
*/
private static int COLUMN_TYPE_COVER = 2;
private final static String FIELD="field";
private final static String FIELD = "field";
/** /**
* 指定模板,指定路径进行生成静态页面,会自定识别pc与移动端 * 指定模板,指定路径进行生成静态页面,会自定识别pc与移动端
* *
* @param templatePath * @param templatePath 模板路径
* 模板路径 * @param targetPath 生成后的路径,默认生成的html文件,所以不能带.html后缀,
* @param targetPath
* 生成后的路径,默认生成的html文件,所以不能带.html后缀,
* @throws IOException * @throws IOException
*/ */
public static void generate(String templatePath, String targetPath,String htmlDir) throws IOException { public static void generate(String templatePath, String targetPath, String htmlDir) throws IOException {
Map<String, Object> map = new HashMap<String, Object>(); Map<String, Object> map = new HashMap<String, Object>();
map.put(IS_DO, false); map.put(IS_DO, false);
CategoryEntity column = new CategoryEntity(); CategoryEntity column = new CategoryEntity();
//内容管理栏目编码 //内容管理栏目编码
map.put(COLUMN, column); map.put(COLUMN, column);
String content = CmsParserUtil.generate(templatePath, map,htmlDir); String content = CmsParserUtil.generate(templatePath, map, htmlDir);
FileUtil.writeString(content, ParserUtil.buildHtmlPath(targetPath,htmlDir), Const.UTF8); FileUtil.writeString(content, ParserUtil.buildHtmlPath(targetPath, htmlDir), Const.UTF8);
} }
/** /**
* 生成静态列表页 * 生成静态列表页
*
* @param column * @param column
* @param articleIdTotal * @param articleIdTotal
* @throws TemplateNotFoundException * @throws TemplateNotFoundException
...@@ -66,14 +63,14 @@ public class CmsParserUtil extends ParserUtil { ...@@ -66,14 +63,14 @@ public class CmsParserUtil extends ParserUtil {
* @throws ParseException * @throws ParseException
* @throws IOException * @throws IOException
*/ */
public static void generateList(CategoryEntity column, int articleIdTotal,String htmlDir) public static void generateList(CategoryEntity column, int articleIdTotal, String htmlDir)
throws TemplateNotFoundException, MalformedTemplateNameException, ParseException, IOException { throws TemplateNotFoundException, MalformedTemplateNameException, ParseException, IOException {
try{ try {
// 文章的栏目模型编号 // 文章的栏目模型编号
PageBean page = new PageBean(); PageBean page = new PageBean();
//获取列表中的size //获取列表中的size
page.setSize(ParserUtil.getPageSize(column.getCategoryListUrl(),20)); page.setSize(ParserUtil.getPageSize(column.getCategoryListUrl(), 20));
page.setRcount(articleIdTotal); page.setRcount(articleIdTotal);
int totalPageSize = PageUtil.totalPage(articleIdTotal, page.getSize()); int totalPageSize = PageUtil.totalPage(articleIdTotal, page.getSize());
...@@ -105,15 +102,15 @@ public class CmsParserUtil extends ParserUtil { ...@@ -105,15 +102,15 @@ public class CmsParserUtil extends ParserUtil {
parserParams.put(FIELD, column); parserParams.put(FIELD, column);
parserParams.put(IS_DO, false); parserParams.put(IS_DO, false);
parserParams.put(HTML, htmlDir); parserParams.put(HTML, htmlDir);
if(BasicUtil.getWebsiteApp() != null){ if (BasicUtil.getWebsiteApp() != null) {
parserParams.put(APP_DIR, BasicUtil.getWebsiteApp().getAppDir()); parserParams.put(APP_DIR, BasicUtil.getWebsiteApp().getAppDir());
} }
if (contentModel!=null) { if (contentModel != null) {
// 将自定义模型编号设置为key值 // 将自定义模型编号设置为key值
parserParams.put(TABLE_NAME, contentModel.getModelTableName()); parserParams.put(TABLE_NAME, contentModel.getModelTableName());
} }
//如果单站点,就废弃站点地址 //如果单站点,就废弃站点地址
if(ParserUtil.IS_SINGLE) { if (ParserUtil.IS_SINGLE) {
parserParams.put(ParserUtil.URL, BasicUtil.getUrl()); parserParams.put(ParserUtil.URL, BasicUtil.getUrl());
} }
...@@ -121,7 +118,7 @@ public class CmsParserUtil extends ParserUtil { ...@@ -121,7 +118,7 @@ public class CmsParserUtil extends ParserUtil {
//文章列表页没有写文章列表标签,总数为0 //文章列表页没有写文章列表标签,总数为0
if (totalPageSize <= 0) { if (totalPageSize <= 0) {
// 数据库中第一页是从开始0*size // 数据库中第一页是从开始0*size
columnListPath = ParserUtil.buildHtmlPath(column.getCategoryPath() + File.separator + ParserUtil.INDEX,htmlDir); columnListPath = ParserUtil.buildHtmlPath(column.getCategoryPath() + File.separator + ParserUtil.INDEX, htmlDir);
// 设置分页的起始位置 // 设置分页的起始位置
page.setPageNo(pageNo); page.setPageNo(pageNo);
String read = ParserUtil.rendering(File.separator + column.getCategoryListUrl(), parserParams); String read = ParserUtil.rendering(File.separator + column.getCategoryListUrl(), parserParams);
...@@ -134,11 +131,11 @@ public class CmsParserUtil extends ParserUtil { ...@@ -134,11 +131,11 @@ public class CmsParserUtil extends ParserUtil {
// 数据库中第一页是从开始0*size // 数据库中第一页是从开始0*size
// 首页路径index.html // 首页路径index.html
columnListPath = ParserUtil columnListPath = ParserUtil
.buildHtmlPath(column.getCategoryPath() + File.separator + ParserUtil.INDEX,htmlDir); .buildHtmlPath(column.getCategoryPath() + File.separator + ParserUtil.INDEX, htmlDir);
} else { } else {
// 其他路径list-2.html // 其他路径list-2.html
columnListPath = ParserUtil columnListPath = ParserUtil
.buildHtmlPath(column.getCategoryPath() + File.separator + ParserUtil.PAGE_LIST + pageNo,htmlDir); .buildHtmlPath(column.getCategoryPath() + File.separator + ParserUtil.PAGE_LIST + pageNo, htmlDir);
} }
// 设置分页的起始位置 // 设置分页的起始位置
page.setPageNo(pageNo); page.setPageNo(pageNo);
...@@ -147,7 +144,7 @@ public class CmsParserUtil extends ParserUtil { ...@@ -147,7 +144,7 @@ public class CmsParserUtil extends ParserUtil {
pageNo++; pageNo++;
} }
} }
}catch (Exception e){ } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
...@@ -155,44 +152,43 @@ public class CmsParserUtil extends ParserUtil { ...@@ -155,44 +152,43 @@ public class CmsParserUtil extends ParserUtil {
/** /**
* 生成内容 * 生成内容
* *
* @param articleIdList * @param articleIdList 文章集合
* 文章集合
* @return * @return
* @throws IOException * @throws IOException
* @throws ParseException * @throws ParseException
* @throws MalformedTemplateNameException * @throws MalformedTemplateNameException
* @throws TemplateNotFoundException * @throws TemplateNotFoundException
*/ */
public static void generateBasic(List<CategoryBean> articleIdList,String htmlDir) { public static void generateBasic(List<CategoryBean> articleIdList, String htmlDir) {
Map<Object, Object> contentModelMap = new HashMap<Object, Object>(); Map<Object, Object> contentModelMap = new HashMap<Object, Object>();
ModelEntity contentModel = null; ModelEntity contentModel = null;
// 记录已经生成了文章编号 // 记录已经生成了文章编号
List<String> generateIds = new ArrayList<>(); List<String> generateIds = new ArrayList<>();
ExecutorService pool= SpringUtil.getBean(ExecutorService.class); ExecutorService pool = SpringUtil.getBean(ExecutorService.class);
// 生成文章 // 生成文章
for (int artId = 0; artId < articleIdList.size();) { for (int artId = 0; artId < articleIdList.size(); ) {
CategoryBean categoryBean = articleIdList.get(artId);
String writePath = null; String writePath = null;
//设置分页类 //设置分页类
PageBean page = new PageBean(); PageBean page = new PageBean();
// 文章编号 // 文章编号
String articleId = articleIdList.get(artId).getArticleId(); String articleId = categoryBean.getArticleId();
// 文章的栏目路径 // 文章的栏目路径
String articleColumnPath = articleIdList.get(artId).getCategoryPath(); String articleColumnPath = categoryBean.getCategoryPath();
// 该文章相关分类 // 该文章相关分类
String categoryParentId = articleIdList.get(artId).getId() ; String categoryParentId = categoryBean.getId();
if(StringUtils.isNotBlank(articleIdList.get(artId).getCategoryParentId())){ if (StringUtils.isNotBlank(categoryBean.getCategoryParentIds())) {
categoryParentId += ','+articleIdList.get(artId).getCategoryParentId(); categoryParentId += ',' + categoryBean.getCategoryParentIds();
} }
// 文章的模板路径 // 文章的模板路径
String columnUrl = articleIdList.get(artId).getCategoryUrl(); String columnUrl = categoryBean.getCategoryUrl();
// 文章的栏目模型编号 // 文章的栏目模型编号
Integer columnContentModelId = null; Integer columnContentModelId = null;
if(articleIdList.get(artId).getMdiyModelId() != null && articleIdList.get(artId).getMdiyModelId() > 0){ if (articleIdList.get(artId).getMdiyModelId() != null && categoryBean.getMdiyModelId() > 0) {
columnContentModelId = articleIdList.get(artId).getMdiyModelId(); columnContentModelId = categoryBean.getMdiyModelId();
} }
// 文章是否已经生成了,生成了就跳过 // 文章是否已经生成了,生成了就跳过
...@@ -202,22 +198,22 @@ public class CmsParserUtil extends ParserUtil { ...@@ -202,22 +198,22 @@ public class CmsParserUtil extends ParserUtil {
} }
// 判断文件是否存在,若不存在弹出返回信息 // 判断文件是否存在,若不存在弹出返回信息
if (!FileUtil.exist(ParserUtil.buildTempletPath(columnUrl))||articleIdList.get(artId).getId()==null||articleIdList.get(artId).getCategoryType()==null) { if (!FileUtil.exist(ParserUtil.buildTempletPath(columnUrl)) || categoryBean.getId() == null || categoryBean.getCategoryType() == null) {
artId++; artId++;
continue; continue;
} }
// 将 // 将
generateIds.add(articleId); generateIds.add(articleId);
//如果是封面就生成index.html //如果是封面就生成index.html
if(Integer.parseInt(articleIdList.get(artId).getCategoryType()) == COLUMN_TYPE_COVER) { if (categoryBean.getCategoryType().equals(CategoryTypeEnum.COVER.toString())) {
writePath = ParserUtil.buildHtmlPath(articleColumnPath + File.separator + ParserUtil.INDEX,htmlDir); writePath = ParserUtil.buildHtmlPath(articleColumnPath + File.separator + ParserUtil.INDEX, htmlDir);
} else { } else {
// 组合文章路径如:html/站点id/栏目id/文章id.html // 组合文章路径如:html/站点id/栏目id/文章id.html
writePath = ParserUtil.buildHtmlPath(articleColumnPath + File.separator + articleId,htmlDir); writePath = ParserUtil.buildHtmlPath(articleColumnPath + File.separator + articleId, htmlDir);
} }
Map<String, Object> parserParams = new HashMap<String, Object>(); Map<String, Object> parserParams = new HashMap<String, Object>();
parserParams.put(ParserUtil.COLUMN, articleIdList.get(artId)); parserParams.put(ParserUtil.COLUMN, categoryBean);
// 判断当前栏目是否有自定义模型 // 判断当前栏目是否有自定义模型
if (columnContentModelId != null) { if (columnContentModelId != null) {
// 通过当前栏目的模型编号获取,自定义模型表名 // 通过当前栏目的模型编号获取,自定义模型表名
...@@ -261,7 +257,7 @@ public class CmsParserUtil extends ParserUtil { ...@@ -261,7 +257,7 @@ public class CmsParserUtil extends ParserUtil {
String content = null; String content = null;
try { try {
SpringUtil.setRequest(request); SpringUtil.setRequest(request);
content = CmsParserUtil.generate(columnUrl, cloneMap,htmlDir); content = CmsParserUtil.generate(columnUrl, cloneMap, htmlDir);
FileUtil.writeString(content, finalWritePath, Const.UTF8); FileUtil.writeString(content, finalWritePath, Const.UTF8);
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
......
...@@ -12,6 +12,8 @@ logging: ...@@ -12,6 +12,8 @@ logging:
name: mcms.log #会在项目的根目录下生成对应的mcms.log文件,也可以根据实际情况写绝对路径,例如:d:/mcms.log name: mcms.log #会在项目的根目录下生成对应的mcms.log文件,也可以根据实际情况写绝对路径,例如:d:/mcms.log
path: log #会在项目的根目录下生成log目录,里面会生成对应的日期目录,日期目录下面生成日志压缩包备份文件,默认按每10M分割一个日志文件,例如:log/2020-01/app-2020-01-03-18.1.log.gz(表示2020年1月3号下午六点的第一个备份),也可以根据实际情况写绝对路径,例如:d:/log path: log #会在项目的根目录下生成log目录,里面会生成对应的日期目录,日期目录下面生成日志压缩包备份文件,默认按每10M分割一个日志文件,例如:log/2020-01/app-2020-01-03-18.1.log.gz(表示2020年1月3号下午六点的第一个备份),也可以根据实际情况写绝对路径,例如:d:/log
ms: ms:
diy:
html-dir: html
mstore: mstore:
http: http://store.i.mingsoft.net/ http: http://store.i.mingsoft.net/
host: store.i.mingsoft.net host: store.i.mingsoft.net
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment