MrShi
7 天以前 e685b58fd40cf28a20844643d70cc5f5b46ca037
server/services/src/main/java/com/doumee/service/business/PricingRuleService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,174 @@
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<Integer> ids);
    /**
     * ä¸»é”®æ›´æ–°
     *
     * @param pricingRule å®žä½“对象
     */
    void updateById(PricingRule pricingRule);
    /**
     * æ‰¹é‡ä¸»é”®æ›´æ–°
     *
     * @param pricingRules å®žä½“集
     */
    void updateByIdInBatch(List<PricingRule> pricingRules);
    /**
     * ä¸»é”®æŸ¥è¯¢
     *
     * @param id ä¸»é”®
     * @return PricingRule
     */
    PricingRule findById(Integer id);
    /**
     * æ¡ä»¶æŸ¥è¯¢å•条记录
     *
     * @param pricingRule å®žä½“对象
     * @return PricingRule
     */
    PricingRule findOne(PricingRule pricingRule);
    /**
     * æ¡ä»¶æŸ¥è¯¢
     *
     * @param pricingRule å®žä½“对象
     * @return List<PricingRule>
     */
    List<PricingRule> findList(PricingRule pricingRule);
    /**
     * åˆ†é¡µæŸ¥è¯¢
     *
     * @param pageWrap åˆ†é¡µå¯¹è±¡
     * @return PageData<PricingRule>
     */
    PageData<PricingRule> findPage(PageWrap<PricingRule> pageWrap);
    /**
     * æ¡ä»¶ç»Ÿè®¡
     *
     * @param pricingRule å®žä½“对象
     * @return long
     */
    long count(PricingRule pricingRule);
    /**
     * æ‰¹é‡ä¿å­˜å°±åœ°å­˜å–规则
     * @param request æ‰¹é‡ä¿å­˜è¯·æ±‚
     */
    void batchSaveLocalStoragePricing(LocalStoragePricingSaveDTO request);
    /**
     * æŸ¥è¯¢å°±åœ°å­˜å–规则列表
     * @param cityId åŸŽå¸‚主键
     * @return å°±åœ°å­˜å–规则列表
     */
    List<LocalStoragePricingVO> listLocalStoragePricing(Integer cityId);
    /**
     * æ‰¹é‡ä¿å­˜å¼‚地寄送规则
     * @param request æ‰¹é‡ä¿å­˜è¯·æ±‚
     */
    void batchSaveRemoteDeliveryPricing(RemoteDeliveryPricingSaveDTO request);
    /**
     * æŸ¥è¯¢å¼‚地寄送规则列表
     * @param cityId åŸŽå¸‚主键
     * @return å¼‚地寄送规则列表
     */
    List<RemoteDeliveryPricingVO> listRemoteDeliveryPricing(Integer cityId);
    /**
     * ä¿å­˜é¢„计时效配置(有则更新,无则新增)
     * @param request ä¿å­˜è¯·æ±‚
     */
    void saveEstimatedDelivery(EstimatedDeliverySaveDTO request);
    /**
     * æŸ¥è¯¢é¢„计时效配置(有且只有一条,无数据返回空对象)
     * @param cityId åŸŽå¸‚主键
     * @return é¢„计时效配置
     */
    EstimatedDeliveryVO getEstimatedDelivery(Integer cityId);
    /**
     * æ‰¹é‡ä¿å­˜é—¨åº—注册押金
     * @param request æ‰¹é‡ä¿å­˜è¯·æ±‚
     */
    void batchSaveStoreDeposit(StoreDepositSaveDTO request);
    /**
     * æŸ¥è¯¢é—¨åº—注册押金列表(固定返回2条)
     * @param cityId åŸŽå¸‚主键
     * @return é—¨åº—注册押金列表
     */
    List<StoreDepositVO> listStoreDeposit(Integer cityId);
    /**
     * æ‰¹é‡ä¿å­˜åˆ†æˆæ¯”例
     * @param request æ‰¹é‡ä¿å­˜è¯·æ±‚
     */
    void batchSaveRevenueShare(RevenueShareSaveDTO request);
    /**
     * æŸ¥è¯¢åˆ†æˆæ¯”例列表(固定返回5条)
     * @param cityId åŸŽå¸‚主键
     * @return åˆ†æˆæ¯”例列表
     */
    List<RevenueShareVO> listRevenueShare(Integer cityId);
}