package com.doumee.service.business; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.business.model.PricingRule; import com.doumee.dao.dto.LocalStoragePricingSaveDTO; import com.doumee.dao.dto.RemoteDeliveryPricingSaveDTO; import com.doumee.dao.dto.EstimatedDeliverySaveDTO; import com.doumee.dao.dto.StoreDepositSaveDTO; import com.doumee.dao.dto.RevenueShareSaveDTO; import com.doumee.dao.vo.LocalStoragePricingVO; import com.doumee.dao.vo.RemoteDeliveryPricingVO; import com.doumee.dao.vo.EstimatedDeliveryVO; import com.doumee.dao.vo.StoreDepositVO; import com.doumee.dao.vo.RevenueShareVO; import java.util.List; /** * 计价规则配置Service定义 * @author rk * @date 2026/04/08 */ public interface PricingRuleService { /** * 创建 * * @param pricingRule 实体对象 * @return Integer */ Integer create(PricingRule pricingRule); /** * 主键删除 * * @param id 主键 */ void deleteById(Integer id); /** * 删除 * * @param pricingRule 实体对象 */ void delete(PricingRule pricingRule); /** * 批量主键删除 * * @param ids 主键集 */ void deleteByIdInBatch(List ids); /** * 主键更新 * * @param pricingRule 实体对象 */ void updateById(PricingRule pricingRule); /** * 批量主键更新 * * @param pricingRules 实体集 */ void updateByIdInBatch(List pricingRules); /** * 主键查询 * * @param id 主键 * @return PricingRule */ PricingRule findById(Integer id); /** * 条件查询单条记录 * * @param pricingRule 实体对象 * @return PricingRule */ PricingRule findOne(PricingRule pricingRule); /** * 条件查询 * * @param pricingRule 实体对象 * @return List */ List findList(PricingRule pricingRule); /** * 分页查询 * * @param pageWrap 分页对象 * @return PageData */ PageData findPage(PageWrap pageWrap); /** * 条件统计 * * @param pricingRule 实体对象 * @return long */ long count(PricingRule pricingRule); /** * 批量保存就地存取规则 * @param request 批量保存请求 */ void batchSaveLocalStoragePricing(LocalStoragePricingSaveDTO request); /** * 查询就地存取规则列表 * @param cityId 城市主键 * @return 就地存取规则列表 */ List listLocalStoragePricing(Integer cityId); /** * 批量保存异地寄送规则 * @param request 批量保存请求 */ void batchSaveRemoteDeliveryPricing(RemoteDeliveryPricingSaveDTO request); /** * 查询异地寄送规则列表 * @param cityId 城市主键 * @return 异地寄送规则列表 */ List listRemoteDeliveryPricing(Integer cityId); /** * 新增预计时效配置 * @param request 保存请求 * @return 规则主键 */ Integer createEstimatedDelivery(EstimatedDeliverySaveDTO request); /** * 修改预计时效配置 * @param request 保存请求 */ void updateEstimatedDelivery(EstimatedDeliverySaveDTO request); /** * 删除预计时效配置 * @param id 规则主键 */ void deleteEstimatedDelivery(Integer id); /** * 查询预计时效配置列表 * @param cityId 城市主键 * @return 预计时效配置列表 */ List listEstimatedDelivery(Integer cityId); /** * 批量保存门店注册押金 * @param request 批量保存请求 */ void batchSaveStoreDeposit(StoreDepositSaveDTO request); /** * 查询门店注册押金列表(固定返回2条) * @param cityId 城市主键 * @return 门店注册押金列表 */ List listStoreDeposit(Integer cityId); /** * 批量保存分成比例 * @param request 批量保存请求 */ void batchSaveRevenueShare(RevenueShareSaveDTO request); /** * 查询分成比例列表(固定返回5条) * @param cityId 城市主键 * @return 分成比例列表 */ List listRevenueShare(Integer cityId); }