From 3802d7f8a475e9b34f4d06fd511c4f7d0f652ed2 Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Wed, 24 Jan 2024 17:17:53 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 0 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java b/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java
index 343c1b7..07d20cb 100644
--- a/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java
@@ -1,22 +1,31 @@
 package cc.mrbird.febs.vip.service.impl;
 
 import cc.mrbird.febs.common.entity.QueryRequest;
+import cc.mrbird.febs.common.exception.FebsException;
 import cc.mrbird.febs.mall.entity.MallNewsInfo;
 import cc.mrbird.febs.mall.vo.AdminMallNewsInfoVo;
 import cc.mrbird.febs.vip.entity.MallVipBenefits;
+import cc.mrbird.febs.vip.entity.MallVipBenefitsDetails;
+import cc.mrbird.febs.vip.mapper.MallVipBenefitsDetailsMapper;
 import cc.mrbird.febs.vip.mapper.MallVipBenefitsMapper;
+import cc.mrbird.febs.vip.service.IMallVipBenefitsDetailsService;
 import cc.mrbird.febs.vip.service.IMallVipBenefitsService;
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 @Slf4j
 @Service
 @RequiredArgsConstructor
 public class MallVipBenefitsServiceImpl extends ServiceImpl<MallVipBenefitsMapper, MallVipBenefits> implements IMallVipBenefitsService {
+
+    private final IMallVipBenefitsDetailsService mallVipBenefitsDetailsService;
 
     @Override
     public IPage<MallVipBenefits> vipBenefitsListInPage(QueryRequest request) {
@@ -28,4 +37,55 @@
     public MallVipBenefits findVipBenefitsById(Long id) {
         return this.baseMapper.selectVipBenefitsById(id);
     }
+
+    @Override
+    @Transactional
+    public void addVipBenefits(MallVipBenefits mallVipBenefits) {
+        if (mallVipBenefits == null) {
+            return;
+        }
+
+        if (CollUtil.isEmpty(mallVipBenefits.getDetails())) {
+            throw new FebsException("权益明细不能为空");
+        }
+
+        this.baseMapper.insert(mallVipBenefits);
+
+        mallVipBenefits.getDetails().forEach(item -> {
+            item.setBenefitsId(mallVipBenefits.getId());
+        });
+        this.mallVipBenefitsDetailsService.saveBatch(mallVipBenefits.getDetails());
+    }
+
+    @Override
+    @Transactional
+    public void delVipBenefits(Long id) {
+        this.baseMapper.deleteById(id);
+
+        LambdaQueryWrapper<MallVipBenefitsDetails> delQuery = new LambdaQueryWrapper<>();
+        delQuery.eq(MallVipBenefitsDetails::getBenefitsId, id);
+        this.mallVipBenefitsDetailsService.remove(delQuery);
+    }
+
+    @Override
+    @Transactional
+    public void editVipBenefits(MallVipBenefits mallVipBenefits) {
+        if (mallVipBenefits.getId() == null) {
+            throw new FebsException("缺少重要参数");
+        }
+
+        this.baseMapper.updateById(mallVipBenefits);
+
+        LambdaQueryWrapper<MallVipBenefitsDetails> delQuery = new LambdaQueryWrapper<>();
+        delQuery.eq(MallVipBenefitsDetails::getBenefitsId, mallVipBenefits.getId());
+        this.mallVipBenefitsDetailsService.remove(delQuery);
+
+        mallVipBenefits.getDetails().forEach(item -> {
+            item.setBenefitsId(mallVipBenefits.getId());
+        });
+        this.mallVipBenefitsDetailsService.saveBatch(mallVipBenefits.getDetails());
+
+    }
+
+
 }

--
Gitblit v1.9.1