From be1dad48a522d05dadfc816209d0270548cbbc50 Mon Sep 17 00:00:00 2001 From: Hentua <wangdoubleone@gmail.com> Date: Thu, 25 Jan 2024 23:21:10 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/vip/service/impl/MallVipConfigServiceImpl.java | 29 +++++++++++++++++++++++++++++ 1 files changed, 29 insertions(+), 0 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipConfigServiceImpl.java b/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipConfigServiceImpl.java index e3d030d..c1a15ae 100644 --- a/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipConfigServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipConfigServiceImpl.java @@ -52,6 +52,14 @@ @Override @Transactional(rollbackFor = Exception.class) public void addVipConfig(MallVipConfig config) { + List<MallVipConfig> configs = this.baseMapper.selectVipConfigList(); + boolean b = configs.stream().anyMatch(item -> { + return (item.getLevel().equals(config.getLevel()) || config.getCode().equals(item.getCode())); + }); + + if (b) { + throw new FebsException("会员等级或编码已存在"); + } this.baseMapper.insert(config); List<MallVipConfigBenefits> configBenefitsList = new ArrayList<>(); @@ -68,6 +76,27 @@ @Override public void editVipConfig(MallVipConfig config) { + MallVipConfig oldConfig = this.baseMapper.selectById(config.getId()); + + List<MallVipConfig> configs = this.baseMapper.selectVipConfigList(); + boolean b = configs.stream().anyMatch(item -> { + return !item.getId().equals(config.getId()) && (item.getLevel().equals(config.getLevel()) || config.getCode().equals(item.getCode())); + }); + + if (b) { + throw new FebsException("会员等级或编码已存在"); + } + + if (!config.getCode().equals(oldConfig.getCode())) { + LambdaQueryWrapper<MallMember> memberQuery = new LambdaQueryWrapper<>(); + memberQuery.eq(MallMember::getLevel, oldConfig.getCode()); + List<MallMember> mallMembers = mallMemberMapper.selectList(memberQuery); + if (CollUtil.isNotEmpty(mallMembers)) { + throw new FebsException("会员编码绑定了客户,请调整后修改"); + } + } + + this.baseMapper.updateById(config); LambdaQueryWrapper<MallVipConfigBenefits> delQuery = new LambdaQueryWrapper<>(); -- Gitblit v1.9.1