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

import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.goblin.entity.GoblinArtistTopic;

import java.util.Collection;
import java.util.Map;

/**
 * Admin 艺人专题管理
 */
public interface IGoblinArtistTopicAdminService extends IService<GoblinArtistTopic> {

    /**
     * 设置排序，同步写 MongoDB + MySQL
     */
    boolean setSort(String topicId, int sort);

    /**
     * 设置推荐位，0 或 1~10，同步写 MongoDB + MySQL
     */
    boolean setRecommend(String topicId, int position);

    /**
     * 设置专题标签，同步写 MongoDB + MySQL；空串视为清空
     */
    boolean setTag(String topicId, String tag);

    /**
     * 上下架，同步写 MongoDB + MySQL
     */
    boolean setStatus(String topicId, int status);

    /**
     * 逻辑删除，同步写 MongoDB + MySQL
     */
    boolean deleteTopic(String topicId);

    /**
     * 专题详情（MySQL 读取：专题主表 + 商品关联表 + 商品/SKU 表，goods 附带商品规格）
     */
    Map<String, Object> topicDetail(String topicId);

    /**
     * 批量查询专题的商品数量（MySQL 商品关联表）
     */
    Map<String, Integer> goodsCountMap(Collection<String> topicIds);
}
