diff --git a/pom.xml b/pom.xml index 9e715075..60e281f5 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.springframework.boot spring-boot-starter-parent - 2.3.12.RELEASE + 2.7.7 4.0.0 net.mingsoft @@ -44,24 +44,24 @@ net.mingsoft ms-base - 2.1.16 + 2.1.17 net.mingsoft ms-basic - 2.1.16 + 2.1.17 net.mingsoft ms-mdiy - 2.1.16 + 2.1.17 net.mingsoft store-client - 2.1.16.1 + 17 com.github.oshi diff --git a/src/main/java/net/mingsoft/cms/action/CategoryAction.java b/src/main/java/net/mingsoft/cms/action/CategoryAction.java index 32609b96..e4797f8c 100755 --- a/src/main/java/net/mingsoft/cms/action/CategoryAction.java +++ b/src/main/java/net/mingsoft/cms/action/CategoryAction.java @@ -152,7 +152,7 @@ public class CategoryAction extends BaseAction { @RequiresPermissions("cms:category:save") public ResultData save(@ModelAttribute @ApiIgnore CategoryEntity category) { //验证缩略图参数值是否合法 - if (!category.getCategoryImg().matches("^\\[.{1,}]$") || category.getCategoryImg() == null) { + if (category.getCategoryImg() == null || !category.getCategoryImg().matches("^\\[.{1,}]$")) { category.setCategoryImg(""); } //验证栏目管理名称的值是否合法 @@ -172,7 +172,7 @@ public class CategoryAction extends BaseAction { //判断拼音是否重复 if (StrUtil.isNotBlank(category.getCategoryPinyin())) { if (!category.getCategoryPinyin().matches("^[a-zA-Z0-9]*$")){ - return ResultData.build().error(this.getResString("err.format")); + return ResultData.build().error(this.getResString("err.error",this.getResString("category.pinyin"))); } CategoryEntity _category = new CategoryEntity(); _category.setCategoryPinyin(category.getCategoryPinyin()); @@ -237,7 +237,7 @@ public class CategoryAction extends BaseAction { @RequiresPermissions("cms:category:update") public ResultData update(@ModelAttribute @ApiIgnore CategoryEntity category) { //验证缩略图参数值是否合法 - if (!category.getCategoryImg().matches("^\\[.{1,}]$") || category.getCategoryImg() == null) { + if (category.getCategoryImg() == null || !category.getCategoryImg().matches("^\\[.{1,}]$")) { category.setCategoryImg(""); } //验证栏目管理名称的值是否合法 @@ -257,7 +257,7 @@ public class CategoryAction extends BaseAction { //判断拼音是否重复并且是否和原拼音相同 if (StrUtil.isNotBlank(category.getCategoryPinyin()) && !categoryBiz.getById(category.getId()).getCategoryPinyin().equals(category.getCategoryPinyin())) { if (!category.getCategoryPinyin().matches("^[a-zA-Z0-9]*$")){ - return ResultData.build().error(this.getResString("err.format")); + return ResultData.build().error(this.getResString("err.error",this.getResString("category.pinyin"))); } CategoryEntity _category = new CategoryEntity(); _category.setCategoryPinyin(category.getCategoryPinyin()); diff --git a/src/main/java/net/mingsoft/cms/action/GeneraterAction.java b/src/main/java/net/mingsoft/cms/action/GeneraterAction.java index 2173d48c..f0197e3c 100755 --- a/src/main/java/net/mingsoft/cms/action/GeneraterAction.java +++ b/src/main/java/net/mingsoft/cms/action/GeneraterAction.java @@ -26,6 +26,8 @@ package net.mingsoft.cms.action; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.copier.CopyOptions; +import cn.hutool.core.date.DateException; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.io.FileUtil; import net.mingsoft.base.entity.ResultData; import net.mingsoft.basic.annotation.LogAnn; @@ -58,6 +60,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -131,7 +134,7 @@ public class GeneraterAction extends BaseAction { // 获取文件所在路径 首先判断用户输入的模版文件是否存在 if (!FileUtil.exist(ParserUtil.buildTemplatePath())) { - return ResultData.build().error(getResString("templet.file")); + return ResultData.build().error(getResString("template.file")); } else { CmsParserUtil.generate(tmpFileName, generateFileName, htmlDir); @@ -208,7 +211,7 @@ public class GeneraterAction extends BaseAction { BeanUtil.copyProperties(column, columnArticleIdBean, copyOptions); articleIdList.add(columnArticleIdBean); } - CmsParserUtil.generateBasic(articleIdList, htmlDir); + CmsParserUtil.generateBasic(articleIdList, htmlDir,null); break; } } @@ -235,6 +238,14 @@ public class GeneraterAction extends BaseAction { ContentBean contentBean = new ContentBean(); contentBean.setBeginTime(dateTime); + // 时间格式化 + Date contentUpdateTime = null; + try { + contentUpdateTime = DateUtil.parse(dateTime); + } catch (DateException e) { + e.printStackTrace(); + return ResultData.build().error(getResString("err.error",this.getResString("datetime.format"))); + } if ("0".equals(columnId)) { categoryList = categoryBiz.list(); } else { //选择栏目更新 @@ -252,7 +263,7 @@ public class GeneraterAction extends BaseAction { contentBean.setCategoryType(category.getCategoryType()); contentBean.setOrderBy("date"); //将文章列表标签中的中的参数 - articleIdList = contentBiz.queryIdsByCategoryIdForParserAndNotCover(contentBean); + articleIdList = contentBiz.queryIdsByCategoryIdForParser(contentBean); // 分类是列表 if (category.getCategoryType().equals(CategoryTypeEnum.LIST.toString())) { // 判断模板文件是否存在 @@ -265,7 +276,7 @@ public class GeneraterAction extends BaseAction { } // 有符合条件的就更新 if (articleIdList.size() > 0) { - CmsParserUtil.generateBasic(articleIdList, htmlDir); + CmsParserUtil.generateBasic(articleIdList, htmlDir,contentUpdateTime); } } 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 b2fcd1fc..7ab46dfc 100755 --- a/src/main/java/net/mingsoft/cms/action/web/MCmsAction.java +++ b/src/main/java/net/mingsoft/cms/action/web/MCmsAction.java @@ -23,7 +23,7 @@ package net.mingsoft.cms.action.web; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.PageUtil; -import com.alibaba.fastjson.JSON; +import cn.hutool.json.JSONUtil; import freemarker.core.ParseException; import freemarker.template.MalformedTemplateNameException; import freemarker.template.TemplateNotFoundException; @@ -355,7 +355,7 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction { @Override public String toString() { - return JSON.toJSONString(this); + return JSONUtil.toJsonStr(this); } } diff --git a/src/main/java/net/mingsoft/cms/aop/CategoryAop.java b/src/main/java/net/mingsoft/cms/aop/CategoryAop.java index ca1578d1..38b15b75 100644 --- a/src/main/java/net/mingsoft/cms/aop/CategoryAop.java +++ b/src/main/java/net/mingsoft/cms/aop/CategoryAop.java @@ -7,7 +7,7 @@ package net.mingsoft.cms.aop; import cn.hutool.core.io.FileUtil; -import com.alibaba.fastjson.JSONObject; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import net.mingsoft.base.entity.ResultData; @@ -78,7 +78,7 @@ public class CategoryAop extends net.mingsoft.basic.aop.BaseAop { // 获取返回值 Object obj = pjp.proceed(pjp.getArgs()); - ResultData resultData = JSONObject.parseObject(JSONObject.toJSON(obj).toString(), ResultData.class); + ResultData resultData = JSONUtil.toBean(JSONUtil.toJsonStr(obj), ResultData.class); CategoryEntity parent = categoryDao.selectById(category.getCategoryId()); if (parent == null) { return resultData; @@ -90,7 +90,7 @@ public class CategoryAop extends net.mingsoft.basic.aop.BaseAop { // 将父栏目的内容模板清空 parent.setCategoryUrl(""); categoryDao.updateById(parent); - CategoryEntity returnCategory = JSONObject.parseObject(resultData.get(ResultData.DATA_KEY).toString(), CategoryEntity.class); + CategoryEntity returnCategory = JSONUtil.toBean(resultData.get(ResultData.DATA_KEY).toString(), CategoryEntity.class); // 获取父栏目ID集合 String categoryIds = StringUtils.isEmpty(parent.getCategoryParentIds()) ? returnCategory.getId() : parent.getCategoryParentIds() + "," + returnCategory.getId(); diff --git a/src/main/java/net/mingsoft/cms/bean/CategoryBean.java b/src/main/java/net/mingsoft/cms/bean/CategoryBean.java index 35b337d7..f0e8c155 100755 --- a/src/main/java/net/mingsoft/cms/bean/CategoryBean.java +++ b/src/main/java/net/mingsoft/cms/bean/CategoryBean.java @@ -22,7 +22,11 @@ package net.mingsoft.cms.bean; +import com.fasterxml.jackson.annotation.JsonFormat; import net.mingsoft.cms.entity.CategoryEntity; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; /** * 文章实体 @@ -37,8 +41,20 @@ public class CategoryBean extends CategoryEntity { */ private String articleId; + /** + * 文章更新时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + private Date contentUpdateDate; + public Date getContentUpdateDate() { + return contentUpdateDate; + } + public void setContentUpdateDate(Date contentUpdateDate) { + this.contentUpdateDate = contentUpdateDate; + } public String getArticleId() { return articleId; 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 7d55c7e1..85e15fa5 100755 --- a/src/main/java/net/mingsoft/cms/biz/impl/ContentBizImpl.java +++ b/src/main/java/net/mingsoft/cms/biz/impl/ContentBizImpl.java @@ -101,7 +101,7 @@ public class ContentBizImpl extends BaseBizImpl imp @Override public List queryIdsByCategoryIdForParserAndNotCover(ContentBean contentBean) { - return this.contentDao.queryIdsByCategoryIdForParser(contentBean); + return this.contentDao.queryIdsByCategoryIdForParserAndNotCover(contentBean); } @Override diff --git a/src/main/java/net/mingsoft/cms/dao/IContentDao.xml b/src/main/java/net/mingsoft/cms/dao/IContentDao.xml index 55dbd529..05cc6684 100755 --- a/src/main/java/net/mingsoft/cms/dao/IContentDao.xml +++ b/src/main/java/net/mingsoft/cms/dao/IContentDao.xml @@ -52,6 +52,7 @@ + @@ -287,7 +288,7 @@