From f8f52081879eb09033c3cf66fd40314a46c92604 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Thu, 09 Jan 2025 11:01:52 +0800
Subject: [PATCH] refactor(mall): 优化活动状态显示和处理

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallNewsServiceImpl.java |   73 +++++++++++++++++++++++++++++++++++-
 1 files changed, 71 insertions(+), 2 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallNewsServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallNewsServiceImpl.java
index fa9ef3a..1805515 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallNewsServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallNewsServiceImpl.java
@@ -1,12 +1,23 @@
 package cc.mrbird.febs.mall.service.impl;
 
-import cc.mrbird.febs.mall.entity.MallNewsInfo;
-import cc.mrbird.febs.mall.mapper.MallNewsInfoMapper;
+import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
+import cc.mrbird.febs.mall.dto.NewsListDto;
+import cc.mrbird.febs.mall.entity.*;
+import cc.mrbird.febs.mall.mapper.*;
 import cc.mrbird.febs.mall.service.IApiMallNewsService;
+import cc.mrbird.febs.mall.vo.NewsListVo;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
 
 /**
  * @author wzy
@@ -17,4 +28,62 @@
 @RequiredArgsConstructor
 public class ApiMallNewsServiceImpl extends ServiceImpl<MallNewsInfoMapper, MallNewsInfo> implements IApiMallNewsService {
 
+    private final MallNewsCategoryMapper mallNewsCategoryMapper;
+    private final PlatformBannerMapper platformBannerMapper;
+    private final MallGoodsMapper mallGoodsMapper;
+    private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
+    private final MallActivityMapper mallActivityMapper;
+
+    @Override
+    public List<MallNewsCategory> findNewsCategoryList() {
+        return mallNewsCategoryMapper.selectList(null);
+    }
+
+    @Override
+    public IPage<NewsListVo> findNewsInPage(NewsListDto newsListDto) {
+        Page<NewsListVo> page = new Page<>(newsListDto.getPageNum(), newsListDto.getPageSize());
+
+        MallNewsInfo mallNewsInfo = new MallNewsInfo();
+        mallNewsInfo.setCategoryId(newsListDto.getCategoryId());
+        return this.baseMapper.selectNewsVoInPage(page, mallNewsInfo);
+    }
+
+    @Override
+    public List<NewsListVo> findTopNews() {
+        Page<NewsListVo> page = new Page<>(1, 999);
+        MallNewsInfo mallNewsInfo = new MallNewsInfo();
+        mallNewsInfo.setIsTop(1);
+
+        IPage<NewsListVo> pageList = this.baseMapper.selectNewsVoInPage(page, mallNewsInfo);
+        return pageList.getRecords();
+    }
+
+    @Override
+    public FebsResponse findAllBanner() {
+        List<PlatformBanner> paymentMethodList = platformBannerMapper.selectList(
+                new LambdaQueryWrapper<PlatformBanner>()
+                        .orderByAsc(PlatformBanner::getIsTop)
+                        .orderByAsc(PlatformBanner::getCreatedTime)
+        );
+        if(CollUtil.isNotEmpty(paymentMethodList)){
+            paymentMethodList.forEach(item -> {
+                if("1".equals(item.getIsJump()) && 1 == item.getIsInside() && StrUtil.isNotEmpty(item.getJumpUrl())){
+                    String jumpUrl = item.getJumpUrl();
+                    MallActivity mallActivity = mallActivityMapper.selectById(Long.parseLong(jumpUrl));
+
+                    item.setActivityId(mallActivity.getId());
+                }
+            });
+        }
+        return new FebsResponse().success().data(paymentMethodList);
+    }
+
+    @Override
+    public FebsResponse indexVideo() {
+        DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.VIDEO_URL_INDEX.getType(),
+                DataDictionaryEnum.VIDEO_URL_INDEX.getCode()
+        );
+        return new FebsResponse().success().data(dataDictionaryCustom.getValue());
+    }
 }

--
Gitblit v1.9.1