rentaiming
2024-05-24 c9e904c9533944c491d348e2a35c78bddc28db4b
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberAddressServiceImpl.java
@@ -1,10 +1,17 @@
package com.ruoyi.member.service.impl;
import com.ruoyi.member.domain.pojo.MemberAddress;
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.member.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 javax.annotation.Resource;
/**
 * <p>
@@ -16,5 +23,51 @@
 */
@Service
public class MemberAddressServiceImpl extends ServiceImpl<MemberAddressMapper, MemberAddress> implements IMemberAddressService {
    @Resource
    private  IMemberAddressService 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 = iMemberAddressService.page(page, wrapper);
        return PageDTO.of(page1);
    }
    @Override
    public void addMemberAddress(MemberAddressDTO memberAddressDTO) {
        MemberAddress memberAddress=new MemberAddress();
        if (memberAddressDTO.getId()!=null){
            memberAddress=iMemberAddressService.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=iMemberAddressService.getOne(wrapper);
           if (memberAddress1!=null){
               memberAddress1.setIsDefault(1);
               iMemberAddressService.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());
       iMemberAddressService.saveOrUpdate(memberAddress);
    }
    @Override
    public void delMemberAddress(MemberAddressDTO memberAddressDTO) {
        iMemberAddressService.removeById(memberAddressDTO.getId());
    }
}