From 2762e01a72e93dc6703c06c701b28ceffe7c9de8 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 07 Oct 2022 21:46:32 +0800
Subject: [PATCH] fix

---
 src/main/java/com/xcong/farmer/cms/core/handler/FriendlyDataParserHandler.java |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

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
index ced3c1b..56ad076 100644
--- a/src/main/java/com/xcong/farmer/cms/core/handler/FriendlyDataParserHandler.java
+++ b/src/main/java/com/xcong/farmer/cms/core/handler/FriendlyDataParserHandler.java
@@ -1,6 +1,18 @@
 package com.xcong.farmer.cms.core.handler;
 
+import cn.hutool.core.bean.BeanUtil;
+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.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 +20,33 @@
  **/
 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 = null;
+        if (StrUtil.isNotBlank(param.getGroupId())) {
+            friendlies = cmsFriendlyLinkMapper.selectByGroupIdAndCompanyId(Long.parseLong(param.getGroupId()), companyId);
+        } else {
+            friendlies = cmsFriendlyLinkMapper.selectByGroupCodeAndCompanyId(param.getCode(), 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);
+        }
     }
 }

--
Gitblit v1.9.1