| | |
| | | |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import com.xcong.farmer.cms.core.node.PartNode; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.jsoup.Jsoup; |
| | | import org.jsoup.nodes.Document; |
| | | import org.jsoup.nodes.Element; |
| | |
| | | * @author wzy |
| | | * @date 2022-06-22 |
| | | **/ |
| | | @Slf4j |
| | | public class Template { |
| | | |
| | | // 文件名称 |
| | |
| | | private String path = ""; |
| | | |
| | | private Document document; |
| | | private Map<String, Map<String, Object>> params = new HashMap<>(); |
| | | private Map<String, Object> system; |
| | | private List<PartNode> partNodes = new ArrayList<>(); |
| | | |
| | | |
| | | // 页面中包含的标签 |
| | | public static Set<String> TAGS; |
| | | public volatile static boolean HAS_PAGING = false; |
| | | |
| | | public Template() { |
| | | TAGS = new HashSet<>(); |
| | | } |
| | | |
| | | public Template(File file, Map<String, Object> system) { |
| | | TAGS = new HashSet<>(); |
| | | |
| | | Document document = null; |
| | | try { |
| | | document = Jsoup.parse(file, "utf-8"); |
| | |
| | | if (!new Integer(1).equals(page)) { |
| | | this.name = name + "_" + page; |
| | | } |
| | | } else { |
| | | |
| | | } else if ("search".equals(templateType)){ |
| | | Object templateName = system.get("templateName"); |
| | | if (templateName != null) { |
| | | this.name = String.valueOf(templateName); |
| | | } else { |
| | | this.name = "search"; |
| | | } |
| | | } else if ("message".equals(templateType)) { |
| | | Object templateName = system.get("templateName"); |
| | | if (templateName != null) { |
| | | this.name = String.valueOf(templateName); |
| | | } else { |
| | | this.name = "message"; |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | sb.append(partNode.getHtml()); |
| | | } |
| | | document = Jsoup.parse(sb.toString()); |
| | | String outPath = path(outputPath); |
| | | String outPath = path(outputPath) + system.get("companyCode"); |
| | | |
| | | String html = document.html(); |
| | | try { |
| | |
| | | file.mkdirs(); |
| | | } |
| | | |
| | | FileOutputStream outputStream = new FileOutputStream(path +this.name + suffix); |
| | | FileOutputStream outputStream = new FileOutputStream(path + this.name + suffix); |
| | | outputStream.write(html.getBytes()); |
| | | outputStream.close(); |
| | | |
| | | document = null; |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | |
| | | |
| | | public List<PartNode> getPartNodes() { |
| | | return partNodes; |
| | | } |
| | | |
| | | public Map<String, Map<String, Object>> getParams() { |
| | | return params; |
| | | } |
| | | |
| | | public void putParams(String key, Map<String, Object> value) { |
| | | this.params.put(key, value); |
| | | } |
| | | |
| | | public void systemData(Map<String, Object> data) { |