package com.mmc.iuav.user.service.userpoints;

import com.mmc.iuav.page.PageResult;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.model.qo.userpoints.AppPointsDetailsQO;
import com.mmc.iuav.user.model.qo.userpoints.UserPointQO;
import com.mmc.iuav.user.model.qo.userpoints.UserPointsDetailsQO;
import com.mmc.iuav.user.model.vo.userpoints.ChangeUserPointVO;

/**
 * @Author small
 * @Date 2023/8/5 16:31
 * @Version 1.0
 */
public interface UserPointsService {
    PageResult userPointList(UserPointQO param);

    PageResult detailPoint(UserPointsDetailsQO param);

    PageResult appDetailPoint(Integer userAccountId, AppPointsDetailsQO param);

    ResultBody change(ChangeUserPointVO changePoint);

    ResultBody listChangeType();


    /**
     * 改变用户积分，
     * @param userId 用户id
     * @param pointChangeTypeId 根据这个id去user_points_change_type表中查找需要修改多少积分
     * @return {@link ResultBody}
     */
    ResultBody changeUserPoints(Integer userId,Integer pointChangeTypeId);
}
