src/main/java/com/xcong/farmer/cms/core/handler/AdDataParserHandler.java
@@ -1,5 +1,6 @@ package com.xcong.farmer.cms.core.handler; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.xcong.farmer.cms.core.node.AttrNode; import com.xcong.farmer.cms.core.tag.data.AdData; @@ -9,6 +10,7 @@ import com.xcong.farmer.cms.modules.system.mapper.CmsAdInfoMapper; import com.xcong.farmer.cms.utils.SpringContextHolder; import java.util.ArrayList; import java.util.List; /** @@ -26,9 +28,34 @@ Ad param = (Ad) attrNode.getParam(); if (StrUtil.isNotBlank(param.getGroupId())) { List<CmsAdInfoEntity> ads = adInfoMapper.selectByGroupIdAndCompanyId(Long.parseLong(param.getGroupId()), companyId); } else { if (CollUtil.isEmpty(ads)) { attrNode.setData(new AdData()); } else { int i = 1; List<AdData> adDataList = new ArrayList<>(); for (CmsAdInfoEntity ad : ads) { adDataList.add(entityToData(ad, i)); } attrNode.setData(adDataList); } } else { CmsAdInfoEntity ad = adInfoMapper.selectById(param.getId()); attrNode.setData(entityToData(ad, 1)); } } private AdData entityToData(CmsAdInfoEntity entity, int index) { AdData adData = new AdData(); adData.setIndex(index); if (entity.getType() == 1) { adData.setChildren(StrUtil.split(entity.getValue(), ',')); } else { adData.setData(entity.getValue()); } return adData; } } src/main/java/com/xcong/farmer/cms/core/handler/FriendlyDataParserHandler.java
@@ -1,6 +1,17 @@ package com.xcong.farmer.cms.core.handler; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import com.xcong.farmer.cms.core.node.AttrNode; import com.xcong.farmer.cms.core.tag.data.FriendlyData; import com.xcong.farmer.cms.core.tag.model.Ad; import com.xcong.farmer.cms.core.tag.model.Friendly; import com.xcong.farmer.cms.modules.system.entity.CmsFriendlyLinkEntity; import com.xcong.farmer.cms.modules.system.mapper.CmsFriendlyLinkMapper; import com.xcong.farmer.cms.utils.SpringContextHolder; import java.util.ArrayList; import java.util.List; /** * @author wzy @@ -8,8 +19,27 @@ **/ public class FriendlyDataParserHandler implements DataParserHandler{ private final CmsFriendlyLinkMapper cmsFriendlyLinkMapper = SpringContextHolder.getBean(CmsFriendlyLinkMapper.class); @Override public void dataParser(AttrNode attrNode) { Long companyId = (Long) attrNode.getSystemDataValue("companyId"); Friendly param = (Friendly) attrNode.getParam(); List<CmsFriendlyLinkEntity> friendlies = cmsFriendlyLinkMapper.selectByGroupIdAndCompanyId(Long.parseLong(param.getGroupId()), companyId); if (CollUtil.isEmpty(friendlies)) { attrNode.setData(new FriendlyData()); } else { List<FriendlyData> list = new ArrayList<>(); for (int i = 0; i < friendlies.size(); i++) { FriendlyData data = new FriendlyData(); BeanUtil.copyProperties(friendlies.get(i), data); data.setIndex(i + 1); list.add(data); } attrNode.setData(list); } } } src/main/java/com/xcong/farmer/cms/core/node/Template.java
@@ -2,6 +2,7 @@ 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; @@ -16,6 +17,7 @@ * @author wzy * @date 2022-06-22 **/ @Slf4j public class Template { // 文件名称 src/main/java/com/xcong/farmer/cms/core/tag/data/AdData.java
@@ -1,16 +1,22 @@ package com.xcong.farmer.cms.core.tag.data; import java.util.List; /** * @author wzy * @date 2022-08-30 **/ public class AdData { private String id; private String name; private String data; private int index; private List<String> children; public String getName() { return name; @@ -35,4 +41,20 @@ public void setIndex(int index) { this.index = index; } public String getId() { return id; } public void setId(String id) { this.id = id; } public List<String> getChildren() { return children; } public void setChildren(List<String> children) { this.children = children; } } src/main/java/com/xcong/farmer/cms/core/tag/data/FriendlyData.java
@@ -10,7 +10,7 @@ private String url; private String index; private int index; private String logo; @@ -32,11 +32,11 @@ this.url = url; } public String getIndex() { public int getIndex() { return index; } public void setIndex(String index) { public void setIndex(int index) { this.index = index; } src/main/java/com/xcong/farmer/cms/modules/system/mapper/CmsFriendlyLinkMapper.java
@@ -5,7 +5,11 @@ import com.xcong.farmer.cms.modules.system.entity.CmsFriendlyLinkEntity; import org.apache.ibatis.annotations.Param; import java.util.List; public interface CmsFriendlyLinkMapper extends BaseMapper<CmsFriendlyLinkEntity> { Page<CmsFriendlyLinkEntity> selectInPage(Page<CmsFriendlyLinkEntity> page, @Param("record") CmsFriendlyLinkEntity cmsFriendlyLinkEntity); List<CmsFriendlyLinkEntity> selectByGroupIdAndCompanyId(@Param("groupId") Long groupId, @Param("companyId") Long companyId); } src/main/resources/mapper/CmsFriendlyLinkMapper.xml
@@ -16,4 +16,8 @@ </where> </select> <select id="selectByGroupIdAndCompanyId" resultType="com.xcong.farmer.cms.modules.system.entity.CmsFriendlyLinkEntity"> select * from cms_friendly_link where group_id=#{groupId} and company_id=#{companyId} </select> </mapper> src/test/java/com/xcong/farmer/cms/TemplateTest.java
@@ -2,6 +2,7 @@ import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.StrUtil; import com.xcong.farmer.cms.modules.core.service.ICmsCoreService; import com.xcong.farmer.cms.modules.system.service.IReleaseService; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; @@ -14,6 +15,8 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.HashMap; import java.util.Map; /** * @author wzy @@ -26,16 +29,19 @@ @Test public void staticFileTest() throws IOException { File file = new File("/Users/helius/Desktop/template-online/index-test.html"); // /Users/helius/Desktop/template-online/template/ahrnfy/test.html // /Users/helius/Desktop/template-online/template/ahrnfy/test.html File file = new File("/Users/helius/Desktop/template-online/template/ahrnfy/test.html"); Document parse = Jsoup.parse(file, "utf-8"); staticPathParser(parse, "img", "src"); staticPathParser(parse, "href", "link"); staticPathParser(parse, "script", "src"); FileOutputStream outputStream = new FileOutputStream(file); outputStream.write(parse.html().getBytes()); outputStream.close(); System.out.println(111); // staticPathParser(parse, "img", "src"); // staticPathParser(parse, "href", "link"); // staticPathParser(parse, "script", "src"); // // FileOutputStream outputStream = new FileOutputStream(file); // outputStream.write(parse.html().getBytes()); // outputStream.close(); } public void staticPathParser(Document document, String tagName, String attrKey) { @@ -59,4 +65,17 @@ public void columnTest() { releaseService.releaseColumn(135L, 1, 26L); } @Autowired private ICmsCoreService cmsCoreService; @Test public void parserTest() { Map<String, Object> map = new HashMap<>(); map.put("companyId", 24L); map.put("id", 81L); map.put("templateType", "article"); cmsCoreService.columnProcess(map, "test.html"); } }