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