diff --git a/src/main/java/net/mingsoft/cms/action/GeneraterAction.java b/src/main/java/net/mingsoft/cms/action/GeneraterAction.java index 09bab010..b01c1090 100644 --- a/src/main/java/net/mingsoft/cms/action/GeneraterAction.java +++ b/src/main/java/net/mingsoft/cms/action/GeneraterAction.java @@ -24,7 +24,10 @@ package net.mingsoft.cms.action; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.io.FileUtil; +import net.mingsoft.base.entity.ResultData; +import net.mingsoft.basic.annotation.LogAnn; import net.mingsoft.basic.biz.IModelBiz; +import net.mingsoft.basic.constant.e.BusinessTypeEnum; import net.mingsoft.basic.entity.AppEntity; import net.mingsoft.basic.util.BasicUtil; import net.mingsoft.cms.bean.CategoryBean; @@ -120,8 +123,9 @@ public class GeneraterAction extends BaseAction { */ @RequestMapping("/generateIndex") @RequiresPermissions("cms:generate:index") + @LogAnn(title = "生成主页", businessType = BusinessTypeEnum.UPDATE) @ResponseBody - public void generateIndex(HttpServletRequest request, HttpServletResponse response) { + public ResultData generateIndex(HttpServletRequest request, HttpServletResponse response) throws IOException { // 模版文件名称 String tmpFileName = request.getParameter("url"); // 生成后的文件名称 @@ -129,15 +133,10 @@ public class GeneraterAction extends BaseAction { // 获取文件所在路径 首先判断用户输入的模版文件是否存在 if (!FileUtil.exist(ParserUtil.buildTempletPath())) { - this.outJson(response, false, getResString("templet.file")); + return ResultData.build().error(getResString("templet.file")); } else { - try { - CmsParserUtil.generate(tmpFileName, generateFileName); - this.outJson(response, true); - } catch (IOException e) { - e.printStackTrace(); - this.outJson(response, false); - } + CmsParserUtil.generate(tmpFileName, generateFileName); + return ResultData.build().success(); } } @@ -151,9 +150,10 @@ public class GeneraterAction extends BaseAction { * @param CategoryId */ @RequestMapping("/{CategoryId}/genernateColumn") + @LogAnn(title = "生成栏目", businessType = BusinessTypeEnum.UPDATE) @RequiresPermissions("cms:generate:column") @ResponseBody - public void genernateColumn(HttpServletRequest request, HttpServletResponse response, @PathVariable int CategoryId) { + public ResultData genernateColumn(HttpServletRequest request, HttpServletResponse response, @PathVariable int CategoryId) throws IOException { // 获取站点id AppEntity app = BasicUtil.getApp(); List columns = new ArrayList(); @@ -170,7 +170,6 @@ public class GeneraterAction extends BaseAction { columns = categoryBiz.query(categoryEntity); } List articleIdList = null; - try { // 1、设置模板文件夹路径 // 获取栏目列表模版 for (CategoryEntity column : columns) { @@ -217,11 +216,8 @@ public class GeneraterAction extends BaseAction { break; } } - } catch (IOException e) { - e.printStackTrace(); - this.outJson(response, false); - } - this.outJson(response, true); + + return ResultData.build().success(); } /** @@ -233,8 +229,9 @@ public class GeneraterAction extends BaseAction { */ @RequestMapping("/{columnId}/generateArticle") @RequiresPermissions("cms:generate:article") + @LogAnn(title = "生成文章", businessType = BusinessTypeEnum.UPDATE) @ResponseBody - public void generateArticle(HttpServletRequest request, HttpServletResponse response, @PathVariable String columnId) throws IOException { + public ResultData generateArticle(HttpServletRequest request, HttpServletResponse response, @PathVariable String columnId) throws IOException { String dateTime = request.getParameter("dateTime"); // 网站风格物理路径 List articleIdList = null; @@ -282,7 +279,7 @@ public class GeneraterAction extends BaseAction { // 判断模板文件是否存在 if (!FileUtil.exist(ParserUtil.buildTempletPath(category.getCategoryUrl()))) { LOG.error("模板不存在:{}",category.getCategoryUrl()); - return; + return ResultData.build().error(getResString("templet.file")); } ParserUtil.read(category.getCategoryListUrl(),map, page,attributeBean); contentBean.setFlag(attributeBean.getFlag()); @@ -296,7 +293,7 @@ public class GeneraterAction extends BaseAction { CmsParserUtil.generateBasic(articleIdList); } } - this.outJson(response, true); + return ResultData.build().success(); } diff --git a/src/main/java/net/mingsoft/cms/entity/CategoryEntity.java b/src/main/java/net/mingsoft/cms/entity/CategoryEntity.java index bb6725b4..c94edbd7 100644 --- a/src/main/java/net/mingsoft/cms/entity/CategoryEntity.java +++ b/src/main/java/net/mingsoft/cms/entity/CategoryEntity.java @@ -1,5 +1,8 @@ package net.mingsoft.cms.entity; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.annotation.JSONField; import org.springframework.format.annotation.DateTimeFormat; import com.fasterxml.jackson.annotation.JsonFormat; @@ -338,4 +341,68 @@ private static final long serialVersionUID = 1574925152750L; public String getCategoryParentId() { return this.categoryParentId; } + + /** + * 获取栏目标题 (标签使用) + */ + public String getTypetitle() { + return this.categoryTitle; + } + /** + * 获取栏目链接 (标签使用,动态链接不考虑) + */ + public String getTypelink() { + return "3".equals(this.categoryType)?this.categoryDiyUrl:this.categoryPath+"/index.html"; + } + /** + * 获取栏目关键字 (标签使用) + */ + public String getTypekeyword() { + return this.categoryKeyword; + } + + /** + * 获取栏目url (标签使用) + */ + public String getTypeurl() { + return this.categoryDiyUrl; + } + /** + * 获取栏目属性 (标签使用) + */ + public String getFlag() { + return this.categoryFlag; + } + /** + * 获取栏目父级Id (标签使用) + */ + public String getParentid() { + return this.categoryParentId; + } + /** + * 获取栏目描述(标签使用) + */ + public String getTypedescrip() { + return this.categoryDescrip; + } + /** + * 获取栏目Id(标签使用) + */ + public String getTypeid() { + return this.id; + } + /** + * 获取栏目图片 (标签使用) + */ + public String getTypelitpic() { + if(StrUtil.isNotBlank(categoryImg)){ + try{ + JSONArray objects = JSON.parseArray(categoryImg); + return objects.getJSONObject(0).getString("path"); + }catch (Exception e){ + + } + } + return ""; + } } diff --git a/src/main/java/net/mingsoft/cms/util/CmsParserUtil.java b/src/main/java/net/mingsoft/cms/util/CmsParserUtil.java index a07b8fca..8fd6b45f 100644 --- a/src/main/java/net/mingsoft/cms/util/CmsParserUtil.java +++ b/src/main/java/net/mingsoft/cms/util/CmsParserUtil.java @@ -38,6 +38,8 @@ public class CmsParserUtil extends ParserUtil { */ private static int COLUMN_TYPE_COVER = 2; + private final static String FIELD="field"; + /** * 指定模板,指定路径进行生成静态页面,会自定识别pc与移动端 * @@ -90,6 +92,8 @@ public class CmsParserUtil extends ParserUtil { //全局参数设置 Map parserParams = new HashMap(); parserParams.put(COLUMN, column); + //标签中使用field获取当前栏目 + parserParams.put(FIELD, column); parserParams.put(IS_DO, false); parserParams.put(HTML, HTML); parserParams.put(APP_ID, BasicUtil.getAppId()); diff --git a/src/main/webapp/WEB-INF/manager/cms/generate/index.ftl b/src/main/webapp/WEB-INF/manager/cms/generate/index.ftl index 727db02b..78ca3b5c 100644 --- a/src/main/webapp/WEB-INF/manager/cms/generate/index.ftl +++ b/src/main/webapp/WEB-INF/manager/cms/generate/index.ftl @@ -212,6 +212,12 @@ title: '更新成功!', type: 'success' }); + }else { + that.$notify({ + title: '生成失败', + message:data.msg, + type: 'error' + }); } }).catch(function (err) { that.$notify({ @@ -236,6 +242,12 @@ title: '更新成功!', type: 'success' }); + }else { + that.$notify({ + title: '生成失败!', + message:data.msg, + type: 'error' + }); } }).catch(function (err) { that.$notify({