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