diff --git a/pom.xml b/pom.xml
index 8e181241..858803bf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,14 +10,14 @@
4.0.0
net.mingsoft
ms-mcms
- 5.2.9
+ 5.2.10
${project.groupId}:${project.artifactId}
1.8
UTF-8
- 2.18.0
+ 2.19.0
@@ -44,24 +44,24 @@
net.mingsoft
ms-base
- 2.1.14.1
+ 2.1.15
net.mingsoft
ms-basic
- 2.1.14.1
+ 2.1.15
net.mingsoft
ms-mdiy
- 2.1.14.1
+ 2.1.15
net.mingsoft
store-client
- 2.1.14
+ 2.1.15
com.github.oshi
diff --git a/src/main/java/net/mingsoft/MSApplication.java b/src/main/java/net/mingsoft/MSApplication.java
index 7f2bf20f..4593448e 100644
--- a/src/main/java/net/mingsoft/MSApplication.java
+++ b/src/main/java/net/mingsoft/MSApplication.java
@@ -25,12 +25,6 @@ import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.context.annotation.ComponentScan;
-
-import springfox.documentation.swagger2.annotations.EnableSwagger2;
-
-import java.util.Locale;
@SpringBootApplication(scanBasePackages = {"net.mingsoft"})
@MapperScan(basePackages={"**.dao","com.baomidou.**.mapper"})
diff --git a/src/main/java/net/mingsoft/cms/action/BaseAction.java b/src/main/java/net/mingsoft/cms/action/BaseAction.java
index 0d1cbbe0..51c6905b 100755
--- a/src/main/java/net/mingsoft/cms/action/BaseAction.java
+++ b/src/main/java/net/mingsoft/cms/action/BaseAction.java
@@ -18,27 +18,27 @@
* 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.action;
-
-import java.util.MissingResourceException;
-
-/**
- * @Author: 铭飞开源团队--huise
- * @Date: 2019/8/9 20:47
- */
-public class BaseAction extends net.mingsoft.basic.action.BaseAction{
- @Override
- protected String getResString(String key) {
- // TODO Auto-generated method stub
- String str = "";
- try {
- str = super.getResString(key);
- } catch (MissingResourceException e) {
- str = getLocaleString(key,net.mingsoft.cms.constant.Const.RESOURCES);
- }
-
- return str;
- }
-}
+
+
+package net.mingsoft.cms.action;
+
+import java.util.MissingResourceException;
+
+/**
+ * @Author: 铭飞开源团队--huise
+ * @Date: 2019/8/9 20:47
+ */
+public class BaseAction extends net.mingsoft.basic.action.BaseAction{
+ @Override
+ protected String getResString(String key) {
+ // TODO Auto-generated method stub
+ String str = "";
+ try {
+ str = super.getResString(key);
+ } catch (MissingResourceException e) {
+ str = getLocaleString(key,net.mingsoft.cms.constant.Const.RESOURCES);
+ }
+
+ return str;
+ }
+}
diff --git a/src/main/java/net/mingsoft/cms/action/CategoryAction.java b/src/main/java/net/mingsoft/cms/action/CategoryAction.java
index 5973562b..7de2a89b 100755
--- a/src/main/java/net/mingsoft/cms/action/CategoryAction.java
+++ b/src/main/java/net/mingsoft/cms/action/CategoryAction.java
@@ -70,6 +70,7 @@ public class CategoryAction extends BaseAction {
* @return
*/
@GetMapping("/index")
+ @RequiresPermissions("cms:category:view")
public String index(){
return "/cms/category/index";
}
@@ -86,7 +87,6 @@ public class CategoryAction extends BaseAction {
})
@RequestMapping(value="/list",method = {RequestMethod.GET, RequestMethod.POST})
@ResponseBody
- @RequiresPermissions("cms:category:view")
public ResultData list(@ModelAttribute @ApiIgnore CategoryEntity category) {
BasicUtil.startPage();
List categoryList = categoryBiz.query(category);
diff --git a/src/main/java/net/mingsoft/cms/action/ContentAction.java b/src/main/java/net/mingsoft/cms/action/ContentAction.java
index 52ac72e7..4f4e8a13 100755
--- a/src/main/java/net/mingsoft/cms/action/ContentAction.java
+++ b/src/main/java/net/mingsoft/cms/action/ContentAction.java
@@ -27,11 +27,11 @@ import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import net.mingsoft.base.entity.ResultData;
+import net.mingsoft.base.util.SqlInjectionUtil;
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.base.util.SqlInjectionUtil;
import net.mingsoft.basic.util.StringUtil;
import net.mingsoft.cms.bean.ContentBean;
import net.mingsoft.cms.biz.ICategoryBiz;
@@ -45,13 +45,10 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
-import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -219,9 +216,6 @@ public class ContentAction extends BaseAction {
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.save(content);
return ResultData.build().success(content);
}
@@ -307,9 +301,6 @@ public class ContentAction extends BaseAction {
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.saveOrUpdate(content);
return ResultData.build().success(content);
}
diff --git a/src/main/java/net/mingsoft/cms/action/GeneraterAction.java b/src/main/java/net/mingsoft/cms/action/GeneraterAction.java
index 250d3c56..70928fd0 100755
--- a/src/main/java/net/mingsoft/cms/action/GeneraterAction.java
+++ b/src/main/java/net/mingsoft/cms/action/GeneraterAction.java
@@ -250,6 +250,7 @@ public class GeneraterAction extends BaseAction {
}
contentBean.setCategoryId(category.getId());
contentBean.setCategoryType(category.getCategoryType());
+ contentBean.setOrderBy("date");
//将文章列表标签中的中的参数
articleIdList = contentBiz.queryIdsByCategoryIdForParserAndNotCover(contentBean);
// 分类是列表
diff --git a/src/main/java/net/mingsoft/cms/action/web/CategoryAction.java b/src/main/java/net/mingsoft/cms/action/web/CategoryAction.java
index 90347525..9d2ccfe9 100755
--- a/src/main/java/net/mingsoft/cms/action/web/CategoryAction.java
+++ b/src/main/java/net/mingsoft/cms/action/web/CategoryAction.java
@@ -1,95 +1,91 @@
-/**
- * The MIT License (MIT)
- * Copyright (c) 2012-2022 铭软科技(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.action.web;
-
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
-import net.mingsoft.base.entity.ResultData;
-import net.mingsoft.basic.bean.EUListBean;
-import net.mingsoft.basic.util.BasicUtil;
-import net.mingsoft.cms.biz.ICategoryBiz;
-import net.mingsoft.cms.entity.CategoryEntity;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.ModelMap;
-import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.*;
-import springfox.documentation.annotations.ApiIgnore;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.List;
-/**
- * 分类管理控制层
- * @author 铭飞开发团队
- * 创建日期:2019-11-28 15:12:32
- * 历史修订:
- */
-@Api(tags={"前端-内容模块接口"})
-@Controller("WebcmsCategoryAction")
-@RequestMapping("/cms/category")
-public class CategoryAction extends net.mingsoft.cms.action.BaseAction{
-
-
- /**
- * 注入分类业务层
- */
- @Autowired
- private ICategoryBiz categoryBiz;
-
- /**
- * 查询分类列表
- * @param category 分类实体
- */
- @ApiOperation(value = "查询分类列表接口")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "categoryTitle", value = "栏目管理名称", required =false,paramType="query"),
- })
- @PostMapping(value="/list")
- @ResponseBody
- public ResultData list(@ModelAttribute @ApiIgnore CategoryEntity category) {
- BasicUtil.startPage();
- List categoryList = categoryBiz.query(category);
- return ResultData.build().success(new EUListBean(categoryList,(int)BasicUtil.endPage(categoryList).getTotal()));
- }
-
-
- /**
- * 获取分类
- * @param category 分类实体
- */
- @ApiOperation(value = "获取分类列表接口")
- @ApiImplicitParam(name = "id", value = "编号", required =true,paramType="query")
- @GetMapping("/get")
- @ResponseBody
- public ResultData get(@ModelAttribute @ApiIgnore CategoryEntity category){
- if(category.getId()==null) {
- return ResultData.build().error();
- }
- CategoryEntity _category = (CategoryEntity)categoryBiz.getById(category.getId());
- return ResultData.build().success(_category);
- }
-
-}
+/**
+ * The MIT License (MIT)
+ * Copyright (c) 2012-2022 铭软科技(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.action.web;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import net.mingsoft.base.entity.ResultData;
+import net.mingsoft.basic.bean.EUListBean;
+import net.mingsoft.basic.util.BasicUtil;
+import net.mingsoft.cms.biz.ICategoryBiz;
+import net.mingsoft.cms.entity.CategoryEntity;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
+
+import java.util.List;
+/**
+ * 分类管理控制层
+ * @author 铭飞开发团队
+ * 创建日期:2019-11-28 15:12:32
+ * 历史修订:
+ */
+@Api(tags={"前端-内容模块接口"})
+@Controller("WebcmsCategoryAction")
+@RequestMapping("/cms/category")
+public class CategoryAction extends net.mingsoft.cms.action.BaseAction{
+
+
+ /**
+ * 注入分类业务层
+ */
+ @Autowired
+ private ICategoryBiz categoryBiz;
+
+ /**
+ * 查询分类列表
+ * @param category 分类实体
+ */
+ @ApiOperation(value = "查询分类列表接口")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "categoryTitle", value = "栏目管理名称", required =false,paramType="query"),
+ })
+ @PostMapping(value="/list")
+ @ResponseBody
+ public ResultData list(@ModelAttribute @ApiIgnore CategoryEntity category) {
+ BasicUtil.startPage();
+ List categoryList = categoryBiz.query(category);
+ return ResultData.build().success(new EUListBean(categoryList,(int)BasicUtil.endPage(categoryList).getTotal()));
+ }
+
+
+ /**
+ * 获取分类
+ * @param category 分类实体
+ */
+ @ApiOperation(value = "获取分类列表接口")
+ @ApiImplicitParam(name = "id", value = "编号", required =true,paramType="query")
+ @GetMapping("/get")
+ @ResponseBody
+ public ResultData get(@ModelAttribute @ApiIgnore CategoryEntity category){
+ if(category.getId()==null) {
+ return ResultData.build().error();
+ }
+ CategoryEntity _category = (CategoryEntity)categoryBiz.getById(category.getId());
+ return ResultData.build().success(_category);
+ }
+
+}
diff --git a/src/main/java/net/mingsoft/cms/action/web/ContentAction.java b/src/main/java/net/mingsoft/cms/action/web/ContentAction.java
index 77d2ef3d..a5bd623a 100755
--- a/src/main/java/net/mingsoft/cms/action/web/ContentAction.java
+++ b/src/main/java/net/mingsoft/cms/action/web/ContentAction.java
@@ -1,153 +1,149 @@
-/**
- * The MIT License (MIT)
- * Copyright (c) 2012-2022 铭软科技(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.action.web;
-
-import cn.hutool.core.util.ObjectUtil;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
-import net.mingsoft.base.entity.ResultData;
-import net.mingsoft.basic.bean.EUListBean;
-import net.mingsoft.basic.util.BasicUtil;
-import net.mingsoft.cms.bean.ContentBean;
-import net.mingsoft.cms.biz.IContentBiz;
-import net.mingsoft.cms.biz.IHistoryLogBiz;
-import net.mingsoft.cms.entity.ContentEntity;
-import net.mingsoft.cms.entity.HistoryLogEntity;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.ModelMap;
-import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.*;
-import springfox.documentation.annotations.ApiIgnore;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.Date;
-import java.util.List;
-/**
- * 文章管理控制层
- * @author 铭飞开发团队
- * 创建日期:2019-11-28 15:12:32
- * 历史修订:
- */
-@Api(tags={"前端-内容模块接口"})
-@Controller("WebcmsContentAction")
-@RequestMapping("/cms/content")
-public class ContentAction extends net.mingsoft.cms.action.BaseAction{
-
-
- /**
- * 注入文章业务层
- */
- @Autowired
- private IContentBiz contentBiz;
-
- @Autowired
- private IHistoryLogBiz historyLogBiz;
-
- /**
- * 查询文章列表接口
- * @param content 文章
- * @return
- */
- @ApiOperation(value = "查询文章列表接口")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "contentTitle", value = "文章标题", required =false,paramType="query"),
- @ApiImplicitParam(name = "categoryId", 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"),
- })
- @PostMapping("/list")
- @ResponseBody
- public ResultData list(@ModelAttribute @ApiIgnore ContentBean content) {
- BasicUtil.startPage();
- List contentList = contentBiz.query(content);
- return ResultData.build().success(new EUListBean(contentList,(int)BasicUtil.endPage(contentList).getTotal()));
- }
-
-
- /**
- * 获取文章列表接口
- * @param content 文章
- * @return
- */
- @ApiOperation(value = "获取文章列表接口")
- @ApiImplicitParam(name = "id", value = "编号", required =true,paramType="query")
- @GetMapping("/get")
- @ResponseBody
- public ResultData get(@ModelAttribute @ApiIgnore ContentEntity content){
- if(content.getId()==null) {
- return ResultData.build().error();
- }
- ContentEntity _content = (ContentEntity)contentBiz.getById(content.getId());;
- return ResultData.build().success(_content);
- }
-
- /**
- * 查看文章点击数
- * @param contentId 文章编号
- * @return
- */
- @ApiOperation(value = "查看文章点击数")
- @ApiImplicitParam(name = "contentId", value = "文章编号", required = true,paramType="path")
- @GetMapping(value = "/{contentId}/hit")
- @ResponseBody
- public String hit(@PathVariable @ApiIgnore String contentId) {
- if(StringUtils.isEmpty(contentId)){
- return "document.write(0)";
- }
- //获取ip
- String ip = BasicUtil.getIp();
- //获取端口(移动/web..)
- boolean isMobileDevice = BasicUtil.isMobileDevice();
-
- ContentEntity content = contentBiz.getById(contentId);
- if(content == null){
- return "document.write(0)";
- }
- //浏览数+1
- if(ObjectUtil.isNotEmpty(content.getContentHit())){
- content.setContentHit(content.getContentHit()+1);
- }else {
- content.setContentHit(1);
- }
- contentBiz.updateEntity(content);
-
- // cms_history 增加相应记录
- HistoryLogEntity entity = new HistoryLogEntity();
- entity.setHlIsMobile(isMobileDevice);
- entity.setHlIp(ip);
- entity.setContentId(content.getId());
- entity.setCreateDate(new Date());
- historyLogBiz.saveEntity(entity);
-
- return "document.write(" + content.getContentHit() + ")";
- }
-
-}
+/**
+ * The MIT License (MIT)
+ * Copyright (c) 2012-2022 铭软科技(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.action.web;
+
+import cn.hutool.core.util.ObjectUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import net.mingsoft.base.entity.ResultData;
+import net.mingsoft.basic.bean.EUListBean;
+import net.mingsoft.basic.util.BasicUtil;
+import net.mingsoft.cms.bean.ContentBean;
+import net.mingsoft.cms.biz.IContentBiz;
+import net.mingsoft.cms.biz.IHistoryLogBiz;
+import net.mingsoft.cms.entity.ContentEntity;
+import net.mingsoft.cms.entity.HistoryLogEntity;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
+
+import java.util.Date;
+import java.util.List;
+/**
+ * 文章管理控制层
+ * @author 铭飞开发团队
+ * 创建日期:2019-11-28 15:12:32
+ * 历史修订:
+ */
+@Api(tags={"前端-内容模块接口"})
+@Controller("WebcmsContentAction")
+@RequestMapping("/cms/content")
+public class ContentAction extends net.mingsoft.cms.action.BaseAction{
+
+
+ /**
+ * 注入文章业务层
+ */
+ @Autowired
+ private IContentBiz contentBiz;
+
+ @Autowired
+ private IHistoryLogBiz historyLogBiz;
+
+ /**
+ * 查询文章列表接口
+ * @param content 文章
+ * @return
+ */
+ @ApiOperation(value = "查询文章列表接口")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "contentTitle", value = "文章标题", required =false,paramType="query"),
+ @ApiImplicitParam(name = "categoryId", 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"),
+ })
+ @PostMapping("/list")
+ @ResponseBody
+ public ResultData list(@ModelAttribute @ApiIgnore ContentBean content) {
+ BasicUtil.startPage();
+ List contentList = contentBiz.query(content);
+ return ResultData.build().success(new EUListBean(contentList,(int)BasicUtil.endPage(contentList).getTotal()));
+ }
+
+
+ /**
+ * 获取文章列表接口
+ * @param content 文章
+ * @return
+ */
+ @ApiOperation(value = "获取文章列表接口")
+ @ApiImplicitParam(name = "id", value = "编号", required =true,paramType="query")
+ @GetMapping("/get")
+ @ResponseBody
+ public ResultData get(@ModelAttribute @ApiIgnore ContentEntity content){
+ if(content.getId()==null) {
+ return ResultData.build().error();
+ }
+ ContentEntity _content = (ContentEntity)contentBiz.getById(content.getId());;
+ return ResultData.build().success(_content);
+ }
+
+ /**
+ * 查看文章点击数
+ * @param contentId 文章编号
+ * @return
+ */
+ @ApiOperation(value = "查看文章点击数")
+ @ApiImplicitParam(name = "contentId", value = "文章编号", required = true,paramType="path")
+ @GetMapping(value = "/{contentId}/hit")
+ @ResponseBody
+ public String hit(@PathVariable @ApiIgnore String contentId) {
+ if(StringUtils.isEmpty(contentId)){
+ return "document.write(0)";
+ }
+ //获取ip
+ String ip = BasicUtil.getIp();
+ //获取端口(移动/web..)
+ boolean isMobileDevice = BasicUtil.isMobileDevice();
+
+ ContentEntity content = contentBiz.getById(contentId);
+ if(content == null){
+ return "document.write(0)";
+ }
+ //浏览数+1
+ if(ObjectUtil.isNotEmpty(content.getContentHit())){
+ content.setContentHit(content.getContentHit()+1);
+ }else {
+ content.setContentHit(1);
+ }
+ contentBiz.updateById(content);
+
+ // cms_history 增加相应记录
+ HistoryLogEntity entity = new HistoryLogEntity();
+ entity.setHlIsMobile(isMobileDevice);
+ entity.setHlIp(ip);
+ entity.setContentId(content.getId());
+ entity.setCreateDate(new Date());
+ historyLogBiz.saveEntity(entity);
+
+ return "document.write(" + content.getContentHit() + ")";
+ }
+
+}
diff --git a/src/main/java/net/mingsoft/cms/bean/CategoryBean.java b/src/main/java/net/mingsoft/cms/bean/CategoryBean.java
index de8ac7ab..bf45e17a 100755
--- a/src/main/java/net/mingsoft/cms/bean/CategoryBean.java
+++ b/src/main/java/net/mingsoft/cms/bean/CategoryBean.java
@@ -18,33 +18,33 @@
* 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.bean;
-
-import net.mingsoft.cms.entity.CategoryEntity;
-
-/**
-* 文章实体
-* @author 铭飞开发团队
-* 创建日期:2019-11-28 15:12:32
-* 历史修订:
-*/
-public class CategoryBean extends CategoryEntity {
-
- /**
- * 文章编号
- */
- private String articleId;
-
-
-
-
- public String getArticleId() {
- return articleId;
- }
-
- public void setArticleId(String articleId) {
- this.articleId = articleId;
- }
-}
+
+
+package net.mingsoft.cms.bean;
+
+import net.mingsoft.cms.entity.CategoryEntity;
+
+/**
+* 文章实体
+* @author 铭飞开发团队
+* 创建日期:2019-11-28 15:12:32
+* 历史修订:
+*/
+public class CategoryBean extends CategoryEntity {
+
+ /**
+ * 文章编号
+ */
+ private String articleId;
+
+
+
+
+ public String getArticleId() {
+ return articleId;
+ }
+
+ public void setArticleId(String articleId) {
+ this.articleId = articleId;
+ }
+}
diff --git a/src/main/java/net/mingsoft/cms/bean/ContentBean.java b/src/main/java/net/mingsoft/cms/bean/ContentBean.java
index 3269e2f8..010860d2 100755
--- a/src/main/java/net/mingsoft/cms/bean/ContentBean.java
+++ b/src/main/java/net/mingsoft/cms/bean/ContentBean.java
@@ -1,119 +1,114 @@
-/**
- * The MIT License (MIT)
- * Copyright (c) 2012-2022 铭软科技(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.bean;
-
-import com.alibaba.fastjson.annotation.JSONField;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import net.mingsoft.cms.entity.ContentEntity;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.util.Date;
-
-/**
- * 文章实体bean
- */
-public class ContentBean extends ContentEntity {
-
-// /**
-// * 静态化地址
-// */
-// private String staticUrl;
-
- /**
- * 开始时间
- */
- private String beginTime;
-
- /**
- * 结束时间
- */
- private String endTime;
-
- /**
- * 属性标记
- */
- private String flag;
-
- /**
- * 不包含属性标记
- */
- private String noflag;
-
- /**
- * 栏目类型,用于筛选文章列表
- */
- private String categoryType;
-
- /**
- * 栏目属性,用于筛选文章列表
- */
- private String categoryFlag;
-
- public String getCategoryType() {
- return categoryType;
- }
-
- public void setCategoryType(String categoryType) {
- this.categoryType = categoryType;
- }
-
- public String getCategoryFlag() {
- return categoryFlag;
- }
-
- public void setCategoryFlag(String categoryFlag) {
- this.categoryFlag = categoryFlag;
- }
-
- public String getBeginTime() {
- return beginTime;
- }
-
- public void setBeginTime(String beginTime) {
- this.beginTime = beginTime;
- }
-
- public String getEndTime() {
- return endTime;
- }
-
- public void setEndTime(String endTime) {
- this.endTime = endTime;
- }
-
- public String getFlag() {
- return flag;
- }
-
- public void setFlag(String flag) {
- this.flag = flag;
- }
-
- public String getNoflag() {
- return noflag;
- }
-
- public void setNoflag(String noflag) {
- this.noflag = noflag;
- }
-}
+/**
+ * The MIT License (MIT)
+ * Copyright (c) 2012-2022 铭软科技(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.bean;
+
+import net.mingsoft.cms.entity.ContentEntity;
+
+/**
+ * 文章实体bean
+ */
+public class ContentBean extends ContentEntity {
+
+// /**
+// * 静态化地址
+// */
+// private String staticUrl;
+
+ /**
+ * 开始时间
+ */
+ private String beginTime;
+
+ /**
+ * 结束时间
+ */
+ private String endTime;
+
+ /**
+ * 属性标记
+ */
+ private String flag;
+
+ /**
+ * 不包含属性标记
+ */
+ private String noflag;
+
+ /**
+ * 栏目类型,用于筛选文章列表
+ */
+ private String categoryType;
+
+ /**
+ * 栏目属性,用于筛选文章列表
+ */
+ private String categoryFlag;
+
+ public String getCategoryType() {
+ return categoryType;
+ }
+
+ public void setCategoryType(String categoryType) {
+ this.categoryType = categoryType;
+ }
+
+ public String getCategoryFlag() {
+ return categoryFlag;
+ }
+
+ public void setCategoryFlag(String categoryFlag) {
+ this.categoryFlag = categoryFlag;
+ }
+
+ public String getBeginTime() {
+ return beginTime;
+ }
+
+ public void setBeginTime(String beginTime) {
+ this.beginTime = beginTime;
+ }
+
+ public String getEndTime() {
+ return endTime;
+ }
+
+ public void setEndTime(String endTime) {
+ this.endTime = endTime;
+ }
+
+ public String getFlag() {
+ return flag;
+ }
+
+ public void setFlag(String flag) {
+ this.flag = flag;
+ }
+
+ public String getNoflag() {
+ return noflag;
+ }
+
+ public void setNoflag(String noflag) {
+ this.noflag = noflag;
+ }
+}
diff --git a/src/main/java/net/mingsoft/cms/biz/ICategoryBiz.java b/src/main/java/net/mingsoft/cms/biz/ICategoryBiz.java
index 2fde76c9..cac88c95 100755
--- a/src/main/java/net/mingsoft/cms/biz/ICategoryBiz.java
+++ b/src/main/java/net/mingsoft/cms/biz/ICategoryBiz.java
@@ -18,44 +18,44 @@
* 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;
-
-import net.mingsoft.base.biz.IBaseBiz;
-import net.mingsoft.cms.entity.CategoryEntity;
-
-import java.util.List;
-
-
-/**
- * 分类业务
- * @author 铭飞开发团队
- * 创建日期:2019-11-28 15:12:32
- * 历史修订:
- */
-public interface ICategoryBiz extends IBaseBiz {
-
- /**
- * 查询当前分类下的所有子分类,包含自身
- * @param category 通过setId指定栏目id
- * @return
- */
- List queryChildren(CategoryEntity category);
-
- void saveEntity(CategoryEntity entity);
-
- /**更新父级及子集
- * @param entity
- */
- void updateEntity(CategoryEntity entity);
-
- /**只更新自身
- * @param entity
- */
- void update(CategoryEntity entity);
-
- void delete(String categoryId);
-
- void copyCategory(CategoryEntity entity);
-}
+
+
+package net.mingsoft.cms.biz;
+
+import net.mingsoft.base.biz.IBaseBiz;
+import net.mingsoft.cms.entity.CategoryEntity;
+
+import java.util.List;
+
+
+/**
+ * 分类业务
+ * @author 铭飞开发团队
+ * 创建日期:2019-11-28 15:12:32
+ * 历史修订:
+ */
+public interface ICategoryBiz extends IBaseBiz {
+
+ /**
+ * 查询当前分类下的所有子分类,包含自身
+ * @param category 通过setId指定栏目id
+ * @return
+ */
+ List queryChildren(CategoryEntity category);
+
+ void saveEntity(CategoryEntity entity);
+
+ /**更新父级及子集
+ * @param entity
+ */
+ void updateEntity(CategoryEntity entity);
+
+ /**只更新自身
+ * @param entity
+ */
+ void update(CategoryEntity entity);
+
+ void delete(String categoryId);
+
+ void copyCategory(CategoryEntity entity);
+}
diff --git a/src/main/java/net/mingsoft/cms/biz/IHistoryLogBiz.java b/src/main/java/net/mingsoft/cms/biz/IHistoryLogBiz.java
index 2c91048c..46e9ba1c 100755
--- a/src/main/java/net/mingsoft/cms/biz/IHistoryLogBiz.java
+++ b/src/main/java/net/mingsoft/cms/biz/IHistoryLogBiz.java
@@ -18,19 +18,19 @@
* 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;
-
-import net.mingsoft.base.biz.IBaseBiz;
-
-
-/**
- * 文章浏览记录业务
- * @author 铭飞开发团队
- * 创建日期:2019-12-23 9:24:03
- * 历史修订:
- */
-public interface IHistoryLogBiz extends IBaseBiz {
-
-}
+
+
+package net.mingsoft.cms.biz;
+
+import net.mingsoft.base.biz.IBaseBiz;
+
+
+/**
+ * 文章浏览记录业务
+ * @author 铭飞开发团队
+ * 创建日期:2019-12-23 9:24:03
+ * 历史修订:
+ */
+public interface IHistoryLogBiz extends IBaseBiz {
+
+}
diff --git a/src/main/java/net/mingsoft/cms/biz/impl/CategoryBizImpl.java b/src/main/java/net/mingsoft/cms/biz/impl/CategoryBizImpl.java
index 1fdcfcd7..7419beb7 100755
--- a/src/main/java/net/mingsoft/cms/biz/impl/CategoryBizImpl.java
+++ b/src/main/java/net/mingsoft/cms/biz/impl/CategoryBizImpl.java
@@ -18,301 +18,301 @@
* 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 cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import net.mingsoft.base.biz.impl.BaseBizImpl;
-import net.mingsoft.base.dao.IBaseDao;
-import net.mingsoft.basic.util.PinYinUtil;
-import net.mingsoft.cms.biz.ICategoryBiz;
-import net.mingsoft.cms.dao.ICategoryDao;
-import net.mingsoft.cms.dao.IContentDao;
-import net.mingsoft.cms.entity.CategoryEntity;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * 分类管理持久化层
- * @author 铭飞开发团队
- * 创建日期:2019-11-28 15:12:32
- * 历史修订:
- */
-@Service("cmscategoryBizImpl")
-@Transactional(rollbackFor = RuntimeException.class)
-public class CategoryBizImpl extends BaseBizImpl implements ICategoryBiz {
-
-
- @Autowired
- private ICategoryDao categoryDao;
-
- @Autowired
- private IContentDao contentDao;
-
-
- @Override
- protected IBaseDao getDao() {
- // TODO Auto-generated method stub
- return categoryDao;
- }
-
- @Override
- public List queryChildren(CategoryEntity category) {
- // TODO Auto-generated method stub
- return categoryDao.queryChildren(category);
- }
-
- @Override
- public void saveEntity(CategoryEntity categoryEntity) {
- // TODO Auto-generated method stub
- String pingYin = PinYinUtil.getPingYin(categoryEntity.getCategoryTitle());
- //如果用户自己填入了拼音则使用用户的
- if (StrUtil.isNotBlank(categoryEntity.getCategoryPinyin())) {
- pingYin = categoryEntity.getCategoryPinyin();
- }
- CategoryEntity category = new CategoryEntity();
- category.setCategoryPinyin(pingYin);
- Object categoryBizEntity = getEntity(category);
- setParentId(categoryEntity);
- categoryEntity.setCategoryPinyin(pingYin);
- //更新新的父级
- if (StrUtil.isNotBlank(categoryEntity.getCategoryId()) && !"0".equals(categoryEntity.getCategoryId())) {
- CategoryEntity parent = getById(categoryEntity.getCategoryId());
- //如果之前是叶子节点就更新
- if (parent.getLeaf()) {
- parent.setLeaf(false);
- updateById(parent);
- }
- }
- categoryEntity.setLeaf(false);
- //如果是新增栏目一定是叶子节点
- if (StrUtil.isEmpty(categoryEntity.getId())) {
- categoryEntity.setLeaf(true);
- }
- super.save(categoryEntity);
- //拼音存在则拼接id
- if (categoryBizEntity != null) {
- categoryEntity.setCategoryPinyin(pingYin + categoryEntity.getId());
- }
- CategoryEntity parentCategory = null;
- if (StringUtils.isNotBlank(categoryEntity.getCategoryId())) {
- parentCategory = (CategoryEntity) getById(categoryEntity.getCategoryId());
- }
- //保存链接地址
- String path = ObjectUtil.isNotNull(parentCategory) ? parentCategory.getCategoryPath() : "";
- categoryEntity.setCategoryPath(path + "/" + categoryEntity.getCategoryPinyin());
- setTopId(categoryEntity);
- super.updateById(categoryEntity);
- }
-
- private void setParentId(CategoryEntity categoryEntity) {
- String path = "";
- if (StringUtils.isNotEmpty(categoryEntity.getCategoryId()) && Long.parseLong(categoryEntity.getCategoryId()) > 0) {
- CategoryEntity category = (CategoryEntity) getById(categoryEntity.getCategoryId());
- path = category.getCategoryPath();
- if (StringUtils.isEmpty(category.getCategoryParentIds())) {
- categoryEntity.setCategoryParentIds(category.getId());
- } else {
- categoryEntity.setCategoryParentIds(category.getCategoryParentIds() + "," + category.getId());
- }
- } else {
- categoryEntity.setCategoryParentIds(null);
- }
- //保存时先保存再修改链接地址,修改时直接修改
- if (StringUtils.isNotBlank(categoryEntity.getId())) {
- categoryEntity.setCategoryPath(path + "/" + categoryEntity.getCategoryPinyin());
- }
-
- }
-
- private void setChildParentId(CategoryEntity categoryEntity, String topId) {
- CategoryEntity category = new CategoryEntity();
- category.setCategoryId(categoryEntity.getId());
- List list = categoryDao.query(category);
- list.forEach(x -> {
- if (StringUtils.isEmpty(categoryEntity.getCategoryParentIds())) {
- x.setCategoryParentIds(categoryEntity.getId());
- } else {
- x.setCategoryParentIds(categoryEntity.getCategoryParentIds() + "," + categoryEntity.getId());
- }
- //更新topid
- x.setTopId(topId);
- String path = categoryEntity.getCategoryPath();
- //判断是否有parentIds
- x.setCategoryPath(path + "/" + x.getCategoryPinyin());
- //去除多余的/符号
- super.updateEntity(x);
- setChildParentId(x, topId);
- });
- }
-
- @Override
- public void updateEntity(CategoryEntity entity) {
- setParentId(entity);
- String pingYin = entity.getCategoryPinyin();
- if (StrUtil.isNotBlank(pingYin)) {
- CategoryEntity category = new CategoryEntity();
- category.setCategoryPinyin(pingYin);
- CategoryEntity categoryBizEntity = (CategoryEntity) getEntity(category);
- //拼音存在则拼接id
- if (categoryBizEntity != null && !categoryBizEntity.getId().equals(entity.getId())) {
- entity.setCategoryPinyin(pingYin + entity.getId());
- }
- }
- setParentLeaf(entity);
- setTopId(entity);
- //如果父级栏目和父级id为空字符串则转化成null
- if (StringUtils.isEmpty(entity.getCategoryId())) {
- entity.setCategoryId(null);
- }
- if (StringUtils.isEmpty(entity.getCategoryParentIds())) {
- entity.setCategoryParentIds(null);
- }
- categoryDao.updateEntity(entity);
- //更新子节点所有父节点id和topid
- //如果本节点的topid为0(顶级栏目),则把自身的id作为子栏目的topid,非0所有的子栏目和本栏目使用同一个topid
- String topId = entity.getTopId();
- if (topId.equals("0")) {
- topId = entity.getId();
- }
- setChildParentId(entity, topId);
- }
-
-
- @Override
- public void update(CategoryEntity entity) {
- super.updateEntity(entity);
- }
-
- @Override
- public void delete(String categoryId) {
- // TODO Auto-generated method stub
- CategoryEntity category = (CategoryEntity) categoryDao.selectById(categoryId);
- //删除父类
- if (category != null) {
- List childrenList = categoryDao.queryChildren(category);
- List ids = new ArrayList<>();
- for (int i = 0; i < childrenList.size(); i++) {
- //删除子类
- ids.add(childrenList.get(i).getId());
- }
- categoryDao.deleteBatchIds(ids);
- // 删除文章
- contentDao.deleteEntityByCategoryIds(ids.toArray(new String[ids.size()]));
-
- //获取被删节点的父节点
- CategoryEntity parentNode = categoryDao.selectById(category.getCategoryId());
- //获取被删节点的所属栏目的其他节点
- List childNode = categoryDao.queryChildren(parentNode);
- //判断删除的是否为主节点
- if (parentNode != null) {
- UpdateWrapper updateWrapper = new UpdateWrapper<>();
- //如果没有子节点进行更新代码
- if (childNode.size() == 1) {
- updateWrapper.eq("id", parentNode.getId()).set("leaf", 1);
- categoryDao.update(null, updateWrapper);
- }
-
- }
-
- }
- }
-
- /**
- * 设置父级叶子节点
- * @param entity
- */
- private void setParentLeaf(CategoryEntity entity) {
- CategoryEntity categoryEntity = getById(entity.getId());
- //如果父级不为空并且修改了父级则需要更新父级
- if (entity.getCategoryId() != null && !entity.getCategoryId().equals(categoryEntity.getCategoryId())) {
- //更新旧的父级
- if (StrUtil.isNotBlank(categoryEntity.getCategoryId()) && !"0".equals(categoryEntity.getCategoryId())) {
- CategoryEntity parent = getById(categoryEntity.getCategoryId());
- //如果修改了父级则需要判断父级是否还有子节点
- boolean leaf = parent.getLeaf();
- //查找不等于当前更新的分类子集,有则不是叶子节点
- QueryWrapper queryWrapper = new QueryWrapper<>();
- parent.setLeaf(count(queryWrapper.eq("category_id", parent.getId()).ne("id", entity.getId())) == 0);
- if (leaf != parent.getLeaf()) {
- updateById(parent);
- }
-
- }
- //更新新的父级
- if (StrUtil.isNotBlank(entity.getCategoryId()) && !"0".equals(entity.getCategoryId())) {
- CategoryEntity parent = getById(entity.getCategoryId());
- //如果之前是叶子节点就更新
- if (parent.getLeaf()) {
- parent.setLeaf(false);
- updateById(parent);
- }
- }
- }
- }
-
- /**
- * 设置顶级id
- * @param entity
- */
- private void setTopId(CategoryEntity entity) {
- String categoryParentId = entity.getCategoryParentIds();
- if (StrUtil.isNotBlank(categoryParentId)) {
- String[] ids = categoryParentId.split(",");
- //如果有ParentId就取第一个
- if (ids.length > 0) {
- entity.setTopId(ids[0]);
- return;
- }
- }
- entity.setTopId("0");
- }
-
- @Override
- public void copyCategory(CategoryEntity category) {
- String oldId = category.getId();
- //先保存被复制第一层栏目,因为第一层栏目不需要变更父级栏目
- category = getById(oldId);
- //id、拼音和路径按照原来的业务逻辑生成
- category.setId(null);
- category.setCategoryPinyin(null);
- category.setCategoryPath(null);
- saveEntity(category);
- //传入简要被复制子栏目的id和复制后的生成的id,复制的子栏目全部使用
- recursionCopyChilds(oldId, category.getId());
- }
-
- /*
- * 递归复制子栏目
- * @param oldParentId:被复制的父级栏目id(需要数据库原来存在该数据)
- * @param newParentId:复制栏目后新父级的id(新插入数据的id)
- * */
- private void recursionCopyChilds(String oldParentId, String newParentId) {
- CategoryEntity _category = new CategoryEntity();
- _category.setCategoryId(oldParentId);
- List childs = query(_category);
- for (CategoryEntity child : childs) {
- String childId = child.getId();
- //id、拼音和路径按照原来的业务逻辑生成
- child.setId(null);
- child.setCategoryPinyin(null);
- child.setCategoryPath(null);
- child.setCategoryId(newParentId);
- saveEntity(child);
- //如果该栏目下还有子栏目则继续复制该栏目里的子栏目
- recursionCopyChilds(childId, child.getId());
- }
- }
-
-}
+
+
+
+
+package net.mingsoft.cms.biz.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import net.mingsoft.base.biz.impl.BaseBizImpl;
+import net.mingsoft.base.dao.IBaseDao;
+import net.mingsoft.basic.util.PinYinUtil;
+import net.mingsoft.cms.biz.ICategoryBiz;
+import net.mingsoft.cms.dao.ICategoryDao;
+import net.mingsoft.cms.dao.IContentDao;
+import net.mingsoft.cms.entity.CategoryEntity;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 分类管理持久化层
+ * @author 铭飞开发团队
+ * 创建日期:2019-11-28 15:12:32
+ * 历史修订:
+ */
+@Service("cmscategoryBizImpl")
+@Transactional(rollbackFor = RuntimeException.class)
+public class CategoryBizImpl extends BaseBizImpl implements ICategoryBiz {
+
+
+ @Autowired
+ private ICategoryDao categoryDao;
+
+ @Autowired
+ private IContentDao contentDao;
+
+
+ @Override
+ protected IBaseDao getDao() {
+ // TODO Auto-generated method stub
+ return categoryDao;
+ }
+
+ @Override
+ public List queryChildren(CategoryEntity category) {
+ // TODO Auto-generated method stub
+ return categoryDao.queryChildren(category);
+ }
+
+ @Override
+ public void saveEntity(CategoryEntity categoryEntity) {
+ // TODO Auto-generated method stub
+ String pingYin = PinYinUtil.getPingYin(categoryEntity.getCategoryTitle());
+ //如果用户自己填入了拼音则使用用户的
+ if (StrUtil.isNotBlank(categoryEntity.getCategoryPinyin())) {
+ pingYin = categoryEntity.getCategoryPinyin();
+ }
+ CategoryEntity category = new CategoryEntity();
+ category.setCategoryPinyin(pingYin);
+ Object categoryBizEntity = getEntity(category);
+ setParentId(categoryEntity);
+ categoryEntity.setCategoryPinyin(pingYin);
+ //更新新的父级
+ if (StrUtil.isNotBlank(categoryEntity.getCategoryId()) && !"0".equals(categoryEntity.getCategoryId())) {
+ CategoryEntity parent = getById(categoryEntity.getCategoryId());
+ //如果之前是叶子节点就更新
+ if (parent.getLeaf()) {
+ parent.setLeaf(false);
+ updateById(parent);
+ }
+ }
+ categoryEntity.setLeaf(false);
+ //如果是新增栏目一定是叶子节点
+ if (StrUtil.isEmpty(categoryEntity.getId())) {
+ categoryEntity.setLeaf(true);
+ }
+ super.save(categoryEntity);
+ //拼音存在则拼接id
+ if (categoryBizEntity != null) {
+ categoryEntity.setCategoryPinyin(pingYin + categoryEntity.getId());
+ }
+ CategoryEntity parentCategory = null;
+ if (StringUtils.isNotBlank(categoryEntity.getCategoryId())) {
+ parentCategory = (CategoryEntity) getById(categoryEntity.getCategoryId());
+ }
+ //保存链接地址
+ String path = ObjectUtil.isNotNull(parentCategory) ? parentCategory.getCategoryPath() : "";
+ categoryEntity.setCategoryPath(path + "/" + categoryEntity.getCategoryPinyin());
+ setTopId(categoryEntity);
+ super.updateById(categoryEntity);
+ }
+
+ private void setParentId(CategoryEntity categoryEntity) {
+ String path = "";
+ if (StringUtils.isNotEmpty(categoryEntity.getCategoryId()) && Long.parseLong(categoryEntity.getCategoryId()) > 0) {
+ CategoryEntity category = (CategoryEntity) getById(categoryEntity.getCategoryId());
+ path = category.getCategoryPath();
+ if (StringUtils.isEmpty(category.getCategoryParentIds())) {
+ categoryEntity.setCategoryParentIds(category.getId());
+ } else {
+ categoryEntity.setCategoryParentIds(category.getCategoryParentIds() + "," + category.getId());
+ }
+ } else {
+ categoryEntity.setCategoryParentIds(null);
+ }
+ //保存时先保存再修改链接地址,修改时直接修改
+ if (StringUtils.isNotBlank(categoryEntity.getId())) {
+ categoryEntity.setCategoryPath(path + "/" + categoryEntity.getCategoryPinyin());
+ }
+
+ }
+
+ private void setChildParentId(CategoryEntity categoryEntity, String topId) {
+ CategoryEntity category = new CategoryEntity();
+ category.setCategoryId(categoryEntity.getId());
+ List list = categoryDao.query(category);
+ list.forEach(x -> {
+ if (StringUtils.isEmpty(categoryEntity.getCategoryParentIds())) {
+ x.setCategoryParentIds(categoryEntity.getId());
+ } else {
+ x.setCategoryParentIds(categoryEntity.getCategoryParentIds() + "," + categoryEntity.getId());
+ }
+ //更新topid
+ x.setTopId(topId);
+ String path = categoryEntity.getCategoryPath();
+ //判断是否有parentIds
+ x.setCategoryPath(path + "/" + x.getCategoryPinyin());
+ //去除多余的/符号
+ super.updateEntity(x);
+ setChildParentId(x, topId);
+ });
+ }
+
+ @Override
+ public void updateEntity(CategoryEntity entity) {
+ setParentId(entity);
+ String pingYin = entity.getCategoryPinyin();
+ if (StrUtil.isNotBlank(pingYin)) {
+ CategoryEntity category = new CategoryEntity();
+ category.setCategoryPinyin(pingYin);
+ CategoryEntity categoryBizEntity = (CategoryEntity) getEntity(category);
+ //拼音存在则拼接id
+ if (categoryBizEntity != null && !categoryBizEntity.getId().equals(entity.getId())) {
+ entity.setCategoryPinyin(pingYin + entity.getId());
+ }
+ }
+ setParentLeaf(entity);
+ setTopId(entity);
+ //如果父级栏目和父级id为空字符串则转化成null
+ if (StringUtils.isEmpty(entity.getCategoryId())) {
+ entity.setCategoryId(null);
+ }
+ if (StringUtils.isEmpty(entity.getCategoryParentIds())) {
+ entity.setCategoryParentIds(null);
+ }
+ categoryDao.updateEntity(entity);
+ //更新子节点所有父节点id和topid
+ //如果本节点的topid为0(顶级栏目),则把自身的id作为子栏目的topid,非0所有的子栏目和本栏目使用同一个topid
+ String topId = entity.getTopId();
+ if (topId.equals("0")) {
+ topId = entity.getId();
+ }
+ setChildParentId(entity, topId);
+ }
+
+
+ @Override
+ public void update(CategoryEntity entity) {
+ super.updateEntity(entity);
+ }
+
+ @Override
+ public void delete(String categoryId) {
+ // TODO Auto-generated method stub
+ CategoryEntity category = (CategoryEntity) categoryDao.selectById(categoryId);
+ //删除父类
+ if (category != null) {
+ List childrenList = categoryDao.queryChildren(category);
+ List ids = new ArrayList<>();
+ for (int i = 0; i < childrenList.size(); i++) {
+ //删除子类
+ ids.add(childrenList.get(i).getId());
+ }
+ categoryDao.deleteBatchIds(ids);
+ // 删除文章
+ contentDao.deleteEntityByCategoryIds(ids.toArray(new String[ids.size()]));
+
+ //获取被删节点的父节点
+ CategoryEntity parentNode = categoryDao.selectById(category.getCategoryId());
+ //获取被删节点的所属栏目的其他节点
+ List childNode = categoryDao.queryChildren(parentNode);
+ //判断删除的是否为主节点
+ if (parentNode != null) {
+ UpdateWrapper updateWrapper = new UpdateWrapper<>();
+ //如果没有子节点进行更新代码
+ if (childNode.size() == 1) {
+ updateWrapper.eq("id", parentNode.getId()).set("leaf", 1);
+ categoryDao.update(null, updateWrapper);
+ }
+
+ }
+
+ }
+ }
+
+ /**
+ * 设置父级叶子节点
+ * @param entity
+ */
+ private void setParentLeaf(CategoryEntity entity) {
+ CategoryEntity categoryEntity = getById(entity.getId());
+ //如果父级不为空并且修改了父级则需要更新父级
+ if (entity.getCategoryId() != null && !entity.getCategoryId().equals(categoryEntity.getCategoryId())) {
+ //更新旧的父级
+ if (StrUtil.isNotBlank(categoryEntity.getCategoryId()) && !"0".equals(categoryEntity.getCategoryId())) {
+ CategoryEntity parent = getById(categoryEntity.getCategoryId());
+ //如果修改了父级则需要判断父级是否还有子节点
+ boolean leaf = parent.getLeaf();
+ //查找不等于当前更新的分类子集,有则不是叶子节点
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ parent.setLeaf(count(queryWrapper.eq("category_id", parent.getId()).ne("id", entity.getId())) == 0);
+ if (leaf != parent.getLeaf()) {
+ updateById(parent);
+ }
+
+ }
+ //更新新的父级
+ if (StrUtil.isNotBlank(entity.getCategoryId()) && !"0".equals(entity.getCategoryId())) {
+ CategoryEntity parent = getById(entity.getCategoryId());
+ //如果之前是叶子节点就更新
+ if (parent.getLeaf()) {
+ parent.setLeaf(false);
+ updateById(parent);
+ }
+ }
+ }
+ }
+
+ /**
+ * 设置顶级id
+ * @param entity
+ */
+ private void setTopId(CategoryEntity entity) {
+ String categoryParentId = entity.getCategoryParentIds();
+ if (StrUtil.isNotBlank(categoryParentId)) {
+ String[] ids = categoryParentId.split(",");
+ //如果有ParentId就取第一个
+ if (ids.length > 0) {
+ entity.setTopId(ids[0]);
+ return;
+ }
+ }
+ entity.setTopId("0");
+ }
+
+ @Override
+ public void copyCategory(CategoryEntity category) {
+ String oldId = category.getId();
+ //先保存被复制第一层栏目,因为第一层栏目不需要变更父级栏目
+ category = getById(oldId);
+ //id、拼音和路径按照原来的业务逻辑生成
+ category.setId(null);
+ category.setCategoryPinyin(null);
+ category.setCategoryPath(null);
+ saveEntity(category);
+ //传入简要被复制子栏目的id和复制后的生成的id,复制的子栏目全部使用
+ recursionCopyChilds(oldId, category.getId());
+ }
+
+ /*
+ * 递归复制子栏目
+ * @param oldParentId:被复制的父级栏目id(需要数据库原来存在该数据)
+ * @param newParentId:复制栏目后新父级的id(新插入数据的id)
+ * */
+ private void recursionCopyChilds(String oldParentId, String newParentId) {
+ CategoryEntity _category = new CategoryEntity();
+ _category.setCategoryId(oldParentId);
+ List childs = query(_category);
+ for (CategoryEntity child : childs) {
+ String childId = child.getId();
+ //id、拼音和路径按照原来的业务逻辑生成
+ child.setId(null);
+ child.setCategoryPinyin(null);
+ child.setCategoryPath(null);
+ child.setCategoryId(newParentId);
+ saveEntity(child);
+ //如果该栏目下还有子栏目则继续复制该栏目里的子栏目
+ recursionCopyChilds(childId, child.getId());
+ }
+ }
+
+}
diff --git a/src/main/java/net/mingsoft/cms/biz/impl/HistoryLogBizImpl.java b/src/main/java/net/mingsoft/cms/biz/impl/HistoryLogBizImpl.java
index 706f1eaf..4c133253 100755
--- a/src/main/java/net/mingsoft/cms/biz/impl/HistoryLogBizImpl.java
+++ b/src/main/java/net/mingsoft/cms/biz/impl/HistoryLogBizImpl.java
@@ -1,53 +1,53 @@
-/**
- * The MIT License (MIT)
- * Copyright (c) 2012-2022 铭软科技(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.biz.impl;
-
-import net.mingsoft.cms.biz.IHistoryLogBiz;
-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 net.mingsoft.cms.dao.ICmsHistoryLogDao;
-
-/**
- * 文章浏览记录管理持久化层
- * @author 铭飞开发团队
- * 创建日期:2019-12-23 9:24:03
- * 历史修订:
- */
- @Service("cmshistoryLogBizImpl")
-public class HistoryLogBizImpl extends BaseBizImpl implements IHistoryLogBiz {
-
-
- @Autowired
- private ICmsHistoryLogDao historyLogDao;
-
-
- @Override
- protected IBaseDao getDao() {
- // TODO Auto-generated method stub
- return historyLogDao;
- }
-}
+/**
+ * The MIT License (MIT)
+ * Copyright (c) 2012-2022 铭软科技(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.biz.impl;
+
+import net.mingsoft.base.biz.impl.BaseBizImpl;
+import net.mingsoft.base.dao.IBaseDao;
+import net.mingsoft.cms.biz.IHistoryLogBiz;
+import net.mingsoft.cms.dao.ICmsHistoryLogDao;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 文章浏览记录管理持久化层
+ * @author 铭飞开发团队
+ * 创建日期:2019-12-23 9:24:03
+ * 历史修订:
+ */
+ @Service("cmshistoryLogBizImpl")
+public class HistoryLogBizImpl extends BaseBizImpl implements IHistoryLogBiz {
+
+
+ @Autowired
+ private ICmsHistoryLogDao historyLogDao;
+
+
+ @Override
+ protected IBaseDao getDao() {
+ // TODO Auto-generated method stub
+ return historyLogDao;
+ }
+}
diff --git a/src/main/java/net/mingsoft/cms/constant/Const.java b/src/main/java/net/mingsoft/cms/constant/Const.java
index 1d93ed23..e2ac0e78 100755
--- a/src/main/java/net/mingsoft/cms/constant/Const.java
+++ b/src/main/java/net/mingsoft/cms/constant/Const.java
@@ -18,17 +18,17 @@
* 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;
-
-/**
- * @Author: 铭飞开源团队--huise
- * @Date: 2019/8/9 20:51
- */
-public class Const {
- /**
- * 资源文件
- */
- public final static String RESOURCES = "net.mingsoft.cms.resources.resources";
-}
+
+
+package net.mingsoft.cms.constant;
+
+/**
+ * @Author: 铭飞开源团队--huise
+ * @Date: 2019/8/9 20:51
+ */
+public class Const {
+ /**
+ * 资源文件
+ */
+ public final static String RESOURCES = "net.mingsoft.cms.resources.resources";
+}
diff --git a/src/main/java/net/mingsoft/cms/dao/ICategoryDao.java b/src/main/java/net/mingsoft/cms/dao/ICategoryDao.java
index 1b975f33..f8224fa5 100755
--- a/src/main/java/net/mingsoft/cms/dao/ICategoryDao.java
+++ b/src/main/java/net/mingsoft/cms/dao/ICategoryDao.java
@@ -18,30 +18,30 @@
* 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.dao;
-
-import net.mingsoft.base.dao.IBaseDao;
-import net.mingsoft.cms.entity.CategoryEntity;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-
-/**
- * 分类持久层
- * @author 铭飞开发团队
- * 创建日期:2019-11-28 15:12:32
- * 历史修订:
- */
-@Component("cmsCategoryDao")
-public interface ICategoryDao extends IBaseDao {
-
- /**
- * 查询当前分类下面的所有子分类
- * @param category 必须存在categoryId categoryParentId
- * @return
- */
- public List queryChildren(CategoryEntity category);
-
-}
+
+
+package net.mingsoft.cms.dao;
+
+import net.mingsoft.base.dao.IBaseDao;
+import net.mingsoft.cms.entity.CategoryEntity;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * 分类持久层
+ * @author 铭飞开发团队
+ * 创建日期:2019-11-28 15:12:32
+ * 历史修订:
+ */
+@Component("cmsCategoryDao")
+public interface ICategoryDao extends IBaseDao {
+
+ /**
+ * 查询当前分类下面的所有子分类
+ * @param category 必须存在categoryId categoryParentId
+ * @return
+ */
+ public List queryChildren(CategoryEntity category);
+
+}
diff --git a/src/main/java/net/mingsoft/cms/dao/ICmsHistoryLogDao.java b/src/main/java/net/mingsoft/cms/dao/ICmsHistoryLogDao.java
index 233009c9..ae3e8dc1 100755
--- a/src/main/java/net/mingsoft/cms/dao/ICmsHistoryLogDao.java
+++ b/src/main/java/net/mingsoft/cms/dao/ICmsHistoryLogDao.java
@@ -18,17 +18,17 @@
* 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.dao;
-
-import net.mingsoft.base.dao.IBaseDao;
-
-/**
- * 文章浏览记录持久层
- * @author 铭飞开发团队
- * 创建日期:2019-12-23 9:24:03
- * 历史修订:
- */
-public interface ICmsHistoryLogDao extends IBaseDao {
-}
+
+
+package net.mingsoft.cms.dao;
+
+import net.mingsoft.base.dao.IBaseDao;
+
+/**
+ * 文章浏览记录持久层
+ * @author 铭飞开发团队
+ * 创建日期:2019-12-23 9:24:03
+ * 历史修订:
+ */
+public interface ICmsHistoryLogDao extends IBaseDao {
+}
diff --git a/src/main/java/net/mingsoft/cms/dao/IContentDao.xml b/src/main/java/net/mingsoft/cms/dao/IContentDao.xml
index 3b1b3ff3..55dbd529 100755
--- a/src/main/java/net/mingsoft/cms/dao/IContentDao.xml
+++ b/src/main/java/net/mingsoft/cms/dao/IContentDao.xml
@@ -16,7 +16,7 @@
-
+
@@ -39,7 +39,7 @@
-
+
@@ -91,7 +91,7 @@
content_description,
content_keyword,
content_details,
- content_url,
+ content_out_link,
content_hit,
create_by,
create_date,
@@ -138,7 +138,7 @@
content_description=#{contentDescription},
content_keyword=#{contentKeyword},
content_details=#{contentDetails},
- content_url=#{contentUrl},
+ content_out_link=#{contentOutLink},
content_hit=#{contentHit},
create_by=#{createBy},
create_date=#{createDate},
@@ -171,7 +171,7 @@
and content_description=#{contentDescription}
and content_keyword=#{contentKeyword}
and content_details=#{contentDetails}
- and content_url=#{contentUrl}
+ and content_out_link=#{contentOutLink}
and content_hit=#{contentHit}
and create_by=#{createBy}
and create_date=#{createDate}
@@ -236,7 +236,7 @@
and content_description=#{contentDescription}
and content_keyword=#{contentKeyword}
and content_details=#{contentDetails}
- and content_url=#{contentUrl}
+ and content_out_link=#{contentOutLink}
and content_hit=#{contentHit}
and ct.create_by=#{createBy}
and ct.create_date=#{createDate}
@@ -273,7 +273,7 @@
and content_description=#{contentDescription}
and content_keyword=#{contentKeyword}
and content_details=#{contentDetails}
- and content_url=#{contentUrl}
+ and content_out_link=#{contentOutLink}
and content_hit=#{contentHit}
and ct.create_by=#{createBy}
and ct.create_date=#{createDate}
@@ -287,10 +287,10 @@