/**
 * 福利模块 - 福利屋、签到、任务相关接口
 */
import RequestManager from '../request';

/**
 * 获取福利屋列表
 * @param {Object} params 查询参数
 * @param {Number} params.page 页码
 * @param {Number} params.status 状态 1-进行中 2-已结束
 * @returns {Promise} 福利屋列表
 */
export const getWelfareHouseList = async (params = {}) => {
    return await RequestManager.get('/fuliwu', params, true);
};

/**
 * 获取福利屋详情
 * @param {Number} goodsId 商品ID
 * @returns {Promise} 福利屋详情
 */
export const getWelfareHouseDetail = async (goodsId) => {
    return await RequestManager.get('/fuliwu_detail', {
        goods_id: goodsId
    }, true);
};

/**
 * 福利屋下单
 * @param {Object} params 下单参数
 * @param {Number} params.goods_id 商品ID
 * @param {Number} params.num 购买数量
 * @param {Number} params.use_money2_is 是否使用余额
 * @returns {Promise} 下单结果
 */
export const buyWelfareHouse = async (params = {}) => {
    return await RequestManager.post('/fuliwu_buy', params);
};

/**
 * 获取福利屋参与者列表
 * @param {Object} params 查询参数
 * @param {Number} params.goods_id 商品ID
 * @param {Number} params.page 页码
 * @returns {Promise} 参与者列表
 */
export const getWelfareParticipants = async (params = {}) => {
    return await RequestManager.get('/fuliwu_participants', params);
};

/**
 * 获取福利屋中奖记录
 * @param {Object} params 查询参数
 * @param {Number} params.goods_id 商品ID
 * @param {Number} params.page 页码
 * @returns {Promise} 中奖记录
 */
export const getWelfareRecords = async (params = {}) => {
    return await RequestManager.get('/fuliwu_records', params);
};

/**
 * 获取签到信息
 * @returns {Promise} 签到信息
 */
export const getSignInfo = async () => {
    return await RequestManager.get('/sign_info', {}, true);
};

/**
 * 执行签到
 * @returns {Promise} 签到结果
 */
export const doSign = async () => {
    return await RequestManager.post('/sign', {}, true);
};

/**
 * 获取签到数据（旧版）
 * @returns {Promise} 签到数据
 */
export const getSignData = async () => {
    return await RequestManager.get('/sign', {}, true);
};

/**
 * 执行签到（旧版）
 * @returns {Promise} 签到结果
 */
export const doSignAdd = async () => {
    return await RequestManager.post('/sign_add', {});
};

/**
 * 获取任务列表
 * @returns {Promise} 任务列表
 */
export const getTaskList = async () => {
    return await RequestManager.get('/task_list', {});
};

/**
 * 领取任务奖励
 * @param {Number} taskId 任务ID
 * @returns {Promise} 领取结果
 */
export const receiveTaskReward = async (taskId) => {
    return await RequestManager.post('/ling_task', {
        task_list_id: taskId
    });
};

/**
 * 获取福利屋菜单列表
 * @returns {Promise} 福利屋菜单列表
 */
export const getWelfareMenuList = async () => {
    return await RequestManager.post('/welfare_house_list', {});
};

/**
 * 获取福利屋数据（带类型）
 * @param {Object} params 查询参数
 * @param {Number} params.type 类型 1-进行中 3-已结束
 * @returns {Promise} 福利屋数据
 */
export const getWelfareHouseData = async (params = {}) => {
    return await RequestManager.post('/fuliwu', params);
};

/**
 * 获取用户参与记录
 * @returns {Promise} 参与记录
 */
export const getUserWelfareRecords = async () => {
    return await RequestManager.get('/fuliwu_user_records', {});
};

/**
 * 获取用户中奖记录
 * @returns {Promise} 中奖记录
 */
export const getUserWinningRecords = async () => {
    return await RequestManager.get('/fuliwu_user_winning_records', {});
};
