mitao
2024-06-05 e1f5ba620ad2f0b3f62c1faa45ad65a854a3c79a
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package com.ruoyi.member.service.impl;
 
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.system.api.domain.dto.MemberAddressDTO;
import com.ruoyi.member.mapper.MemberAddressMapper;
import com.ruoyi.member.service.IMemberAddressService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.system.api.domain.MemberAddress;
import org.springframework.stereotype.Service;
 
import java.util.List;
 
 
/**
 * <p>
 * 会员地址表 服务实现类
 * </p>
 *
 * @author mitao
 * @since 2024-05-16
 */
@Service
public class MemberAddressServiceImpl extends ServiceImpl<MemberAddressMapper, MemberAddress> implements IMemberAddressService {
 
    @Override
    public PageDTO<MemberAddress> getMemberAddressList(MemberAddressDTO memberAddressDTO) {
        Page<MemberAddress> page = new Page<>(memberAddressDTO.getPageCurr(), memberAddressDTO.getPageSize());
        LambdaQueryWrapper<MemberAddress> wrapper= Wrappers.lambdaQuery();
        wrapper.eq(MemberAddress::getMemberId,memberAddressDTO.getMemberId());
        wrapper.eq(MemberAddress::getDelFlag,0);
        wrapper.orderByDesc(MemberAddress::getIsDefault);
        Page<MemberAddress> page1 = this.page(page, wrapper);
        return PageDTO.of(page1);
    }
 
    @Override
    public MemberAddress getDefaultMemberAddressList(MemberAddressDTO memberAddressDTO) {
        LambdaQueryWrapper<MemberAddress> wrapper= Wrappers.lambdaQuery();
        wrapper.eq(MemberAddress::getMemberId,memberAddressDTO.getMemberId());
        wrapper.eq(MemberAddress::getDelFlag,0);
        wrapper.eq(MemberAddress::getIsDefault,2);
        MemberAddress memberAddress1=this.getOne(wrapper);
        if (memberAddress1==null){
            LambdaQueryWrapper<MemberAddress> wrapper1= Wrappers.lambdaQuery();
            wrapper1.eq(MemberAddress::getMemberId,memberAddressDTO.getMemberId());
            wrapper1.eq(MemberAddress::getDelFlag,0);
            List<MemberAddress> list = this.list(wrapper);
            if (list.size()>0){
                memberAddress1=list.get(0);
            }
        }
        return memberAddress1;
    }
 
    @Override
    public void addMemberAddress(MemberAddressDTO memberAddressDTO) {
        MemberAddress memberAddress=new MemberAddress();
        if (memberAddressDTO.getId()!=null){
            memberAddress=this.getById(memberAddressDTO.getId());
        }
       if(memberAddressDTO.getIsDefault()==2){
           LambdaQueryWrapper<MemberAddress> wrapper= Wrappers.lambdaQuery();
           wrapper.eq(MemberAddress::getMemberId,memberAddressDTO.getMemberId());
           wrapper.eq(MemberAddress::getDelFlag,0);
           wrapper.eq(MemberAddress::getIsDefault,2);
           MemberAddress memberAddress1=this.getOne(wrapper);
           if (memberAddress1!=null){
               memberAddress1.setIsDefault(1);
               this.updateById(memberAddress1);
           }
       }
       memberAddress.setMemberId(memberAddressDTO.getMemberId());
       memberAddress.setReceiverCity(memberAddressDTO.getReceiverCity());
       memberAddress.setReceiverProvince(memberAddressDTO.getReceiverProvince());
       memberAddress.setReceiverRegion(memberAddressDTO.getReceiverRegion());
       memberAddress.setCity(memberAddressDTO.getReceiverProvince()+memberAddressDTO.getReceiverCity()+memberAddressDTO.getReceiverRegion());
       memberAddress.setRecipientName(memberAddressDTO.getRecipientName());
       memberAddress.setRecipientPhone(memberAddressDTO.getRecipientPhone());
       memberAddress.setDetailedAddress(memberAddressDTO.getDetailedAddress());
       memberAddress.setIsDefault(memberAddressDTO.getIsDefault());
        this.saveOrUpdate(memberAddress);
 
    }
 
    @Override
    public void delMemberAddress(MemberAddressDTO memberAddressDTO) {
        this.removeById(memberAddressDTO.getId());
    }
}