package com.hzs.member.account.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.member.account.CuMemberTrade;
import com.hzs.common.domain.member.account.CuMemberTradeExt;
import com.hzs.common.domain.member.account.CuMemberTradeRecoil;
import com.hzs.member.account.vo.CuMemberTradeDetailVO;
import com.hzs.member.account.vo.CuMemberTradeVO;
import org.apache.ibatis.annotations.Param;

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

/**
 * 会员活动发放复消币明细 Mapper 接口
 *
 * @author hzs
 * @since 2024-07-19
 */
public interface CuMemberTradeRecoilMapper extends BaseMapper<CuMemberTradeRecoil> {

    /**
     * 撤销订单处理
     *
     * @param pkMember 会员编号
     * @param pkGrade  会员等级（当前）
     * @return
     */
    int cancelOrderHandle(@Param("pkMember") Long pkMember, @Param("pkGrade") Integer pkGrade);

    /**
     * 根据会员查询未发放的复消币
     *
     * @param pkMember  会员ID
     * @param pkCountry 国家
     * @return BigDecimal
     */
    BigDecimal selectUnissuedAmount(@Param("pkMember") Long pkMember, @Param("pkCountry") Integer pkCountry);


    /**
     * 查询复消币明细(会员端)
     *
     * @param cuMemberTradeVO 入参
     * @return List<CuMemberTradeVO>
     */
    List<CuMemberTradeVO> selectRecoilDetail(CuMemberTradeVO cuMemberTradeVO);


    /**
     * 查询复消明细列表信息（后台管理端）
     *
     * @param memberTradeDetailVO 入参
     * @return List<CuMemberTradeExt>
     */
    List<CuMemberTradeExt> selectMemberRecoilDetailList(CuMemberTradeDetailVO memberTradeDetailVO);
}
