package com.cool.store.service.store;

import com.cool.store.entity.order.PreAllocationRecordDO;
import com.cool.store.entity.order.StoreOrderDO;
import com.cool.store.entity.wallet.WalletTradeDO;
import com.cool.store.request.store.PreAllocationAddRequest;
import com.cool.store.request.store.PreAllocationEditRequest;
import com.cool.store.request.store.PreAllocationQueryShopRequest;
import com.cool.store.request.store.PreAllocationSaveRequest;
import com.cool.store.request.store.TransRequest;
import com.cool.store.vo.order.PreAllocationRecordVO;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * @Auther zx_szh
 * @Date 2026/2/4 15:56
 * @Version 1.0
 */
public interface PreAllocationRecordService {

    Boolean saveBatch(PreAllocationSaveRequest req);

    void queryAndUpdateBatchTransferStatus(String batchCode);

    List<PreAllocationRecordVO> queryByShop(Long shopId);

    List<PreAllocationRecordDO> listDOByShop(Long shopId);

    Integer pushStandardStoreFee(StoreOrderDO storeOrderDO);

    Boolean trans(TransRequest transRequest);

    /**
     * 分账状态刷新
     * @param walletTradeDO
     * @return
     */
    Boolean transStatusRefresh(WalletTradeDO walletTradeDO);

    /**
     * 新增预分账记录
     * @param request
     * @return
     */
    Boolean add(PreAllocationAddRequest request);

    /**
     * 编辑预分账记录
     * @param request
     * @return
     */
    Boolean edit(PreAllocationEditRequest request);

    /**
     * 删除预分账记录（软删除）
     * @param id
     * @return
     */
    Boolean delete(Long id);


}
