package com.liquidnet.client.admin.zhengzai.adam.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.adam.dto.param.AdamCaomeiBadgeClaimUserSearchParam;
import com.liquidnet.service.adam.dto.param.AdamCaomeiBadgeSearchParam;
import com.liquidnet.service.adam.dto.vo.AdamCaomeiBadgeClaimUserVo;
import com.liquidnet.service.adam.dto.vo.AdamCaomeiBadgeVo;
import com.liquidnet.service.adam.entity.AdamCaomeiBadge;

/**
 * 草莓护照-徽章管理
 */
public interface IAdamCaomeiBadgeAdminService extends IService<AdamCaomeiBadge> {

    /**
     * 徽章管理（每个徽章领取人数）
     * @param param
     * @return
     */
    PageInfo<AdamCaomeiBadgeVo> listWithClaimedCount(AdamCaomeiBadgeSearchParam param);

    /**
     * 徽章领取用户列表
     * @param param
     * @return
     */
    PageInfo<AdamCaomeiBadgeClaimUserVo> listClaimUsers(AdamCaomeiBadgeClaimUserSearchParam param);

    /**
     * 清除用户端「上架草莓徽章列表」Redis 缓存，与 adam 侧 {@code AdamRdmService#delPublishedCaomeiBadges} 一致。
     * 后台新增/编辑/上下架成功后应调用，避免用户端仍读到旧列表。
     */
    void delPublishedCaomeiBadges();
}
