package com.yonge.cooleshow.biz.dal.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yonge.cooleshow.biz.dal.dao.PlatformCashAccountRecordDao;
import com.yonge.cooleshow.biz.dal.dto.search.PlatformCashAccountRecordSearch;
import com.yonge.cooleshow.biz.dal.entity.PlatformCashAccountRecord;
import com.yonge.cooleshow.biz.dal.enums.GoodTypeEnum;
import com.yonge.cooleshow.biz.dal.vo.PlatformCashAccountRecordSummaryVo;

import java.util.List;

/**
 * 平台账户流水表(PlatformCashAccountRecord)表服务接口
 *
 * @author zx
 * @since 2022-07-21 10:32:06
 */
public interface PlatformCashAccountRecordService extends IService<PlatformCashAccountRecord> {

    PlatformCashAccountRecordDao getDao();
    
    IPage<PlatformCashAccountRecord> queryPage(IPage<PlatformCashAccountRecord> page, PlatformCashAccountRecordSearch query);

    List<PlatformCashAccountRecord> queryAll(PlatformCashAccountRecordSearch query);

    PlatformCashAccountRecordSummaryVo querySummary(PlatformCashAccountRecordSearch query);
    
    /**
     * 更新待入账记录
     * @return
     */
    boolean updateWaitRecord();

    /**
     * 取消入账
     * @param orderNo
     * @param bizType
     * @param bizId
     */
    void cancelRecord(String orderNo, String bizType, Long bizId);

    /**
     * 设置商城预收-> 实收
     *
     * @param productSkuId 商城商品skuid
     * @param orderSn 订单
     * @param goodType
     */
    void mallRecordedRecord(Long productSkuId, String orderSn, String goodType);
}

