cloudroam
2024-08-26 0eace7110d0c6875807ccebb281a52962ae6d6fb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
package com.mzl.flower.service.menber.impl;
 
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.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.util.ObjectUtils;
import org.springframework.util.StringUtils;
 
/**
 * @author fanghaowei
 * @version version2.0
 * @className MemberServiceImpl
 * @date 2024/8/26
 * @description 会员管理功能逻辑层
 */
@Service
@RequiredArgsConstructor
public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> implements MemberService {
 
    private final MemberMapper memberMapper;
 
    @Override
    public void saveMember(Member member) {
        if (StringUtils.isEmpty(member.getLevelName())) {
            throw new ValidationException("会员等级名称不能为空");
        }
        //保存时判断是否有重复的名称
        Member memberByName = memberMapper.getMemberByName(member.getLevelName());
        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.getLevelName());
        //判断如果按照会员等级查询到得名称和当前得Id不一致,不能修改。
        if (!ObjectUtils.isEmpty(memberTemp)) {
            if (memberTemp.getLevelName().equals(memberDTO.getLevelName())) {
                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);
    }
}