package com.ruoyi.member.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.member.domain.MemberCoupon;
import com.ruoyi.member.domain.MemberOrder;

/**
 * 用户通告券变动记录Service接口
 *
 * @author vinjor-m
 * @date 2025-03-17
 */
public interface IMemberCouponService extends IService<MemberCoupon> {

    /**
     * @param order 订单
     * @author PQZ
     * @date 15:02 2025/3/28
     **/
    void dealMemberCoupon(MemberOrder order);

    /**
     * 保存通告券变动记录
     *
     * @param userId    用户id
     * @param type      变动类型（1增加2减少）
     * @param noticeId  通告id
     * @param couponNum 变动数量
     * @author PQZ
     * @date 15:19 2025/3/28
     **/
    void saveCoupon(Long userId, String type, String noticeId, Integer couponNum) throws Exception;

    /**
     * 查询剩余通告券
     *
     * @param userId 用户id
     * @return java.lang.Integer
     * @author PQZ
     * @date 13:37 2025/4/11
     **/
    Integer getCoupon(Long userId);


}
