package com.red.circle.other.inner.endpoint.sys.api;

import com.red.circle.framework.dto.ResultResponse;
import com.red.circle.other.inner.model.cmd.sys.GiftPackConfigQryCmd;
import com.red.circle.other.inner.model.cmd.sys.SysGiftPackParamCmd;
import com.red.circle.other.inner.model.dto.sys.SysGiftPackConfigDTO;
import com.red.circle.other.inner.model.dto.sys.SysGiftPackParamDTO;
import java.math.BigDecimal;
import java.util.List;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * 礼包配置
 *
 * @author zongpubin on 2023/10/31
 */
public interface SysGiftPackConfigClientApi {

  String API_PREFIX = "/sys/gift-pack-config";

  @PostMapping("/giftPackConfig")
  ResultResponse<Void> giftPackConfig(@RequestBody SysGiftPackParamCmd sysGiftPackParam);

  @PostMapping("/addGiftPackConfig")
  ResultResponse<Void> addGiftPackConfig(@RequestBody SysGiftPackParamCmd sysGiftPackParam);

  @GetMapping("/getGiftPackConfig")
  ResultResponse<SysGiftPackParamDTO> getGiftPackConfig(
      @RequestParam("giftPackId") Long giftPackId);

  @GetMapping("/getGoldByPackId")
  ResultResponse<BigDecimal> getGoldByPackId(@RequestParam("giftPackId") Long giftPackId);

  @PostMapping("/getGiftPackConfigInfo")
  ResultResponse<List<SysGiftPackConfigDTO>> getGiftPackConfigInfo(
      @RequestBody GiftPackConfigQryCmd query);
}
