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