|  | @@ -8,6 +8,7 @@ import com.hwrj.cloud.portal.service.UmsMemberReceiveAddressService;
 | 
	
		
			
				|  |  |  import com.hwrj.cloud.portal.service.UmsMemberService;
 | 
	
		
			
				|  |  |  import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  |  import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | +import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  |  import org.springframework.util.CollectionUtils;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import java.util.List;
 | 
	
	
		
			
				|  | @@ -24,13 +25,19 @@ public class UmsMemberReceiveAddressServiceImpl implements UmsMemberReceiveAddre
 | 
	
		
			
				|  |  |      private UmsMemberReceiveAddressMapper addressMapper;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  | +    @Transactional
 | 
	
		
			
				|  |  |      public int add(UmsMemberReceiveAddress address) {
 | 
	
		
			
				|  |  |          UmsMember currentMember = memberService.getCurrentMember();
 | 
	
		
			
				|  |  |          address.setMemberId(currentMember.getId());
 | 
	
		
			
				|  |  | -        return addressMapper.insert(address);
 | 
	
		
			
				|  |  | +        int i = addressMapper.insert(address);
 | 
	
		
			
				|  |  | +        if (address.getDefaultStatus() == 1) {
 | 
	
		
			
				|  |  | +            defaultStatus(address.getId());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return i;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  | +    @Transactional
 | 
	
		
			
				|  |  |      public int delete(Long id) {
 | 
	
		
			
				|  |  |          UmsMember currentMember = memberService.getCurrentMember();
 | 
	
		
			
				|  |  |          UmsMemberReceiveAddressExample example = new UmsMemberReceiveAddressExample();
 | 
	
	
		
			
				|  | @@ -39,6 +46,7 @@ public class UmsMemberReceiveAddressServiceImpl implements UmsMemberReceiveAddre
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  | +    @Transactional
 | 
	
		
			
				|  |  |      public int update(Long id, UmsMemberReceiveAddress address) {
 | 
	
		
			
				|  |  |          address.setId(null);
 | 
	
		
			
				|  |  |          UmsMember currentMember = memberService.getCurrentMember();
 | 
	
	
		
			
				|  | @@ -65,6 +73,7 @@ public class UmsMemberReceiveAddressServiceImpl implements UmsMemberReceiveAddre
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          UmsMemberReceiveAddressExample example = new UmsMemberReceiveAddressExample();
 | 
	
		
			
				|  |  |          example.createCriteria().andMemberIdEqualTo(currentMember.getId());
 | 
	
		
			
				|  |  | +        example.setOrderByClause("default_status desc");
 | 
	
		
			
				|  |  |          return addressMapper.selectByExample(example);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -79,4 +88,33 @@ public class UmsMemberReceiveAddressServiceImpl implements UmsMemberReceiveAddre
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          return null;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    @Transactional
 | 
	
		
			
				|  |  | +    public int defaultStatus(Long id) {
 | 
	
		
			
				|  |  | +        //更新自身
 | 
	
		
			
				|  |  | +        updateLocal(id);
 | 
	
		
			
				|  |  | +        //设置其他为不是默认地址
 | 
	
		
			
				|  |  | +        int i = updateOther(id);
 | 
	
		
			
				|  |  | +        return i;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    private int updateOther(Long id) {
 | 
	
		
			
				|  |  | +        UmsMemberReceiveAddress record = new UmsMemberReceiveAddress();
 | 
	
		
			
				|  |  | +        UmsMember currentMember = memberService.getCurrentMember();
 | 
	
		
			
				|  |  | +        UmsMemberReceiveAddressExample example = new UmsMemberReceiveAddressExample();
 | 
	
		
			
				|  |  | +        UmsMemberReceiveAddressExample.Criteria criteria = example.createCriteria();
 | 
	
		
			
				|  |  | +        criteria.andIdNotEqualTo(id);
 | 
	
		
			
				|  |  | +        criteria.andMemberIdEqualTo(currentMember.getId());
 | 
	
		
			
				|  |  | +        record.setDefaultStatus(0);
 | 
	
		
			
				|  |  | +        return addressMapper.updateByExampleSelective(record, example);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    private UmsMemberReceiveAddress updateLocal(Long id) {
 | 
	
		
			
				|  |  | +        UmsMemberReceiveAddress record = new UmsMemberReceiveAddress();
 | 
	
		
			
				|  |  | +        record.setDefaultStatus(1);
 | 
	
		
			
				|  |  | +        record.setId(id);
 | 
	
		
			
				|  |  | +        addressMapper.updateByPrimaryKeySelective(record);
 | 
	
		
			
				|  |  | +        return record;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  }
 |