From b67cb476a3de3eb720bc4c295e8fcd9c29825df7 Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Tue, 23 Jan 2024 02:07:21 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/vip/controller/ViewVipConfigController.java |   86 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 86 insertions(+), 0 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/vip/controller/ViewVipConfigController.java b/src/main/java/cc/mrbird/febs/vip/controller/ViewVipConfigController.java
index a4b0048f..51a0f72 100644
--- a/src/main/java/cc/mrbird/febs/vip/controller/ViewVipConfigController.java
+++ b/src/main/java/cc/mrbird/febs/vip/controller/ViewVipConfigController.java
@@ -2,6 +2,13 @@
 
 import cc.mrbird.febs.common.entity.FebsConstant;
 import cc.mrbird.febs.common.utils.FebsUtil;
+import cc.mrbird.febs.mall.entity.MallGoods;
+import cc.mrbird.febs.mall.entity.MallGoodsCoupon;
+import cc.mrbird.febs.mall.mapper.MallGoodsCouponMapper;
+import cc.mrbird.febs.mall.service.IApiMallGoodsService;
+import cc.mrbird.febs.vip.entity.MallVipBenefits;
+import cc.mrbird.febs.vip.service.IMallVipBenefitsService;
+import cn.hutool.core.collection.CollUtil;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
@@ -9,11 +16,19 @@
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
 @Controller("mallVipConfig")
 @RequestMapping(FebsConstant.VIEW_PREFIX + "modules/vip/config")
 @RequiredArgsConstructor
 public class ViewVipConfigController {
 
+    private final IMallVipBenefitsService mallVipBenefitsService;
+    private final IApiMallGoodsService apiMallGoodsService;
+    private final MallGoodsCouponMapper mallGoodsCouponMapper;
 
     @GetMapping(value = "/benefitsList")
     public String benefitsList() {
@@ -38,4 +53,75 @@
         model.addAttribute("tableIndex", index);
         return FebsUtil.view("modules/vip/coupon-select");
     }
+
+    @GetMapping("/editBenefits/{id}")
+    public String editBenefits(@PathVariable("id") Long id, Model model) {
+        MallVipBenefits vipBenefits = mallVipBenefitsService.findVipBenefitsById(id);
+
+        List<Long> goodsIds = new ArrayList<>();
+        List<Long> couponIds = new ArrayList<>();
+        vipBenefits.getDetails().forEach(item -> {
+            if (item.getIsClick() == 2) {
+                return;
+            }
+
+            if (item.getLinkType() == 2) {
+                goodsIds.add(Long.parseLong(item.getContent()));
+            }
+
+            if (item.getLinkType() == 3) {
+                couponIds.add(Long.parseLong(item.getContent()));
+            }
+        });
+
+        List<MallGoods> goodsList = new ArrayList<>();
+        if (CollUtil.isNotEmpty(goodsIds)) {
+            goodsList = apiMallGoodsService.listByIds(goodsIds);
+        }
+
+        List<MallGoodsCoupon> coupons = new ArrayList<>();
+        if (CollUtil.isNotEmpty(couponIds)) {
+            coupons = mallGoodsCouponMapper.selectBatchIds(couponIds);
+        }
+
+        Map<Long, MallGoods> goodsMap = goodsList.stream().collect(Collectors.toMap(MallGoods::getId, MallGoods -> MallGoods));
+        Map<Long, MallGoodsCoupon> couponMap = coupons.stream().collect(Collectors.toMap(MallGoodsCoupon::getId, MallGoodsCoupon -> MallGoodsCoupon));
+
+        vipBenefits.getDetails().forEach(item -> {
+            if (item.getIsClick() == 2) {
+                return;
+            }
+
+            if (item.getLinkType() == 2) {
+                MallGoods mallGoods = goodsMap.get(Long.parseLong(item.getContent()));
+                if (mallGoods != null) {
+                    item.setContentName(mallGoods.getGoodsName());
+                }
+            }
+
+            if (item.getLinkType() == 3) {
+                MallGoodsCoupon coupon = couponMap.get(Long.parseLong(item.getContent()));
+                if (coupon != null) {
+                    item.setContentName(coupon.getName());
+                }
+            }
+        });
+        model.addAttribute("benefitsData", vipBenefits);
+        return FebsUtil.view("modules/vip/vipBenefits-edit");
+    }
+
+    @GetMapping(value = "/levelList")
+    public String levelList() {
+        return FebsUtil.view("modules/vip/vipConfig-list");
+    }
+
+    @GetMapping(value = "/levelAdd")
+    public String levelAdd() {
+        return FebsUtil.view("modules/vip/vipConfig-add");
+    }
+
+    @GetMapping(value = "/levelEdit")
+    public String levelEdit() {
+        return FebsUtil.view("modules/vip/vipLevel-list");
+    }
 }

--
Gitblit v1.9.1