package shop.alien.second.service;

import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import shop.alien.entity.second.SecondUserCredit;
import shop.alien.entity.second.vo.SecondUserCreditVo;

/**
 * 二手平台用户积分服务接口
 */
public interface SecondUserCreditService extends IService<SecondUserCredit> {
    
    /**
     * 根据用户ID获取用户积分信息
     * @param userId 用户ID
     * @return 用户积分信息
     */
    SecondUserCredit getByUserId(Integer userId);
    
    /**
     * 更新用户积分
     * @param credit
     * @return 是否更新成功
     */
    boolean updatePoints(SecondUserCreditVo credit);
    
    /**
     * 新建用户积分记录
     * @param userId 用户ID
     * @param initialPoints 初始积分值
     * @return 是否创建成功
     */
    boolean createPointsRecord(Integer userId, Integer initialPoints, Integer pointsType);

    boolean addIdInfoPoints(Integer userId) throws Exception;

    JSONObject isFree(Integer userId) throws Exception;
}