package com.oqpo.api.client.oqlink;

import com.oqpo.api.client.oqlink.dto.*;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.ResponseBody;

@FeignClient(name = "oqlinkClient", url = "${oqlink.url}", configuration = {OqlinkClientConfig.class})
public interface OqlinkClient {

    @PostMapping("/orderqueen_link/oq/scm/brand/info")
    @ResponseBody
    OqScmBrandInfoResModel getScmBrandInfo(@RequestHeader("Hmac") String hmac, @RequestBody OqScmBrandInfoReqModel model);

    @PostMapping("/orderqueen_link/oq/scm/store/info")
    @ResponseBody
    OqScmStoreInfoResModel getScmStoreInfo(@RequestHeader("Hmac") String hmac, @RequestBody OqScmStoreInfoReqModel model);

    @PostMapping("/orderqueen_link/oq/scm/store/change")
    @ResponseBody
    OqScmStoreChangeResModel changeScmStore(@RequestHeader("Hmac") String hmac, @RequestBody OqScmStoreChangeReqModel model);

    @PostMapping("/orderqueen_link/oq/scm/menu/reg")
    @ResponseBody
    OqScmMenuRegResModel regScmMenu(@RequestHeader("Hmac") String hmac, @RequestBody OqScmMenuRegReqModel model);

    @PostMapping("/orderqueen_link/oq/scm/menu/change")
    @ResponseBody
    OqScmMenuRegResModel changeScmMenu(@RequestHeader("Hmac") String hmac, @RequestBody OqScmMenuRegReqModel model);

    @PostMapping("/orderqueen_link/oq/scm/store/price/change")
    @ResponseBody
    OqScmStorePriceChangeResModel changeScmStorePrice(@RequestHeader("Hmac") String hmac, @RequestBody OqScmStorePriceChangeReqModel model);

}
