From 8444084e6aa11efa23287e7f82474ac22378a5c4 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 01 四月 2025 16:03:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/BannerServiceImpl.java |  110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 109 insertions(+), 1 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/BannerServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/BannerServiceImpl.java
index f111117..581affa 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/BannerServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/BannerServiceImpl.java
@@ -1,13 +1,20 @@
 package com.ruoyi.system.service.impl.config;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.utils.bean.BeanUtils;
+import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
+import com.ruoyi.system.domain.dto.MgtBannerEditDto;
 import com.ruoyi.system.domain.pojo.config.Banner;
 import com.ruoyi.system.domain.vo.AppBannerVo;
+import com.ruoyi.system.domain.vo.MgtBannerGetVo;
+import com.ruoyi.system.domain.vo.MgtBannerPageVo;
 import com.ruoyi.system.mapper.config.BannerMapper;
 import com.ruoyi.system.service.config.BannerService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -33,4 +40,105 @@
         return bannerMapper.listHomeBannerVo();
     }
 
+    /**
+     * @description  修改banner
+     * @author  jqs
+     * @date    2023/6/6 14:58
+     * @param mgtBannerEditDto
+     * @return  void
+     */
+    @Override
+    public void editBanner(MgtBannerEditDto mgtBannerEditDto) {
+        Banner banner;
+        // 如果横幅ID不为空,则根据ID获取横幅信息
+        if (mgtBannerEditDto.getBannerId() != null) {
+            banner = this.getById(mgtBannerEditDto.getBannerId());
+        } else { // 否则新建一个横幅对象,并设置删除标志为0
+            banner = new Banner();
+            banner.setDelFlag(0);
+        }
+        // 将DTO中的属性值复制到横幅对象中
+        BeanUtils.copyProperties(mgtBannerEditDto, banner);
+        if(banner.getTargetType()==1){
+            banner.setJumpType(null);
+            banner.setJumpId(null);
+            banner.setLinkType(null);
+        }else if(banner.getTargetType()==2){
+            if(banner.getLinkType()==1){
+                banner.setJumpType(null);
+                banner.setJumpId(null);
+            }else{
+                banner.setLinkUrl(null);
+            }
+        }else if(banner.getTargetType()==3){
+            banner.setLinkUrl(null);
+            banner.setLinkType(null);
+            banner.setJumpType(null);
+            banner.setJumpId(null);
+        }
+        // 设置创建用户ID和创建时间
+        banner.setCreateUserId(mgtBannerEditDto.getUserId());
+        banner.setCreateTime(new Date());
+        // 保存或更新横幅信息
+        this.saveOrUpdate(banner);
+    }
+
+    /**
+     * @description  平台分页获取banner
+     * @author  jqs
+     * @date    2023/6/6 15:22
+     * @param page
+     * @return  List<MgtBannerPageVo>
+     */
+    @Override
+    public List<MgtBannerPageVo> pageMgtBannerVo(Page page){
+        List<MgtBannerPageVo> mgtBannerPageVoList = bannerMapper.pageMgtBannerVo(page);
+        return mgtBannerPageVoList;
+    }
+
+    /**
+     * @description
+     * @author  jqs
+     * @date    2023/6/7 9:37
+     * @param bannerId
+     * @return  MgtBannerGetVo
+     */
+    @Override
+    public MgtBannerGetVo getMgtBanner(Long bannerId){
+        Banner banner = this.getById(bannerId);
+        if(banner.getTargetType()==1){
+            banner.setJumpType(null);
+            banner.setJumpId(null);
+            banner.setLinkType(null);
+        }else if(banner.getTargetType()==2){
+            if(banner.getLinkType()==1){
+                banner.setJumpType(null);
+                banner.setJumpId(null);
+            }else{
+                banner.setLinkUrl(null);
+            }
+        }else if(banner.getTargetType()==3){
+            banner.setLinkUrl(null);
+            banner.setLinkType(null);
+            banner.setJumpType(null);
+            banner.setJumpId(null);
+        }
+        MgtBannerGetVo mgtBannerGetVo = new MgtBannerGetVo();
+        BeanUtils.copyProperties(banner, mgtBannerGetVo);
+        return mgtBannerGetVo;
+    }
+
+    /**
+     * @description  删除banner
+     * @author  jqs
+     * @date    2023/6/7 9:41
+     * @param mgtBaseGetDto
+     * @return  void
+     */
+    @Override
+    public void deleteBanner(MgtBaseGetDto mgtBaseGetDto){
+        Banner banner = this.getById(Long.valueOf(mgtBaseGetDto.getId()));
+        banner.setDelFlag(1);
+        this.saveOrUpdate(banner);
+    }
 }

--
Gitblit v1.7.1