package com.czg.market.service;

import com.czg.account.vo.PointsExchangeSummaryVo;
import com.czg.market.dto.MkPointsGoodsRecordDTO;
import com.czg.market.dto.MkPointsGoodsRecordQueryDTO;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import com.czg.market.entity.MkPointsGoodsRecord;

/**
 * 积分兑换记录 服务层。
 *
 * @author ww
 * @since 2025-12-08
 */
public interface MkPointsGoodsRecordService extends IService<MkPointsGoodsRecord> {


    /**
     * 积分兑换记录统计
     */
    PointsExchangeSummaryVo total(MkPointsGoodsRecordQueryDTO param);

    /**
     * 积分兑换记录列表 管理端
     */
    Page<MkPointsGoodsRecordDTO> getGoodsRecordPage(MkPointsGoodsRecordQueryDTO param);

    /**
     * 积分兑换记录列表 用户端
     */
    Page<MkPointsGoodsRecord> userGoodsRecordPage(Integer page, Integer size, Long shopId, String status, Long userId);

    boolean checkout(String couponCode, Long shopId);
}
