package cn.iocoder.yudao.module.member.service.user;


import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberPointsPageReqVO;
import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberPointsRespVO;
import cn.iocoder.yudao.module.member.dal.dataobject.user.*;

import java.util.List;

/**
 * 会员用户积分 Service 接口
 *
 * @author 系统管理员
 */
public interface MemberPointsService {


    PageResult<MemberPointsDO> getMemberPointsPage(MemberPointsPageReqVO pageReqVO);

    void bonusPoints(MemberBonusPointsDO bonusPointsDO);

    void exchangePointsItem(MemberPointsExchangeDO memberPointsExchangeDO);

    MemberPointsRespVO getDetail(Long id);

    void settingPointsItems(List<MemberPointsItemDO> items);

    void addMemberPointsResetConfig(MemberPointsResetConfigDO resetConfigDO);

    void editMemberPointsResetConfig(MemberPointsResetConfigDO resetConfigDO);

    MemberPointsResetConfigDO getMemberPointsResetConfig(Integer orgType, Long tenantId);

    void updateMemberPointsConfig(MemberPointsConfigDO pointsConfigDO);

    List<MemberPointsConfigDO> getMemberPointsConfigList(Integer orgType, Long tenantId);

    List<MemberPointsItemDO> getPointsItems(Integer orgType, Long tenantId);
}