package com.vctgo.system.api;

import com.vctgo.common.core.constant.ServiceNameConstants;
import com.vctgo.common.core.domain.R;
import com.vctgo.system.api.domain.SysTagManagement;
import com.vctgo.system.api.domain.dto.SysTagManagementDto;
import com.vctgo.system.api.factory.RemoteTagFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.GetMapping;

import java.util.List;

/**
 * 标签服务
 *
 * @author vctgo
 */
@FeignClient(contextId = "remoteTagService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteTagFallbackFactory.class)
public interface RemoteTagService
{
//    /**
//     * 分页获取标签数据
//     *
//     * @param  sysTagManagement 标签信息
//     * @return 结果
//     */
//    @GetMapping("/tag_manage/page")
//    R<List<SysTagManagement>> pageList(@RequestBody SysTagManagement sysTagManagement);

    /**
     * 获取全部的标签数据
     *
     * @param  sysTagManagementDto 标签信息
     * @return 结果
     */
    @GetMapping("/tag_manage/external/list")
    R<List<SysTagManagement>> listAll(@SpringQueryMap SysTagManagementDto sysTagManagementDto);

//    /**
//     * 新增标签数据
//     *
//     * @param  sysTagManagement 标签信息
//     * @return 结果
//     */
//    @PostMapping("/tag_manage")
//    R<SysTagManagement> addTag(@RequestBody SysTagManagement sysTagManagement);
//
//    /**
//     * 编辑标签数据
//     *
//     * @param  sysTagManagement 标签信息
//     * @return 结果
//     */
//    @PutMapping("/tag_manage")
//    R<SysTagManagement> editTag(@RequestBody SysTagManagement sysTagManagement);
//
//    /**
//     * 修改标签状态
//     *
//     * @param  sysTagManagement 标签信息
//     * @return 结果
//     */
//    @PutMapping("/tag_manage/tag-status")
//    R<SysTagManagement> changeTagStatus(@RequestBody SysTagManagement sysTagManagement);

    /**
     * 删除标签数据
     *
     * @param  ids 标签信息
     * @return 结果
     */
//    @PutMapping("/tag_manage/abandon/{ids}")
//    R<Integer> abandon(@PathVariable Long[] ids);

}
