package com.yonge.cooleshow.biz.dal.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
import com.yonge.cooleshow.biz.dal.wrapper.TenantGroupAlbumWrapper;
import com.yonge.cooleshow.biz.dal.entity.TenantGroupAlbum;

import java.util.List;

/**
 * 机构小组专辑配置表
 * 2024-01-24 13:32:00
 */
public interface TenantGroupAlbumService extends IService<TenantGroupAlbum>  {

	/**
     * 查询详情
     * @param id 详情ID
     * @return TenantGroupAlbum
     */
	TenantGroupAlbum detail(Long id);

    /**
     * 分页查询
     * @param page IPage<TenantGroupAlbum>
     * @param query TenantGroupAlbumWrapper.TenantGroupAlbumQuery
     * @return IPage<TenantGroupAlbum>
     */
    IPage<TenantGroupAlbumWrapper.TenantGroupAlbumVo> selectPage(IPage<TenantGroupAlbumWrapper.TenantGroupAlbumVo> page, TenantGroupAlbumWrapper.TenantGroupAlbumQuery query);
	
    /**
     * 添加
     * @param tenantGroupAlbum TenantGroupAlbumWrapper.TenantGroupAlbum
     * @return Boolean
     */
     Boolean add(TenantGroupAlbumWrapper.TenantGroupAlbum tenantGroupAlbum);   

    /**
     * 更新
     * @param tenantGroupAlbum TenantGroupAlbumWrapper.TenantGroupAlbum
     * @return Boolean
     */
     Boolean update(TenantGroupAlbumWrapper.TenantGroupAlbum tenantGroupAlbum);

    /**
     * 可购买机构信息
     *
     * @param tenantGroupAlbumId
     * @param userId             用户ID
     * @param clientType         客户端类型
     */
    List<TenantGroupAlbumWrapper.BuyTenantAlbum> buyAlbumInfo(Long tenantGroupAlbumId, Long userId, ClientEnum clientType);

    void updateStatus(TenantGroupAlbumWrapper.UpdateStatus updateStatus);
}