package com.sinosig.web.external.feign;

import java.util.List;

import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.cloud.openfeign.FeignClient;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import com.sinosig.web.external.domain.ORG;
import com.sinosig.web.external.filter.*;


public interface ORGFeignClient {



    @RequestMapping(method= RequestMethod.GET , value="/web/orgs/fetchtoporg")
	public Page<ORG> fetchTopOrg(ORGSearchContext searchContext) ;

    @RequestMapping(method= RequestMethod.GET , value="/web/orgs/fetchcurorg")
	public Page<ORG> fetchCurOrg(ORGSearchContext searchContext) ;

	@RequestMapping(method = RequestMethod.POST, value = "/web/orgs/checkkey")
    public Boolean checkKey(@RequestBody ORG org) ;

	@RequestMapping(method = RequestMethod.POST, value = "/web/orgs")
    public ORG create(@RequestBody ORG org) ;

	@RequestMapping(method = RequestMethod.GET, value = "/web/orgs/{org_id}")
    public ORG get(@PathVariable("org_id") String org_id) ;

	@RequestMapping(method = RequestMethod.POST, value = "/web/orgs/{org_id}/save")
    public ORG save(@PathVariable("org_id") String org_id, @RequestBody ORG org) ;

	@RequestMapping(method = RequestMethod.DELETE, value = "/web/orgs/{org_id}")
    public Boolean remove(@PathVariable("org_id") String org_id) ;

	@RequestMapping(method = RequestMethod.PUT, value = "/web/orgs/{org_id}")
    public ORG update(@PathVariable("org_id") String org_id, @RequestBody ORG org) ;

	@RequestMapping(method = RequestMethod.GET, value = "/web/orgs/{org_id}/getdraft")
    public ORG getDraft(@PathVariable("org_id") String org_id, @RequestBody ORG org) ;

    @RequestMapping(method= RequestMethod.GET , value="/web/orgs/fetchdefault")
	public Page<ORG> fetchDefault(ORGSearchContext searchContext) ;
}
