package com.softwarebr.nunu.service.go;

import com.softwarebr.nunu.entity.go.Label;
import com.brframework.commondb.core.EntityService;

import java.util.List;
import java.util.Map;

/**
 * @date 2020-02-19 14:03:47
 * @author lilin
 */

public interface LabelService extends EntityService<Label, Long, Object> {

    /**
     * 获取标签
     * @param parentId 父级ID，查询一级可为0
     * @return
     */
    List<Label> getLabel(Long parentId);

    /**
     * 下拉标签选项
     * @param key
     * @return
     */
    Map<String, String> getLabel(String key);

    /**
     * 获取所有未被删除的标签
     * @return
     */
    List<Label> getAll();

    /**
     * 标签保存
     * @param parentId 一级标签id
     * @param labelName 标签名称
     * @param sort 排序值
     */
    void saveLabel(Long parentId, String labelName, Integer sort);

    /**
     * 修改标签
     * @param labelId 标签id
     * @param parentId 一级标签id
     * @param labelName 标签名称
     * @param sort 排序值
     */
    void updateLabel(Long labelId,Long parentId, String labelName, Integer sort);

    /**
     * 标签删除
     * @param labelId
     */
    void removeLabel(Long labelId);
}