diff --git a/README.md b/README.md
index db58de06..74d1d6fc 100644
--- a/README.md
+++ b/README.md
@@ -143,6 +143,7 @@ git clone https://gitee.com/mingSoft/MCMS.git
# 文档
* 使用手册 http://doc.mingsoft.net/mcms/
+* 插件手册 http://doc.mingsoft.net/plugs-cms/
# 关于版本说明 [更多版本查看](https://www.mingsoft.net/html/default/cms/banben/index.html)
1. 开源版本永久免费发布源代码,开发者、企业可以终身免费使用,每个月团队会收集开源系统的问题并在每月的28号进行更新;
diff --git a/pom.xml b/pom.xml
index 1adda33a..966eb437 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,14 +10,14 @@
4.0.0
net.mingsoft
ms-mcms
- 5.2.8
+ 5.2.9
${project.groupId}:${project.artifactId}
1.8
UTF-8
- 2.17.0
+ 2.18.0
@@ -44,26 +44,30 @@
net.mingsoft
ms-base
- 2.1.13
+ 2.1.14
net.mingsoft
ms-basic
- 2.1.13.4
+ 2.1.14
net.mingsoft
ms-mdiy
- 2.1.13.1
+ 2.1.14
net.mingsoft
store-client
- 2.1.13
+ 2.1.14
+
+
+ com.github.oshi
+ oshi-core
+ 6.2.2
-
org.apache.logging.log4j
log4j-core
diff --git a/src/main/java/net/mingsoft/MSApplication.java b/src/main/java/net/mingsoft/MSApplication.java
index 20bde750..7f2bf20f 100644
--- a/src/main/java/net/mingsoft/MSApplication.java
+++ b/src/main/java/net/mingsoft/MSApplication.java
@@ -32,7 +32,6 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.Locale;
-
@SpringBootApplication(scanBasePackages = {"net.mingsoft"})
@MapperScan(basePackages={"**.dao","com.baomidou.**.mapper"})
@ServletComponentScan(basePackages = {"net.mingsoft"})
diff --git a/src/main/java/net/mingsoft/cms/action/CategoryAction.java b/src/main/java/net/mingsoft/cms/action/CategoryAction.java
index 8dfe6017..5973562b 100755
--- a/src/main/java/net/mingsoft/cms/action/CategoryAction.java
+++ b/src/main/java/net/mingsoft/cms/action/CategoryAction.java
@@ -151,6 +151,10 @@ public class CategoryAction extends BaseAction {
@LogAnn(title = "保存分类", businessType = BusinessTypeEnum.INSERT)
@RequiresPermissions("cms:category:save")
public ResultData save(@ModelAttribute @ApiIgnore CategoryEntity category) {
+ //验证缩略图参数值是否合法
+ if (!category.getCategoryImg().matches("^\\[.{1,}]$") || category.getCategoryImg()==null){
+ category.setCategoryImg("");
+ }
//验证栏目管理名称的值是否合法
if(StringUtil.isBlank(category.getCategoryTitle())){
return ResultData.build().error(getResString("err.empty", this.getResString("category.title")));
@@ -229,6 +233,10 @@ public class CategoryAction extends BaseAction {
@LogAnn(title = "更新分类", businessType = BusinessTypeEnum.UPDATE)
@RequiresPermissions("cms:category:update")
public ResultData update(@ModelAttribute @ApiIgnore CategoryEntity category) {
+ //验证缩略图参数值是否合法
+ if (!category.getCategoryImg().matches("^\\[.{1,}]$") || category.getCategoryImg()==null){
+ category.setCategoryImg("");
+ }
//验证栏目管理名称的值是否合法
if(StringUtil.isBlank(category.getCategoryTitle())){
return ResultData.build().error(getResString("err.empty", this.getResString("category.title")));
@@ -298,7 +306,7 @@ public class CategoryAction extends BaseAction {
@GetMapping("/verifyPingYin")
@ResponseBody
public ResultData verifyPingYin(@ModelAttribute @ApiIgnore CategoryEntity category){
- int count = categoryBiz.count(Wrappers.lambdaQuery()
+ long count = categoryBiz.count(Wrappers.lambdaQuery()
.ne(StrUtil.isNotBlank(category.getId()), CategoryEntity::getId, category.getId())
.eq(CategoryEntity::getCategoryPinyin, category.getCategoryPinyin()));
diff --git a/src/main/java/net/mingsoft/cms/action/ContentAction.java b/src/main/java/net/mingsoft/cms/action/ContentAction.java
index 8b9fc51f..52ac72e7 100755
--- a/src/main/java/net/mingsoft/cms/action/ContentAction.java
+++ b/src/main/java/net/mingsoft/cms/action/ContentAction.java
@@ -31,7 +31,7 @@ import net.mingsoft.basic.annotation.LogAnn;
import net.mingsoft.basic.bean.EUListBean;
import net.mingsoft.basic.constant.e.BusinessTypeEnum;
import net.mingsoft.basic.util.BasicUtil;
-import net.mingsoft.basic.util.SqlInjectionUtil;
+import net.mingsoft.base.util.SqlInjectionUtil;
import net.mingsoft.basic.util.StringUtil;
import net.mingsoft.cms.bean.ContentBean;
import net.mingsoft.cms.biz.ICategoryBiz;
@@ -40,6 +40,7 @@ import net.mingsoft.cms.entity.CategoryEntity;
import net.mingsoft.cms.entity.ContentEntity;
import net.mingsoft.mdiy.biz.IModelBiz;
import net.mingsoft.mdiy.entity.ModelEntity;
+import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
@@ -85,6 +86,7 @@ public class ContentAction extends BaseAction {
/**
* 返回主界面index
*/
+ @ApiIgnore
@GetMapping("/index")
public String index(){
return "/cms/content/index";
@@ -93,6 +95,7 @@ public class ContentAction extends BaseAction {
/**
* 返回主界面main
*/
+ @ApiIgnore
@GetMapping("/main")
public String main(){
return "/cms/content/main";
@@ -119,7 +122,7 @@ public class ContentAction extends BaseAction {
// 检查SQL注入
SqlInjectionUtil.filterContent(content.getCategoryId());
BasicUtil.startPage();
- List contentList = contentBiz.query(content);
+ List contentList = contentBiz.queryContent(content);
return ResultData.build().success(new EUListBean(contentList,(int) BasicUtil.endPage(contentList).getTotal()));
}
@@ -195,6 +198,10 @@ public class ContentAction extends BaseAction {
@LogAnn(title = "保存文章", businessType = BusinessTypeEnum.INSERT)
@RequiresPermissions("cms:content:save")
public ResultData save(@ModelAttribute @ApiIgnore ContentEntity content) {
+ //验证缩略图参数值是否合法
+ if (content.getContentImg()==null || !content.getContentImg().matches("^\\[.{1,}]$")){
+ content.setContentImg("");
+ }
//验证文章标题的值是否合法
if(StringUtil.isBlank(content.getContentTitle())){
return ResultData.build().error(getResString("err.empty", this.getResString("content.title")));
@@ -238,7 +245,7 @@ public class ContentAction extends BaseAction {
//获取栏目实体
CategoryEntity categoryEntity = categoryBiz.getById(contents.get(i).getCategoryId());
//如果栏目绑定的模型ID为空
- if (categoryEntity.getMdiyModelId() == null){
+ if (StringUtils.isBlank(categoryEntity.getMdiyModelId())){
continue;
}
//获取到配置模型实体
@@ -279,6 +286,10 @@ public class ContentAction extends BaseAction {
@LogAnn(title = "更新文章", businessType = BusinessTypeEnum.UPDATE)
@RequiresPermissions("cms:content:update")
public ResultData update(@ModelAttribute @ApiIgnore ContentEntity content) {
+ //验证缩略图参数值是否合法
+ if (content.getContentImg()==null || !content.getContentImg().matches("^\\[.{1,}]$")){
+ content.setContentImg("");
+ }
//验证文章标题的值是否合法
if(StringUtil.isBlank(content.getContentTitle())){
return ResultData.build().error(getResString("err.empty", this.getResString("content.title")));
diff --git a/src/main/java/net/mingsoft/cms/action/GeneraterAction.java b/src/main/java/net/mingsoft/cms/action/GeneraterAction.java
index 90cb0e0a..250d3c56 100755
--- a/src/main/java/net/mingsoft/cms/action/GeneraterAction.java
+++ b/src/main/java/net/mingsoft/cms/action/GeneraterAction.java
@@ -99,7 +99,7 @@ public class GeneraterAction extends BaseAction {
@Value("${ms.manager.path}")
private String managerPath;
- @Value("${ms.html-dir:html}")
+ @Value("${ms.diy.html-dir:html}")
private String htmlDir;
/**
@@ -251,7 +251,7 @@ public class GeneraterAction extends BaseAction {
contentBean.setCategoryId(category.getId());
contentBean.setCategoryType(category.getCategoryType());
//将文章列表标签中的中的参数
- articleIdList = contentBiz.queryIdsByCategoryIdForParser(contentBean);
+ articleIdList = contentBiz.queryIdsByCategoryIdForParserAndNotCover(contentBean);
// 分类是列表
if (category.getCategoryType().equals(CategoryTypeEnum.LIST.toString())) {
// 判断模板文件是否存在
diff --git a/src/main/java/net/mingsoft/cms/action/web/MCmsAction.java b/src/main/java/net/mingsoft/cms/action/web/MCmsAction.java
index dceeec13..6f09bc9e 100755
--- a/src/main/java/net/mingsoft/cms/action/web/MCmsAction.java
+++ b/src/main/java/net/mingsoft/cms/action/web/MCmsAction.java
@@ -19,9 +19,6 @@
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
-
-
-
package net.mingsoft.cms.action.web;
import cn.hutool.core.util.ObjectUtil;
@@ -31,24 +28,19 @@ import freemarker.core.ParseException;
import freemarker.template.MalformedTemplateNameException;
import freemarker.template.TemplateNotFoundException;
import net.mingsoft.base.constant.Const;
-import net.mingsoft.basic.exception.BusinessException;
import net.mingsoft.basic.util.BasicUtil;
-import net.mingsoft.cms.bean.CategoryBean;
-import net.mingsoft.cms.bean.ContentBean;
import net.mingsoft.cms.biz.ICategoryBiz;
import net.mingsoft.cms.biz.IContentBiz;
import net.mingsoft.cms.entity.CategoryEntity;
-import net.mingsoft.cms.entity.ContentEntity;
import net.mingsoft.mdiy.bean.PageBean;
import net.mingsoft.mdiy.biz.IModelBiz;
-import net.mingsoft.mdiy.biz.IPageBiz;
import net.mingsoft.mdiy.entity.ModelEntity;
import net.mingsoft.mdiy.util.ParserUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
@@ -75,12 +67,6 @@ import java.util.Map;
@RequestMapping("/mcms")
public class MCmsAction extends net.mingsoft.cms.action.BaseAction {
- /**
- * 自定义页面业务层
- */
- @Autowired
- private IPageBiz pageBiz;
-
/**
* 文章管理业务处理层
*/
@@ -101,19 +87,16 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction {
private IModelBiz modelBiz;
- @Value("${ms.html-dir:html}")
+ @Value("${ms.diy.html-dir:html}")
private String htmlDir;
-
-
-
/**
* 实现前端页面的文章搜索
*
* @param request 搜索id
* @param response
*/
- @RequestMapping(value = "search",method = {RequestMethod.GET, RequestMethod.POST})
+ @RequestMapping(value = "search",method = {RequestMethod.GET, RequestMethod.POST},produces= MediaType.TEXT_HTML_VALUE+";charset=utf-8")
@ResponseBody
public String search(HttpServletRequest request, HttpServletResponse response) {
String search = BasicUtil.getString("tmpl", "search.htm");
@@ -178,7 +161,7 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction {
column = (CategoryEntity) categoryBiz.getById(typeId);
// 获取表单类型的id
if (column != null && ObjectUtil.isNotNull(column.getMdiyModelId())) {
- contentModel = (ModelEntity) modelBiz.getEntity(column.getMdiyModelId());
+ contentModel = (ModelEntity) modelBiz.getById(column.getMdiyModelId());
if (contentModel != null) {
// 保存自定义模型的数据
Map fieldMap = contentModel.getFieldMap();
diff --git a/src/main/java/net/mingsoft/cms/aop/CategoryAop.java b/src/main/java/net/mingsoft/cms/aop/CategoryAop.java
index 81d359d8..5dc20dcf 100644
--- a/src/main/java/net/mingsoft/cms/aop/CategoryAop.java
+++ b/src/main/java/net/mingsoft/cms/aop/CategoryAop.java
@@ -7,14 +7,22 @@
package net.mingsoft.cms.aop;
import cn.hutool.core.io.FileUtil;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import net.mingsoft.base.entity.ResultData;
+import net.mingsoft.basic.exception.BusinessException;
import net.mingsoft.basic.util.BasicUtil;
+import net.mingsoft.cms.constant.e.CategoryTypeEnum;
+import net.mingsoft.cms.dao.ICategoryDao;
+import net.mingsoft.cms.dao.IContentDao;
import net.mingsoft.cms.entity.CategoryEntity;
-import net.mingsoft.mdiy.biz.IDictBiz;
-import net.mingsoft.mdiy.entity.DictEntity;
+import net.mingsoft.cms.entity.ContentEntity;
import org.apache.commons.lang3.StringUtils;
import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.After;
+import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.beans.factory.annotation.Autowired;
@@ -23,7 +31,6 @@ import org.springframework.stereotype.Component;
import java.io.File;
import java.util.List;
-import java.util.stream.Collectors;
/**
@@ -38,11 +45,73 @@ public class CategoryAop extends net.mingsoft.basic.aop.BaseAop {
@Value("${ms.diy.html-dir:html}")
private String htmlDir;
+ @Autowired
+ private ICategoryDao categoryDao;
+
+ @Autowired
+ private IContentDao contentDao;
@Pointcut("execution(* net.mingsoft.cms.action.CategoryAction.delete(..)) ")
public void delete() {
}
+ /**
+ * 栏目保存接口切面
+ */
+ @Pointcut("execution(* net.mingsoft.cms.action.CategoryAction.save(..)) ")
+ public void save() {}
+
+ /**
+ * 栏目更新接口切面
+ */
+ @Pointcut("execution(* net.mingsoft.cms.action.CategoryAction.update(..)) ")
+ public void update() {}
+
+
+
+ @Around("save() || update()")
+ public ResultData move(ProceedingJoinPoint pjp) throws Throwable {
+ CategoryEntity category = getType(pjp, CategoryEntity.class);
+ if (category == null) {
+ throw new BusinessException("栏目不存在!");
+ }
+
+ // 获取返回值
+ Object obj = pjp.proceed(pjp.getArgs());
+ ResultData resultData = JSONObject.parseObject(JSONObject.toJSON(obj).toString(), ResultData.class);
+ CategoryEntity parent = categoryDao.selectById(category.getCategoryId());
+ if (parent == null) {
+ return resultData;
+ }
+ // 用于判断父级栏目之前是否是子栏目
+ // 只有父节点之前为子节点 && 父栏目类型为列表 && 子栏目为列表
+ boolean flag = parent.getLeaf() && StringUtils.equals(parent.getCategoryType(), CategoryTypeEnum.LIST.toString());
+ if (flag) {
+ // 将父栏目的内容模板清空
+ parent.setCategoryUrl("");
+ categoryDao.updateById(parent);
+ CategoryEntity returnCategory = JSONObject.parseObject(resultData.get(ResultData.DATA_KEY).toString(), CategoryEntity.class);
+ // 获取父栏目ID集合
+ String categoryIds = StringUtils.isEmpty(parent.getCategoryParentIds())
+ ? returnCategory.getId() : parent.getCategoryParentIds() + "," + returnCategory.getId();
+ if (!StringUtils.equals(returnCategory.getCategoryType(), CategoryTypeEnum.LIST.toString())) {
+ // 如果子栏目不为列表,将直接删除父栏目下的文章
+ LambdaUpdateWrapper contentDeleteWrapper = new UpdateWrapper().lambda();
+ contentDeleteWrapper.eq(ContentEntity::getCategoryId, parent.getId());
+ contentDao.delete(contentDeleteWrapper);
+ }
+ // 将父栏目下的文章移动到子栏目下
+ LambdaUpdateWrapper contentWrapper = new UpdateWrapper().lambda();
+ contentWrapper.set(ContentEntity::getCategoryId, returnCategory.getId());
+ contentWrapper.eq(ContentEntity::getCategoryId, parent.getId());
+ contentDao.update(new ContentEntity(), contentWrapper);
+
+ return resultData;
+ }
+ return resultData;
+ }
+
+
/**
* 删除栏目后并删除文章对应的静态化文件
*
diff --git a/src/main/java/net/mingsoft/cms/biz/IContentBiz.java b/src/main/java/net/mingsoft/cms/biz/IContentBiz.java
index 2bdbcc14..8fbba24e 100755
--- a/src/main/java/net/mingsoft/cms/biz/IContentBiz.java
+++ b/src/main/java/net/mingsoft/cms/biz/IContentBiz.java
@@ -40,12 +40,32 @@ import java.util.Map;
*/
public interface IContentBiz extends IBaseBiz {
+
/**
* 根据文章属性查询
* @param contentBean
* @return
*/
List queryIdsByCategoryIdForParser(ContentBean contentBean);
+ /**
+ * 查询文章,不包括单篇
+ * @param contentBean
+ * @return
+ */
+ List queryContent(ContentBean contentBean);
int getSearchCount(ModelEntity contentModel, List diyList, Map whereMap, int appId, String categoryIds);
+ /**
+ * 根据文章属性查询,不包括单篇
+ * @param contentBean
+ * @return
+ */
+ List queryIdsByCategoryIdForParserAndNotCover(ContentBean contentBean);
+
+ /**
+ * 根据解析标签arclist的sql获取list
+ * @return
+ */
+ List list(Map map);
+
}
diff --git a/src/main/java/net/mingsoft/cms/biz/impl/ContentBizImpl.java b/src/main/java/net/mingsoft/cms/biz/impl/ContentBizImpl.java
index ad3dcc50..edb954a7 100755
--- a/src/main/java/net/mingsoft/cms/biz/impl/ContentBizImpl.java
+++ b/src/main/java/net/mingsoft/cms/biz/impl/ContentBizImpl.java
@@ -24,6 +24,8 @@
package net.mingsoft.cms.biz.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import freemarker.template.TemplateException;
import net.mingsoft.base.biz.impl.BaseBizImpl;
import net.mingsoft.base.dao.IBaseDao;
import net.mingsoft.cms.bean.CategoryBean;
@@ -32,13 +34,16 @@ import net.mingsoft.cms.biz.IContentBiz;
import net.mingsoft.cms.dao.ICategoryDao;
import net.mingsoft.cms.dao.IContentDao;
import net.mingsoft.cms.entity.ContentEntity;
+import net.mingsoft.mdiy.biz.ITagBiz;
import net.mingsoft.mdiy.entity.ModelEntity;
+import net.mingsoft.mdiy.entity.TagEntity;
+import net.mingsoft.mdiy.util.ParserUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
+import java.io.IOException;
import java.util.List;
import java.util.Map;
@@ -64,9 +69,9 @@ public class ContentBizImpl extends BaseBizImpl imp
@Autowired
private ICategoryDao categoryDao;
- @Value("${ms.html-dir:html}")
- private String htmlDir;
+ @Autowired
+ private ITagBiz tagBiz;
@Override
protected IBaseDao getDao() {
@@ -74,11 +79,18 @@ public class ContentBizImpl extends BaseBizImpl imp
return contentDao;
}
+
@Override
public List queryIdsByCategoryIdForParser(ContentBean contentBean) {
return this.contentDao.queryIdsByCategoryIdForParser(contentBean);
}
+ @Override
+ public List queryContent(ContentBean contentBean) {
+ return this.contentDao.queryContent(contentBean);
+
+ }
+
@Override
public int getSearchCount(ModelEntity contentModel, List diyList, Map whereMap, int appId, String categoryIds) {
if (contentModel!=null) {
@@ -87,5 +99,30 @@ public class ContentBizImpl extends BaseBizImpl imp
return contentDao.getSearchCount(null,null,whereMap, appId,categoryIds);
}
+ @Override
+ public List queryIdsByCategoryIdForParserAndNotCover(ContentBean contentBean) {
+ return this.contentDao.queryIdsByCategoryIdForParser(contentBean);
+ }
+
+ @Override
+ public List list(Map map ) {
+ //通过tagSqlBiz获取arclist对应的sql
+ QueryWrapper tagWrapper = new QueryWrapper<>();
+ tagWrapper.eq("tag_name", "arclist");
+ TagEntity tagEntity = tagBiz.getOne(tagWrapper);
+ String sqlFtl = tagEntity.getTagSql();
+ List contentEntities = null;
+ //通过ParserUtil
+ try {
+ String sql = ParserUtil.rendering(map,sqlFtl);
+ //执行原生的sql
+ contentEntities = (List) tagBiz.excuteSql(sql);
+ } catch (IOException e) {
+ e.printStackTrace();
+ } catch (TemplateException e) {
+ e.printStackTrace();
+ }
+ return contentEntities;
+ }
}
diff --git a/src/main/java/net/mingsoft/cms/constant/e/CategoryTypeEnum.java b/src/main/java/net/mingsoft/cms/constant/e/CategoryTypeEnum.java
index 69d77925..06b60195 100755
--- a/src/main/java/net/mingsoft/cms/constant/e/CategoryTypeEnum.java
+++ b/src/main/java/net/mingsoft/cms/constant/e/CategoryTypeEnum.java
@@ -43,7 +43,12 @@ public enum CategoryTypeEnum implements BaseEnum {
/**
* 链接
*/
- LINK("3");
+ LINK("3"),
+
+ /**
+ * 未知类型
+ */
+ UN_KNOW("0");
CategoryTypeEnum(String type) {
@@ -58,7 +63,7 @@ public enum CategoryTypeEnum implements BaseEnum {
return e;
}
}
- return null;
+ return CategoryTypeEnum.UN_KNOW;
}
@Override
diff --git a/src/main/java/net/mingsoft/cms/dao/ICategoryDao.xml b/src/main/java/net/mingsoft/cms/dao/ICategoryDao.xml
index c6fd4642..77093543 100755
--- a/src/main/java/net/mingsoft/cms/dao/ICategoryDao.xml
+++ b/src/main/java/net/mingsoft/cms/dao/ICategoryDao.xml
@@ -40,6 +40,7 @@
leaf=#{leaf},
category_id=#{categoryId},
category_parent_ids=#{categoryParentIds},
+ mdiy_model_id=#{mdiyModelId},
category_type=#{categoryType},
category_sort=#{categorySort},
category_list_url=#{categoryListUrl},
@@ -48,7 +49,6 @@
category_descrip=#{categoryDescrip},
category_img=#{categoryImg},
category_diy_url=#{categoryDiyUrl},
- mdiy_model_id=#{mdiyModelId},
dict_id=#{dictId},
category_flag=#{categoryFlag},
category_path=#{categoryPath},
@@ -98,18 +98,20 @@
diff --git a/src/main/java/net/mingsoft/cms/dao/IContentDao.java b/src/main/java/net/mingsoft/cms/dao/IContentDao.java
index 4a9edf44..caf53ed7 100755
--- a/src/main/java/net/mingsoft/cms/dao/IContentDao.java
+++ b/src/main/java/net/mingsoft/cms/dao/IContentDao.java
@@ -39,6 +39,8 @@ import java.util.Map;
*/
public interface IContentDao extends IBaseDao {
+
+
/**
* 查询文章编号集合
* @contentBean
@@ -46,6 +48,20 @@ public interface IContentDao extends IBaseDao {
*/
public List queryIdsByCategoryIdForParser(ContentBean contentBean);
+ /**
+ * 查询文章编号集合,不包括单篇
+ * @contentBean
+ * @return
+ */
+ public List queryIdsByCategoryIdForParserAndNotCover(ContentBean contentBean);
+
+ /**
+ * 查询文章,不包括单篇
+ * @contentBean
+ * @return
+ */
+ public List queryContent(ContentBean contentBean);
+
/**
* 根据查询文章实体总数
*
diff --git a/src/main/java/net/mingsoft/cms/dao/IContentDao.xml b/src/main/java/net/mingsoft/cms/dao/IContentDao.xml
index b5f8fb91..3b1b3ff3 100755
--- a/src/main/java/net/mingsoft/cms/dao/IContentDao.xml
+++ b/src/main/java/net/mingsoft/cms/dao/IContentDao.xml
@@ -207,6 +207,45 @@
+
+
+
+
+
+
+
+
+