Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/java/net/mingsoft/cms/util/CmsParserUtil.java
This commit is contained in:
sgjj 2020-08-28 15:31:17 +08:00
commit c68b5d25c2
10 changed files with 101 additions and 48 deletions

View File

@ -27,7 +27,7 @@ import cn.hutool.core.io.FileUtil;
import net.mingsoft.basic.biz.IModelBiz;
import net.mingsoft.basic.entity.AppEntity;
import net.mingsoft.basic.util.BasicUtil;
import net.mingsoft.cms.bean.ContentBean;
import net.mingsoft.cms.bean.CategoryBean;
import net.mingsoft.cms.biz.ICategoryBiz;
import net.mingsoft.cms.biz.IContentBiz;
import net.mingsoft.cms.entity.CategoryEntity;
@ -163,7 +163,7 @@ public class GeneraterAction extends BaseAction {
categoryEntity.setAppId(app.getAppId());
columns = categoryBiz.query(categoryEntity);
}
List<ContentBean> articleIdList = null;
List<CategoryBean> articleIdList = null;
try {
// 1设置模板文件夹路径
// 获取栏目列表模版
@ -182,7 +182,7 @@ public class GeneraterAction extends BaseAction {
break;
case "2":// 单页
if(articleIdList.size()==0){
ContentBean columnArticleIdBean=new ContentBean();
CategoryBean columnArticleIdBean=new CategoryBean();
CopyOptions copyOptions=CopyOptions.create();
copyOptions.setIgnoreError(true);
BeanUtil.copyProperties(column,columnArticleIdBean,copyOptions);
@ -212,7 +212,7 @@ public class GeneraterAction extends BaseAction {
public void generateArticle(HttpServletRequest request, HttpServletResponse response, @PathVariable String columnId) {
String dateTime = request.getParameter("dateTime");
// 网站风格物理路径
List<ContentBean> articleIdList = null;
List<CategoryBean> articleIdList = null;
// 查出所有文章根据选择栏目包括子栏目
articleIdList = contentBiz.queryIdsByCategoryIdForParser(columnId, dateTime, null);
// 有符合条件的新闻就更新

View File

@ -29,7 +29,7 @@ import freemarker.template.TemplateNotFoundException;
import net.mingsoft.base.constant.Const;
import net.mingsoft.basic.util.BasicUtil;
import net.mingsoft.basic.util.StringUtil;
import net.mingsoft.cms.bean.ContentBean;
import net.mingsoft.cms.bean.CategoryBean;
import net.mingsoft.cms.biz.ICategoryBiz;
import net.mingsoft.cms.biz.IContentBiz;
import net.mingsoft.cms.entity.CategoryEntity;
@ -143,7 +143,7 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction {
int size = BasicUtil.getInt(ParserUtil.SIZE,10);
//获取文章总数
List<ContentBean> columnArticles = contentBiz.queryIdsByCategoryIdForParser(String.valueOf(typeId), null, null);
List<CategoryBean> columnArticles = contentBiz.queryIdsByCategoryIdForParser(String.valueOf(typeId), null, null);
//判断栏目下是否有文章
if(columnArticles.size()==0){
this.outJson(resp, false);
@ -220,7 +220,7 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction {
map.put(ParserUtil.URL, BasicUtil.getUrl());
map.put(ParserUtil.PAGE, page);
map.put(ParserUtil.ID, article.getId());
List<ContentBean> articleIdList = contentBiz.queryIdsByCategoryIdForParser(column.getCategoryId(), null, null,orderby,order);
List<CategoryBean> articleIdList = contentBiz.queryIdsByCategoryIdForParser(column.getCategoryId(), null, null,orderby,order);
Map<Object, Object> contentModelMap = new HashMap<Object, Object>();
ModelEntity contentModel = null;
for (int artId = 0; artId < articleIdList.size();) {
@ -250,7 +250,7 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction {
}
// 第一篇文章没有上一篇
if (artId > 0) {
ContentBean preCaBean = articleIdList.get(artId - 1);
CategoryBean preCaBean = articleIdList.get(artId - 1);
//判断当前文档是否与上一页文章在同一栏目下并且不能使用父栏目字符串因为父栏目中没有所属栏目编号
if(articleColumnPath.contains(preCaBean.getCategoryId()+"")){
page.setPreId(preCaBean.getArticleId());
@ -258,7 +258,7 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction {
}
// 最后一篇文章没有下一篇
if (artId + 1 < articleIdList.size()) {
ContentBean nextCaBean = articleIdList.get(artId + 1);
CategoryBean nextCaBean = articleIdList.get(artId + 1);
//判断当前文档是否与下一页文章在同一栏目下并且不能使用父栏目字符串因为父栏目中没有所属栏目编号
if(articleColumnPath.contains(nextCaBean.getCategoryId()+"")){
page.setNextId(nextCaBean.getArticleId());

View File

@ -0,0 +1,28 @@
package net.mingsoft.cms.bean;
import net.mingsoft.cms.entity.CategoryEntity;
/**
* 文章实体
* @author 铭飞开发团队
* 创建日期2019-11-28 15:12:32<br/>
* 历史修订<br/>
*/
public class CategoryBean extends CategoryEntity {
/**
* 文章编号
*/
private int articleId;
public int getArticleId() {
return articleId;
}
public void setArticleId(int articleId) {
this.articleId = articleId;
}
}

View File

@ -1,25 +1,23 @@
package net.mingsoft.cms.bean;
import net.mingsoft.cms.entity.CategoryEntity;
import net.mingsoft.cms.entity.ContentEntity;
/**
* 文章实体
* @author 铭飞开发团队
* 创建日期2019-11-28 15:12:32<br/>
* 历史修订<br/>
*/
public class ContentBean extends CategoryEntity {
* 文章实体bean
*/
public class ContentBean extends ContentEntity {
/**
* 文章编号
*/
private int articleId;
/**
* 静态化地址
*/
private String staticUrl;
public int getArticleId() {
return articleId;
}
public void setArticleId(int articleId) {
this.articleId = articleId;
}
public String getStaticUrl() {
return staticUrl;
}
public void setStaticUrl(String staticUrl) {
this.staticUrl = staticUrl;
}
}

View File

@ -1,7 +1,7 @@
package net.mingsoft.cms.biz;
import net.mingsoft.base.biz.IBaseBiz;
import net.mingsoft.cms.bean.ContentBean;
import net.mingsoft.cms.bean.CategoryBean;
import net.mingsoft.mdiy.entity.ModelEntity;
import java.util.List;
@ -16,9 +16,9 @@ import java.util.Map;
*/
public interface IContentBiz extends IBaseBiz {
List<ContentBean> queryIdsByCategoryIdForParser(String categoryId, String beginTime, String endTime);
List<CategoryBean> queryIdsByCategoryIdForParser(String categoryId, String beginTime, String endTime);
List<ContentBean> queryIdsByCategoryIdForParser(String categoryId, String beginTime, String endTime, String orderBy, String order);
List<CategoryBean> queryIdsByCategoryIdForParser(String categoryId, String beginTime, String endTime, String orderBy, String order);
int getSearchCount(ModelEntity contentModel, List diyList, Map whereMap, int appId, String categoryIds);
}

View File

@ -22,14 +22,14 @@ The MIT License (MIT) * Copyright (c) 2019 铭飞科技
package net.mingsoft.cms.biz.impl;
import net.mingsoft.basic.util.BasicUtil;
import net.mingsoft.cms.bean.ContentBean;
import net.mingsoft.cms.bean.CategoryBean;
import net.mingsoft.mdiy.entity.ModelEntity;
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;
@ -54,11 +54,11 @@ public class ContentBizImpl extends BaseBizImpl implements IContentBiz {
}
@Override
public List<ContentBean> queryIdsByCategoryIdForParser(String categoryId, String beginTime, String endTime) {
public List<CategoryBean> queryIdsByCategoryIdForParser(String categoryId, String beginTime, String endTime) {
return this.contentDao.queryIdsByCategoryIdForParser(categoryId,BasicUtil.getAppId(), beginTime, endTime,null,null);
}
@Override
public List<ContentBean> queryIdsByCategoryIdForParser(String categoryId, String beginTime, String endTime, String orderBy, String order) {
public List<CategoryBean> queryIdsByCategoryIdForParser(String categoryId, String beginTime, String endTime, String orderBy, String order) {
return this.contentDao.queryIdsByCategoryIdForParser(categoryId, BasicUtil.getAppId(), beginTime, endTime,orderBy,order);
}

View File

@ -3,7 +3,7 @@ package net.mingsoft.cms.dao;
import net.mingsoft.base.dao.IBaseDao;
import java.util.*;
import net.mingsoft.cms.bean.ContentBean;
import net.mingsoft.cms.bean.CategoryBean;
import org.apache.ibatis.annotations.Param;
/**
@ -22,7 +22,7 @@ public interface IContentDao extends IBaseDao {
* @param endTime 结束时间
* @return
*/
public List<ContentBean> queryIdsByCategoryIdForParser(@Param("categoryId")String categoryId, @Param("appId")int appId , @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("orderBy")String orderBy, @Param("order")String order);
public List<CategoryBean> queryIdsByCategoryIdForParser(@Param("categoryId")String categoryId, @Param("appId")int appId , @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("orderBy")String orderBy, @Param("order")String order);
/**
* 根据查询文章实体总数

View File

@ -26,7 +26,32 @@
<result column="del" property="del" /><!--删除标记 -->
</resultMap>
<resultMap id="resultBean" type="net.mingsoft.cms.bean.ContentBean">
<resultMap id="resultContentMap" type="net.mingsoft.cms.bean.ContentBean">
<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="static_url" property="staticUrl" /><!--静态地址 -->
<result column="content_hit" property="contentHit" /><!--点击次数 -->
<result column="app_id" 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>
<resultMap id="resultBean" type="net.mingsoft.cms.bean.CategoryBean">
<id column="id" property="id" /><!--编号 -->
<id column="article_Id" property="articleId" /><!--编号 -->
<result column="category_title" property="categoryTitle" /><!--栏目管理名称 -->
@ -184,8 +209,9 @@
select * from cms_content order by id desc
</select>
<!--条件查询-->
<select id="query" resultMap="resultMap">
select ct.* from cms_content ct join cms_category cc on ct.content_category_id=cc.id
<select id="query" resultMap="resultContentMap">
select ct.*,CONCAT("/html/",ct.app_id,cc.category_path,"/",ct.id,".html") AS static_url
from cms_content ct join cms_category cc on ct.content_category_id=cc.id
<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>

View File

@ -3,15 +3,13 @@ package net.mingsoft.cms.util;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.PageUtil;
import freemarker.cache.FileTemplateLoader;
import freemarker.core.ParseException;
import freemarker.template.MalformedTemplateNameException;
import freemarker.template.Template;
import freemarker.template.TemplateNotFoundException;
import net.mingsoft.base.constant.Const;
import net.mingsoft.basic.util.BasicUtil;
import net.mingsoft.basic.util.SpringUtil;
import net.mingsoft.cms.bean.ContentBean;
import net.mingsoft.cms.bean.CategoryBean;
import net.mingsoft.cms.entity.CategoryEntity;
import net.mingsoft.mdiy.bean.PageBean;
import net.mingsoft.mdiy.biz.IModelBiz;
@ -151,7 +149,7 @@ public class CmsParserUtil extends ParserUtil {
* @throws MalformedTemplateNameException
* @throws TemplateNotFoundException
*/
public static void generateBasic(List<ContentBean> articleIdList) {
public static void generateBasic(List<CategoryBean> articleIdList) {
Map<Object, Object> contentModelMap = new HashMap<Object, Object>();
ModelEntity contentModel = null;
@ -214,12 +212,12 @@ public class CmsParserUtil extends ParserUtil {
parserParams.put(ID, articleId);
// 第一篇文章没有上一篇
if (artId > 0) {
ContentBean preCaBean = articleIdList.get(artId - 1);
CategoryBean preCaBean = articleIdList.get(artId - 1);
page.setPreId(preCaBean.getArticleId());
}
// 最后一篇文章没有下一篇
if (artId + 1 < articleIdList.size()) {
ContentBean nextCaBean = articleIdList.get(artId + 1);
CategoryBean nextCaBean = articleIdList.get(artId + 1);
page.setNextId(nextCaBean.getArticleId());
}

View File

@ -18,8 +18,8 @@
gutter="0"
justify="start" align="top">
<el-col span="12">
<el-form-item label="栏目管理名称" prop="categoryTitle">
<template slot='label'>栏目管理名称
<el-form-item label="栏目名称" prop="categoryTitle">
<template slot='label'>栏目名称
<el-popover slot="label" placement="top-start" title="提示" trigger="hover">
<a href="http://doc.ms.mingsoft.net/plugs-cms/biao-qian/nei-rong-biao-qian-ms-field.html"
target="_blank">{ms:field.typetitle/}</a>
@ -51,7 +51,10 @@
<el-form-item prop="categoryType">
<template slot='label'>栏目类型
<el-popover slot="label" placement="top-start" title="提示" trigger="hover">
列表:常用于带列表、详情的业务,例如:新闻列表、图片列表<br>封面:常用单篇文章显示,例如:关于我们、公司介绍<br>跳转:栏目外链接,需要配合自定义标签使用<br>修改栏目时如果该栏目存在文章则不能修改栏目类型
列表:常用于带列表、详情的业务,例如:新闻列表、图片列表<br>
封面:常用单篇文章显示,例如:关于我们、公司介绍<br>
跳转:栏目外链接,需要配合逻辑判断&lt;#if&gt;和自定义链接使用<br>
修改栏目时如果该栏目存在文章则不能修改栏目类型
<i class="el-icon-question" slot="reference"></i>
</el-popover>
</template>