package cn.pluss.platform.user;

import cn.pluss.platform.api.Result;
import cn.pluss.platform.entity.UserLevel;
import cn.pluss.platform.vo.UserLevelVO;
import com.baomidou.mybatisplus.extension.service.IService;

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

/**
 * <p>
 * 用户等级表 服务类
 * </p>
 *
 * @author bzg
 * @since 2022-01-13
 */
public interface UserLevelService extends IService<UserLevel> {

    /**
     * 根据用户角色和等级查询配置信息
     * @date: 2022/1/25 15:10
     * @param roleCode:
     * @param levelCode:
     * @return cn.pluss.platform.entity.UserLevel
     */
    UserLevel getLevelInfoByRoleLevel(String roleCode, String levelCode);

    /**
     * app接口 获取当前用户等级配置信息
     * @date: 2022/1/25 15:10
     * @return cn.pluss.platform.api.Result<java.lang.Object>
     */
    Result<Object> getAppLevelInfo();

    /**
     * 根据角色获取用户等级配置
     * @date: 2022/1/25 15:12
     * @param roleCode:
     * @param type:
     * @return java.util.List<cn.pluss.platform.entity.UserLevel>
     */
    List<UserLevelVO> getLevelInfoByRole(String roleCode,Integer type);

    /**
     * 获取当前交易额度所在的等级
     * @date: 2022/1/25 23:41
     * @param teamTransFlow:
     * @return cn.pluss.platform.entity.UserLevel
     */
    UserLevel getNowQuotaLevel(BigDecimal teamTransFlow);
}
