package com.czg.account.service;

import com.czg.account.dto.ShopActivateDTO;
import com.czg.account.entity.ShopActivate;
import com.czg.account.entity.ShopUser;
import com.mybatisflex.core.service.IService;

import java.math.BigDecimal;
import java.util.List;

/**
 * 活动 服务层。
 *
 * @author ww
 * @since 2025-02-17
 */
public interface ShopActivateService extends IService<ShopActivate> {

    List<ShopActivateDTO> getList(Long shopId);

    Boolean add(ShopActivateDTO activateDTO);

    Boolean edit(ShopActivateDTO activateDTO);

    /**
     * @param memAmount  充值金额
     * @param activateId 参加活动Id
     * @param relationId 关联Id
     *                   霸王餐时 订单id
     *                   充值奖励 的关联id 是tb_shop_user_flow的充值 记录id
     *                   支付/退款 tb_order_payment.id
     */
    void giveActivate(ShopUser shopUser, BigDecimal memAmount, Long activateId, Long relationId);

}
