From acccff9860b271d55c55dc87486f7c20b9896e6c Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期一, 13 一月 2025 16:19:54 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/BannerController.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 0 deletions(-)

diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/BannerController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/BannerController.java
index d216f92..bd3ec88 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/BannerController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/BannerController.java
@@ -1,11 +1,22 @@
 package com.ruoyi.other.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.account.api.feignClient.AppUserClient;
+import com.ruoyi.account.api.model.AppUser;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.utils.ServletUtils;
 import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.security.service.TokenService;
+import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.other.api.domain.Banner;
+import com.ruoyi.other.api.domain.Goods;
+import com.ruoyi.other.api.domain.SeckillActivityInfo;
 import com.ruoyi.other.service.BannerService;
+import com.ruoyi.other.service.GoodsService;
+import com.ruoyi.other.service.GoodsVipService;
+import com.ruoyi.other.service.SeckillActivityInfoService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -28,6 +39,19 @@
 public class BannerController {
     @Resource
     private BannerService bannerService;
+    @Resource
+    private GoodsService goodsService;
+    @Resource
+    private GoodsVipService goodsVipService;
+    @Resource
+    private SeckillActivityInfoService seckillActivityInfoService;
+    @Resource
+    private TokenService tokenService;
+    @Resource
+    private AppUserClient appUserClient;
+
+
+
     @GetMapping("/list")
 	@ApiOperation(value = "banner列表", tags = {"小程序-banner"})
 	public R<List<Banner>> list(@ApiParam("名称") String name,
@@ -37,6 +61,36 @@
                 .eq(jumpType!=null,Banner::getJumpType, jumpType)
                 .eq(position!=null,Banner::getPosition, position)
                 .list();
+        Integer vipId = 0;
+        String token = SecurityUtils.getToken(ServletUtils.getRequest());
+        if(StringUtils.isNotEmpty(token)){
+            Long userid = tokenService.getLoginUserApplet().getUserid();
+            AppUser appUser = appUserClient.getAppUserById(userid);
+            vipId = appUser.getVipId();
+        }
+        for (Banner banner : list) {
+            Integer jumpType1 = banner.getJumpType();
+            //商品详情
+            if(null != jumpType1 && 3 == jumpType1){
+                Goods goods = goodsService.getById(banner.getContent());
+                if(null == goods || goods.getDelFlag() == 1){
+                    banner.setJumpType(1);
+                }
+                if(!goods.getCommodityAuthority().contains("-1") && !goods.getCommodityAuthority().contains(vipId.toString())){
+                    banner.setJumpType(1);
+                }
+            }
+            //秒杀活动
+            if(null != jumpType1 && 4 == jumpType1){
+                SeckillActivityInfo activityInfo = seckillActivityInfoService.getById(banner.getContent());
+                if(null == activityInfo || activityInfo.getDelFlag() == 1){
+                    banner.setJumpType(1);
+                }
+                if(!activityInfo.getVipIds().contains(vipId.toString())){
+                    banner.setJumpType(1);
+                }
+            }
+        }
         return R.ok(list);
     }
     @PostMapping("/add")
@@ -55,6 +109,12 @@
 	@ApiOperation(value = "广告管理-banner管理-修改", tags = {"管理后台"})
 	public R edit(@RequestBody Banner banner){
             bannerService.updateById(banner);
+            if (banner.getContentType()==2){
+                LambdaUpdateWrapper<Banner> bannerLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
+                bannerLambdaUpdateWrapper.set(Banner::getJumpType,null);
+                bannerLambdaUpdateWrapper.eq(Banner::getId,banner.getId());
+                bannerService.update(bannerLambdaUpdateWrapper);
+            }
             return R.ok();
       }
       @GetMapping("/detail")

--
Gitblit v1.7.1