/*
 * Copyright 2015-2020 All rights reserved.
 */
package com.scm.api.feign.contract.common;

import com.scm.api.contract.entity.common.TOperatingLog;
import com.scm.api.feign.factory.contract.common.RmTOperatingLogServiceFallbackFactory;
import com.set.direwolf.core.constant.ServiceNameConstant;
import com.set.direwolf.core.mybatis.Page;
import com.set.direwolf.core.web.OperationResult;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

/**
 * <pre>
 * ----auto generated-------
 * 日志信息Feign服务，请求服务端API
 * 请将下方feignPrefix替换为"系统简称.APPLICATION_NAME"字符串
 * 其中系统简称来自于微服务系统管理中系统信息的系统简称字段
 *     APPLICATION_NAME来自于本工程yml文件中spring.application.name的值
 * </pre>
 *
 * @author wangning
 * @version 2020-04-29 09:58:09
 */
@FeignClient(value = "${direwolf.ms.contract.name:" + ServiceNameConstant.GATEWAY_SERVICE + "}", fallbackFactory = RmTOperatingLogServiceFallbackFactory.class)
public interface RmTOperatingLogService {

    /**
     * 分页数据
     *
     * @param entity 参数实体
     * @return Page
     */
    @GetMapping(value = {"${adminPath}/contract/common/tOperatingLog/getTOperatingLogList"})
    Page<TOperatingLog> findPage(@RequestBody TOperatingLog entity);

    /**
     * 保存数据
     *
     * @param entity 参数实体
     * @return OperationResult
     */
    @PostMapping(value = {"${adminPath}/contract/common/tOperatingLog/save"})
    OperationResult save(@RequestBody TOperatingLog entity);

    /**
     * 删除数据
     *
     * @param entity 参数实体
     * @return OperationResult
     */
    @PostMapping(value = {"${adminPath}/contract/common/tOperatingLog/delete"})
    OperationResult delete(@RequestBody TOperatingLog entity);

    /**
     * 批量删除数据
     *
     * @param ids 主键字符串
     * @return OperationResult
     */
    @PostMapping(value = {"${adminPath}/contract/common/tOperatingLog/deleteAll"})
    OperationResult deleteAll(@RequestParam("ids") String ids);
}