package com.iamberry.wechat.service.mapper;

import com.iamberry.wechat.core.entity.PageBean;
import com.iamberry.wechat.core.entity.integral.IntegralConfig;
import com.iamberry.wechat.core.entity.integral.MemberIntegral;
import com.iamberry.wechat.core.entity.integral.RankRule;
import com.iamberry.wechat.core.entity.integral.UseIntegral;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

public interface UseIntegralMapper {
    /**
     * 全部积分记录
     * @param useIntegral
     * @return
     */
    List<UseIntegral> listIntegralInfo(UseIntegral useIntegral);
    /**
     * 获得的总积分数
     * @param userOpenId
     * @return
     */
    int getGainIntegralCount(String userOpenId);

    /**
     * 使用的总积分数
     * @param openid
     * @return
     */
    int getUseIntegralCount(String openid);

    /**
     * 待入账的总积分数
     * @param userOpenId
     * @return
     */
    int getStayIntegralCount(String userOpenId);

    /**
     * 查询积分来源信息
     * @param integralConfig
     * @return
     */
    List<IntegralConfig> listIntegralConfig(IntegralConfig integralConfig);

    /**
     * 添加积分日志
     * @param useIntegral
     * @return
     */
    Integer addUseIntegral(UseIntegral useIntegral);

    /**
     * 查询会员积分等级规则信息
     * @param rankRule
     * @return
     */
    List<RankRule> listRankRule(RankRule rankRule);

    /**
     * 添加会员信息
     * @param memberIntegral
     * @return
     */
    Integer addMemberIntegral(MemberIntegral memberIntegral);

    /**
     * 获取会员信息.会员等级名称
     * @param openId
     * @return
     */
    MemberIntegral getMemberInfoAndRankName(String openId);

    /**
     * 查询会员等级信息
     * @return
     */
    List<RankRule> getRankRule();

}
