From 90f9311b8f92d84533860e374c2a38c16f8a6e7d Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 30 Aug 2022 18:01:27 +0800
Subject: [PATCH] fix

---
 src/main/java/com/xcong/farmer/cms/core/tag/TagsEnum.java                      |    4 
 src/main/resources/mapper/CmsAdInfoMapper.xml                                  |    3 
 src/main/java/com/xcong/farmer/cms/core/handler/AdDataParserHandler.java       |   34 ++++++++
 src/main/java/com/xcong/farmer/cms/core/tag/data/FriendlyData.java             |   58 ++++++++++++++
 src/main/java/com/xcong/farmer/cms/core/tag/model/Ad.java                      |   13 +++
 src/main/java/com/xcong/farmer/cms/core/tag/data/AdData.java                   |   38 +++++++++
 src/main/java/com/xcong/farmer/cms/modules/system/mapper/CmsAdInfoMapper.java  |    5 +
 src/main/java/com/xcong/farmer/cms/core/handler/FriendlyDataParserHandler.java |   15 +++
 src/main/java/com/xcong/farmer/cms/core/tag/model/Friendly.java                |   28 +++++++
 9 files changed, 196 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/xcong/farmer/cms/core/handler/AdDataParserHandler.java b/src/main/java/com/xcong/farmer/cms/core/handler/AdDataParserHandler.java
new file mode 100644
index 0000000..402e032
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/core/handler/AdDataParserHandler.java
@@ -0,0 +1,34 @@
+package com.xcong.farmer.cms.core.handler;
+
+import cn.hutool.core.util.StrUtil;
+import com.xcong.farmer.cms.core.node.AttrNode;
+import com.xcong.farmer.cms.core.tag.data.AdData;
+import com.xcong.farmer.cms.core.tag.model.Ad;
+import com.xcong.farmer.cms.core.tag.model.Column;
+import com.xcong.farmer.cms.modules.system.entity.CmsAdInfoEntity;
+import com.xcong.farmer.cms.modules.system.mapper.CmsAdInfoMapper;
+import com.xcong.farmer.cms.utils.SpringContextHolder;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2022-08-30
+ **/
+public class AdDataParserHandler implements DataParserHandler{
+
+    private final CmsAdInfoMapper adInfoMapper = SpringContextHolder.getBean(CmsAdInfoMapper.class);
+
+    @Override
+    public void dataParser(AttrNode attrNode) {
+        Long companyId = (Long) attrNode.getSystemDataValue("companyId");
+
+        Ad param = (Ad) attrNode.getParam();
+        if (StrUtil.isNotBlank(param.getGroupId())) {
+            List<CmsAdInfoEntity> ads = adInfoMapper.selectByGroupIdAndCompanyId(Long.parseLong(param.getGroupId()), companyId);
+        } else {
+
+        }
+
+    }
+}
diff --git a/src/main/java/com/xcong/farmer/cms/core/handler/FriendlyDataParserHandler.java b/src/main/java/com/xcong/farmer/cms/core/handler/FriendlyDataParserHandler.java
new file mode 100644
index 0000000..ced3c1b
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/core/handler/FriendlyDataParserHandler.java
@@ -0,0 +1,15 @@
+package com.xcong.farmer.cms.core.handler;
+
+import com.xcong.farmer.cms.core.node.AttrNode;
+
+/**
+ * @author wzy
+ * @date 2022-08-30
+ **/
+public class FriendlyDataParserHandler implements DataParserHandler{
+
+    @Override
+    public void dataParser(AttrNode attrNode) {
+
+    }
+}
diff --git a/src/main/java/com/xcong/farmer/cms/core/tag/TagsEnum.java b/src/main/java/com/xcong/farmer/cms/core/tag/TagsEnum.java
index 675afe9..bb03a1b 100644
--- a/src/main/java/com/xcong/farmer/cms/core/tag/TagsEnum.java
+++ b/src/main/java/com/xcong/farmer/cms/core/tag/TagsEnum.java
@@ -11,8 +11,8 @@
     ARTICLE("@article", "com.xcong.farmer.cms.core.tag.model.Article", "com.xcong.farmer.cms.core.handler.ArticleDataParserHandler",2),
     CHILD("@child", "com.xcong.farmer.cms.core.tag.model.Child", "com.xcong.farmer.cms.core.handler.ChildDataParserHandler",2),
     PAGE("@page", "com.xcong.farmer.cms.core.tag.model.Pagination", "com.xcong.farmer.cms.core.handler.PageDataParserHandler",2),
-//    AD("@ad", "com.xcong.farmer.cms.core.tag.model.Ad", "",2),
-//    COLUMNS("@columns", "com.xcong.farmer.cms.core.tag.model.Columns", "",2),
+    AD("@ad", "com.xcong.farmer.cms.core.tag.model.Ad", "com.xcong.farmer.cms.core.handler.AdDataParserHandler",2),
+    FRI("@fri", "com.xcong.farmer.cms.core.tag.model.Friendly", "com.xcong.farmer.cms.core.handler.FriendlyDataParserHandler",2),
     COLUMN("@column", "com.xcong.farmer.cms.core.tag.model.Column", "com.xcong.farmer.cms.core.handler.ColumnDataParserHandler",2);
 
     private String name;
diff --git a/src/main/java/com/xcong/farmer/cms/core/tag/data/AdData.java b/src/main/java/com/xcong/farmer/cms/core/tag/data/AdData.java
new file mode 100644
index 0000000..6232b02
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/core/tag/data/AdData.java
@@ -0,0 +1,38 @@
+package com.xcong.farmer.cms.core.tag.data;
+
+/**
+ * @author wzy
+ * @date 2022-08-30
+ **/
+public class AdData {
+
+    private String name;
+
+    private String data;
+
+    private int index;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getData() {
+        return data;
+    }
+
+    public void setData(String data) {
+        this.data = data;
+    }
+
+    public int getIndex() {
+        return index;
+    }
+
+    public void setIndex(int index) {
+        this.index = index;
+    }
+}
diff --git a/src/main/java/com/xcong/farmer/cms/core/tag/data/FriendlyData.java b/src/main/java/com/xcong/farmer/cms/core/tag/data/FriendlyData.java
new file mode 100644
index 0000000..c093c96
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/core/tag/data/FriendlyData.java
@@ -0,0 +1,58 @@
+package com.xcong.farmer.cms.core.tag.data;
+
+/**
+ * @author wzy
+ * @date 2022-08-30
+ **/
+public class FriendlyData {
+
+    private String name;
+
+    private String url;
+
+    private String index;
+
+    private String logo;
+
+    private String image;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+    public String getIndex() {
+        return index;
+    }
+
+    public void setIndex(String index) {
+        this.index = index;
+    }
+
+    public String getLogo() {
+        return logo;
+    }
+
+    public void setLogo(String logo) {
+        this.logo = logo;
+    }
+
+    public String getImage() {
+        return image;
+    }
+
+    public void setImage(String image) {
+        this.image = image;
+    }
+}
diff --git a/src/main/java/com/xcong/farmer/cms/core/tag/model/Ad.java b/src/main/java/com/xcong/farmer/cms/core/tag/model/Ad.java
index 57e7e9f..9ebb19b 100644
--- a/src/main/java/com/xcong/farmer/cms/core/tag/model/Ad.java
+++ b/src/main/java/com/xcong/farmer/cms/core/tag/model/Ad.java
@@ -12,6 +12,11 @@
 
     private String field;
 
+    /**
+     * image/url/code
+     */
+    private String type;
+
     public String getGroupId() {
         return groupId;
     }
@@ -35,4 +40,12 @@
     public void setField(String field) {
         this.field = field;
     }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
 }
diff --git a/src/main/java/com/xcong/farmer/cms/core/tag/model/Friendly.java b/src/main/java/com/xcong/farmer/cms/core/tag/model/Friendly.java
new file mode 100644
index 0000000..c684c10
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/core/tag/model/Friendly.java
@@ -0,0 +1,28 @@
+package com.xcong.farmer.cms.core.tag.model;
+
+/**
+ * @author wzy
+ * @date 2022-08-30
+ **/
+public class Friendly {
+
+    private String groupId;
+
+    private String field;
+
+    public String getGroupId() {
+        return groupId;
+    }
+
+    public void setGroupId(String groupId) {
+        this.groupId = groupId;
+    }
+
+    public String getField() {
+        return field;
+    }
+
+    public void setField(String field) {
+        this.field = field;
+    }
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/mapper/CmsAdInfoMapper.java b/src/main/java/com/xcong/farmer/cms/modules/system/mapper/CmsAdInfoMapper.java
index d7bba5e..47cd31c 100644
--- a/src/main/java/com/xcong/farmer/cms/modules/system/mapper/CmsAdInfoMapper.java
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/mapper/CmsAdInfoMapper.java
@@ -5,7 +5,12 @@
 import com.xcong.farmer.cms.modules.system.entity.CmsAdInfoEntity;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 public interface CmsAdInfoMapper extends BaseMapper<CmsAdInfoEntity> {
 
     Page<CmsAdInfoEntity> selectInPage(Page<CmsAdInfoEntity> page, @Param("record") CmsAdInfoEntity cmsAdInfoEntity);
+
+    List<CmsAdInfoEntity> selectByGroupIdAndCompanyId(@Param("groupId") Long groupId, @Param("companyId") Long companyId);
+
 }
diff --git a/src/main/resources/mapper/CmsAdInfoMapper.xml b/src/main/resources/mapper/CmsAdInfoMapper.xml
index 2ff7e8c..be38cd1 100644
--- a/src/main/resources/mapper/CmsAdInfoMapper.xml
+++ b/src/main/resources/mapper/CmsAdInfoMapper.xml
@@ -14,4 +14,7 @@
         </if>
     </select>
 
+    <select id="selectByGroupIdAndCompanyId" resultType="com.xcong.farmer.cms.modules.system.entity.CmsAdInfoEntity">
+        select * from cms_ad_info where group_id=#{groupId} and company_id=#{companyId}
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1