Commit de1c2d2f authored by sunxin's avatar sunxin
Browse files

mysql 提交

parent eaa1c4b3
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -19,8 +19,8 @@ The MIT License (MIT) * Copyright (c) 2016 铭飞科技(mingsoft.net) ...@@ -19,8 +19,8 @@ The MIT License (MIT) * Copyright (c) 2016 铭飞科技(mingsoft.net)
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/ */
package net.mingsoft.cms.action.web; package net.mingsoft.cms.action.web;
import java.io.IOException; import java.io.IOException;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -56,17 +56,17 @@ import freemarker.template.MalformedTemplateNameException; ...@@ -56,17 +56,17 @@ import freemarker.template.MalformedTemplateNameException;
import freemarker.template.TemplateNotFoundException; import freemarker.template.TemplateNotFoundException;
import net.mingsoft.base.constant.Const; import net.mingsoft.base.constant.Const;
import net.mingsoft.basic.util.BasicUtil; import net.mingsoft.basic.util.BasicUtil;
import net.mingsoft.mdiy.util.ParserUtil; import net.mingsoft.mdiy.util.ParserUtil;
/** /**
* 根据搜索结果动态解析模版内容 * 根据搜索结果动态解析模版内容
* @author 铭飞开源团队-Administrator * @author 铭飞开源团队-Administrator
* @date 2018年12月18日 * @date 2018年12月18日
*/ */
@Controller(value = "webSearchAction") @Controller(value = "webSearchAction")
@RequestMapping("/cms") @RequestMapping("/cms")
public class SearchAction extends BaseAction { public class SearchAction extends BaseAction {
/** /**
* 搜索标签; * 搜索标签;
*/ */
...@@ -76,24 +76,24 @@ public class SearchAction extends BaseAction { ...@@ -76,24 +76,24 @@ public class SearchAction extends BaseAction {
* 搜索的标题; * 搜索的标题;
*/ */
public static final String BASIC_TITLE = "basic_title"; public static final String BASIC_TITLE = "basic_title";
/** /**
* 注入文章业务层 * 注入文章业务层
*/ */
@Autowired @Autowired
private IArticleBiz articleBiz; private IArticleBiz articleBiz;
/** /**
* 注入搜索业务层 * 注入搜索业务层
*/ */
@Autowired @Autowired
private ISearchBiz searchBiz; private ISearchBiz searchBiz;
/** /**
* 注入栏目业务层 * 注入栏目业务层
*/ */
@Autowired @Autowired
private IColumnBiz columnBiz; private IColumnBiz columnBiz;
/** /**
* 实现前端页面的文章搜索 * 实现前端页面的文章搜索
* *
...@@ -114,7 +114,7 @@ public class SearchAction extends BaseAction { ...@@ -114,7 +114,7 @@ public class SearchAction extends BaseAction {
if (ObjectUtil.isNull(search)) { if (ObjectUtil.isNull(search)) {
this.outJson(response, false); this.outJson(response, false);
} }
Map map = BasicUtil.assemblyRequestMap(); Map<String, Object> map = BasicUtil.assemblyRequestMap();
// 读取请求字段 // 读取请求字段
Map<String, String[]> field = request.getParameterMap(); Map<String, String[]> field = request.getParameterMap();
Map<String, String> basicField = getMapByProperties(net.mingsoft.mdiy.constant.Const.BASIC_FIELD); Map<String, String> basicField = getMapByProperties(net.mingsoft.mdiy.constant.Const.BASIC_FIELD);
...@@ -158,15 +158,17 @@ public class SearchAction extends BaseAction { ...@@ -158,15 +158,17 @@ public class SearchAction extends BaseAction {
map.put(ParserUtil.TOTAL, PageUtil.totalPage(count, size)); map.put(ParserUtil.TOTAL, PageUtil.totalPage(count, size));
//设置页面显示数量 //设置页面显示数量
map.put(ParserUtil.RCOUNT, size); map.put(ParserUtil.RCOUNT, size);
map.put(ParserUtil.SIZE, size);
//设置列表当前页 //设置列表当前页
map.put(ParserUtil.PAGE_NO, BasicUtil.getInt(ParserUtil.PAGE_NO,1)); map.put(ParserUtil.PAGE_NO, BasicUtil.getInt(ParserUtil.PAGE_NO,1));
map.put(ParserUtil.URL, BasicUtil.getUrl()); map.put(ParserUtil.URL, BasicUtil.getUrl());
Map searchMap = new HashMap<>(); Map searchMap = new HashMap<>();
searchMap.put(BASIC_TITLE, BasicUtil.getString(BASIC_TITLE)); searchMap.put(BASIC_TITLE, BasicUtil.getString(BASIC_TITLE));
searchMap.put(ParserUtil.PAGE_NO, BasicUtil.getInt(ParserUtil.PAGE_NO,1));
map.put(SEARCH, searchMap); map.put(SEARCH, searchMap);
//动态解析 //动态解析
map.put(ParserUtil.IS_DO,true); map.put(ParserUtil.IS_DO,false);
//设置动态请求的模块路径 //设置动态请求的模块路径
map.put(ParserUtil.MODEL_NAME, "mcms"); map.put(ParserUtil.MODEL_NAME, "mcms");
//解析后的内容 //解析后的内容
...@@ -184,107 +186,107 @@ public class SearchAction extends BaseAction { ...@@ -184,107 +186,107 @@ public class SearchAction extends BaseAction {
e.printStackTrace(); e.printStackTrace();
} }
this.outString(response, content); this.outString(response, content);
} }
/** /**
* 动态组织查询where条件 获取查询条件的Map key:字段名 value:List 字段的各种判断值 list[0]:是否为自定义字段 * 动态组织查询where条件 获取查询条件的Map key:字段名 value:List 字段的各种判断值 list[0]:是否为自定义字段
* list[1]:是否为整形 list[2]:是否是等值查询 list[3]:字段的值 * list[1]:是否为整形 list[2]:是否是等值查询 list[3]:字段的值
* *
* @param articleField * @param articleField
* 文章字段 * 文章字段
* @param diyFieldName * @param diyFieldName
* 动态字段 * 动态字段
* @param fields * @param fields
* 模型对应的字段类型 * 模型对应的字段类型
* @return * @return
*/ */
@SuppressWarnings({ "rawtypes", "unchecked" }) @SuppressWarnings({ "rawtypes", "unchecked" })
private Map<String, List> searchMap(Map<String, Object> articleField, Map<String, String> diyFieldName, private Map<String, List> searchMap(Map<String, Object> articleField, Map<String, String> diyFieldName,
List fields) { List fields) {
Map<String, List> map = new HashMap<String, List>(); Map<String, List> map = new HashMap<String, List>();
// 遍历文章中的字段 // 遍历文章中的字段
for (Iterator iter = articleField.keySet().iterator(); iter.hasNext();) { for (Iterator iter = articleField.keySet().iterator(); iter.hasNext();) {
String key = iter.next().toString(); String key = iter.next().toString();
String fieldValue = articleField.get(key).toString(); String fieldValue = articleField.get(key).toString();
List list = new ArrayList(); List list = new ArrayList();
List listValue = new ArrayList(); List listValue = new ArrayList();
// 是否为自定义字段 // 是否为自定义字段
list.add(false); list.add(false);
// 是否是数字类型,true:不是 // 是否是数字类型,true:不是
list.add(true); list.add(true);
// 是否是模糊查询3 // 是否是模糊查询3
list.add(true); list.add(true);
// 字段值 // 字段值
listValue.add(articleField.get(key)); listValue.add(articleField.get(key));
list.add(listValue); list.add(listValue);
map.put(key, list); map.put(key, list);
} }
// 遍历字段自定义字段 // 遍历字段自定义字段
// for (Iterator iter = diyFieldName.keySet().iterator(); iter.hasNext();) { // for (Iterator iter = diyFieldName.keySet().iterator(); iter.hasNext();) {
// String key = iter.next().toString(); // String key = iter.next().toString();
// String fieldValue = diyFieldName.get(key); // String fieldValue = diyFieldName.get(key);
// // 获取字段实体 // // 获取字段实体
// ContentModelFieldEntity field = this.get(key, fields); // ContentModelFieldEntity field = this.get(key, fields);
// if (field != null) { // if (field != null) {
// List list = new ArrayList(); // List list = new ArrayList();
// // 是否为自定义字段0 // // 是否为自定义字段0
// list.add(0, true); // list.add(0, true);
// List listValue = new ArrayList(); // List listValue = new ArrayList();
// // 字段的值 // // 字段的值
// if (field.getFieldType() == IContentModelFieldBiz.INT || field.getFieldType() == IContentModelFieldBiz.FLOAT) { // if (field.getFieldType() == IContentModelFieldBiz.INT || field.getFieldType() == IContentModelFieldBiz.FLOAT) {
// // 判断是否为区间查询 // // 判断是否为区间查询
// //
// if (diyFieldName.get(key).toString().indexOf("-") > 0) { // if (diyFieldName.get(key).toString().indexOf("-") > 0) {
// String[] values = fieldValue.toString().split("-"); // String[] values = fieldValue.toString().split("-");
// // 是否是数字类型,false:是 // // 是否是数字类型,false:是
// list.add(false); // list.add(false);
// // 是否是区间比较 false:是 // // 是否是区间比较 false:是
// list.add(false); // list.add(false);
// // 字段值1 // // 字段值1
// listValue.add(values[0]); // listValue.add(values[0]);
// listValue.add(values[1]); // listValue.add(values[1]);
// } else { // } else {
// // 是否是数字类型,false:是2 // // 是否是数字类型,false:是2
// list.add(false); // list.add(false);
// // 是否是区间比较 true:不是3 // // 是否是区间比较 true:不是3
// list.add(true); // list.add(true);
// // 字段值 1 // // 字段值 1
// listValue.add(fieldValue); // listValue.add(fieldValue);
// } // }
// } else { // } else {
// // 是否是数字类型,true:不是2 // // 是否是数字类型,true:不是2
// list.add(true); // list.add(true);
// list.add(false); // list.add(false);
// // 字段值 1 // // 字段值 1
// listValue.add(fieldValue); // listValue.add(fieldValue);
// } // }
// list.add(listValue); // list.add(listValue);
// map.put(key, list); // map.put(key, list);
// } // }
// } // }
return map; return map;
} }
/** /**
* 根据字段名称获取字段类型 * 根据字段名称获取字段类型
* *
* @param columnName * @param columnName
* 字段名称 * 字段名称
* @return 字段实体 * @return 字段实体
*/ */
private ContentModelFieldEntity get(String columnName, List<ContentModelFieldEntity> fields) { private ContentModelFieldEntity get(String columnName, List<ContentModelFieldEntity> fields) {
if (fields == null) { if (fields == null) {
return null; return null;
} }
for (ContentModelFieldEntity field : fields) { for (ContentModelFieldEntity field : fields) {
if (field.getFieldFieldName().equals(columnName)) { if (field.getFieldFieldName().equals(columnName)) {
return field; return field;
} }
} }
return null; return null;
} }
} }
\ No newline at end of file
...@@ -23,6 +23,7 @@ import net.mingsoft.base.constant.Const; ...@@ -23,6 +23,7 @@ import net.mingsoft.base.constant.Const;
import net.mingsoft.basic.entity.ColumnEntity; import net.mingsoft.basic.entity.ColumnEntity;
import net.mingsoft.basic.util.BasicUtil; import net.mingsoft.basic.util.BasicUtil;
import net.mingsoft.basic.util.SpringUtil; import net.mingsoft.basic.util.SpringUtil;
import net.mingsoft.basic.util.StringUtil;
import net.mingsoft.cms.bean.ColumnArticleIdBean; import net.mingsoft.cms.bean.ColumnArticleIdBean;
import net.mingsoft.cms.constant.e.ColumnTypeEnum; import net.mingsoft.cms.constant.e.ColumnTypeEnum;
import net.mingsoft.mdiy.biz.IContentModelBiz; import net.mingsoft.mdiy.biz.IContentModelBiz;
...@@ -42,13 +43,18 @@ public class CmsParserUtil extends ParserUtil { ...@@ -42,13 +43,18 @@ public class CmsParserUtil extends ParserUtil {
* @throws IOException * @throws IOException
*/ */
public static void generate(String templatePath, String targetPath) throws IOException { public static void generate(String templatePath, String targetPath) throws IOException {
Map map = new HashMap(); Map<String, Object> map = new HashMap<String, Object>();
map.put(IS_DO, false); map.put(IS_DO, false);
String content = CmsParserUtil.generate(templatePath, map, false); boolean mobileStyle = false;
//判断是否有移动端
if (!StringUtil.isBlank(BasicUtil.getApp().getAppMobileStyle())) {
mobileStyle = true;
}
String content = CmsParserUtil.generate(templatePath, map, mobileStyle);
FileUtil.writeString(content, ParserUtil.buildHtmlPath(targetPath), Const.UTF8); FileUtil.writeString(content, ParserUtil.buildHtmlPath(targetPath), Const.UTF8);
// 生成移动页面 // 生成移动页面
if (ObjectUtil.isNotNull(BasicUtil.getApp().getAppMobileStyle())) { if (mobileStyle) {
// 手机端m // 手机端m
map.put(ParserUtil.MOBILE, BasicUtil.getApp().getAppMobileStyle()); map.put(ParserUtil.MOBILE, BasicUtil.getApp().getAppMobileStyle());
content = CmsParserUtil.generate(templatePath, map, true); content = CmsParserUtil.generate(templatePath, map, true);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment