package com.leromro.core.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.leromro.common.core.domain.AjaxResult;
import com.leromro.common.core.domain.R;
import com.leromro.core.domain.Address;

/**
 * 受服务地址Service接口
 * 
 * @author ruoyi
 * @date 2025-04-18
 */
public interface IAddressService extends IService<Address>
{
    /**
     * 查询受服务地址
     * 
     * @param addressId 受服务地址主键
     * @return 受服务地址
     */
    public Address selectAddressByAddressId(Long addressId);

    /**
     * 查询受服务地址列表
     * 
     * @param address 受服务地址
     * @return 受服务地址集合
     */
    public List<Address> selectAddressList(Address address);

    /**
     * 新增受服务地址
     * 
     * @param address 受服务地址
     * @return 结果
     */
    public Boolean insertAddress(Address address);

    /**
     * 修改受服务地址
     * 
     * @param address 受服务地址
     * @return 结果
     */
    public Boolean updateAddress(Address address);

    /**
     * 批量删除受服务地址
     * 
     * @param addressIds 需要删除的受服务地址主键集合
     * @return 结果
     */
    public int deleteAddressByAddressIds(Long[] addressIds);

    /**
     * 删除受服务地址信息
     * 
     * @param addressId 受服务地址主键
     * @return 结果
     */
    public int deleteAddressByAddressId(Long addressId);

    AjaxResult setDefaultAddress(Address address);

    R<Address> selectDefalutAddress();

    Address selectAddressInfoBySeconderId(String orderId);
}
