package com.mzl.flower.service.menber.impl;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.mzl.flower.config.exception.ValidationException;
|
import com.mzl.flower.config.security.SecurityUtils;
|
import com.mzl.flower.dto.request.menber.MemberDTO;
|
import com.mzl.flower.dto.request.menber.MemberQueryDTO;
|
import com.mzl.flower.dto.response.member.MemberVO;
|
import com.mzl.flower.entity.menber.Member;
|
import com.mzl.flower.mapper.member.MemberMapper;
|
import com.mzl.flower.service.menber.MemberService;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.util.ObjectUtils;
|
import org.springframework.util.StringUtils;
|
|
import java.util.List;
|
|
/**
|
* @author fanghaowei
|
* @version version2.0
|
* @className MemberServiceImpl
|
* @date 2024/8/26
|
* @description 会员管理功能逻辑层
|
*/
|
@Service
|
@Transactional
|
@RequiredArgsConstructor
|
public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> implements MemberService {
|
|
private final MemberMapper memberMapper;
|
|
@Override
|
public void saveMember(Member member) {
|
if (StringUtils.isEmpty(member.getName())) {
|
throw new ValidationException("会员等级名称不能为空");
|
}
|
|
if (member.getStartPoint()>member.getEndPoint()) {
|
throw new ValidationException("成长点开始不能大于结束");
|
}
|
//保存时判断是否有重复的名称
|
Member memberByName = memberMapper.getMemberByName(member.getName());
|
if (!ObjectUtils.isEmpty(memberByName)) {
|
throw new ValidationException("会员等级名称重复");
|
}
|
memberMapper.insert(member);
|
}
|
|
@Override
|
public void updateMember(MemberDTO memberDTO) {
|
Member memberInfo = memberMapper.selectById(memberDTO.getId());
|
if (memberInfo == null) {
|
throw new ValidationException("会员等级信息不存在");
|
}
|
// if (!memberInfo.getCreateBy().equals(SecurityUtils.getUserId())) {
|
// throw new ValidationException("无权限修改");
|
// }
|
Member memberTemp = memberMapper.getMemberByName(memberDTO.getName());
|
//判断如果按照会员等级查询到得名称和当前得Id不一致,不能修改。
|
if (!ObjectUtils.isEmpty(memberTemp)) {
|
if (memberTemp.getName().equals(memberDTO.getName())) {
|
throw new ValidationException("已存在会员等级名称,无法修改");
|
}
|
}
|
BeanUtils.copyProperties(memberDTO,memberInfo);
|
memberInfo.update(SecurityUtils.getUserId());
|
memberMapper.updateById(memberInfo);
|
}
|
|
@Override
|
public void deleteMember(String id) {
|
Member member = memberMapper.selectById(id);
|
if (member == null) {
|
throw new ValidationException("会员等级信息不存在");
|
}
|
|
// TODO: 2024/8/26 如果当前会员绑定了优惠券,不能删除,等优惠券逻辑完成。
|
memberMapper.deleteById(id);
|
}
|
|
@Override
|
public Page<MemberVO> queryPage(MemberQueryDTO memberQueryDTO, Page page) {
|
List<MemberVO> list = memberMapper.queryPage(memberQueryDTO, page);
|
page.setRecords(list);
|
return page;
|
}
|
}
|