| | |
| | | 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) { |
| | |
| | | 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()); |
| | | |
| | | } |
| | | |
| | | |
| | | } |