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

import com.red.circle.framework.dto.ResultResponse;
import com.red.circle.other.inner.model.cmd.activity.LotteryActivitySaveCmd;
import com.red.circle.other.inner.model.dto.activity.LotteryActivityDTO;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * 抽奖活动管理Client API.
 *
 * @author system
 * @since 2025-10-18
 */
public interface LotteryActivityManageClientApi {

  String API_PREFIX = "/lottery-activity-manage/client";

  /**
   * 创建活动.
   */
  @PostMapping("/create")
  ResultResponse<Void> createActivity(@RequestBody LotteryActivitySaveCmd cmd);

  /**
   * 更新活动.
   */
  @PutMapping("/update")
  ResultResponse<Void> updateActivity(@RequestBody LotteryActivitySaveCmd cmd);

  /**
   * 更新活动状态.
   */
  @PutMapping("/updateStatus")
  ResultResponse<Void> updateActivityStatus(
      @RequestParam("id") Long id,
      @RequestParam("status") Integer status
  );

  /**
   * 根据ID获取活动.
   */
  @GetMapping("/getById")
  ResultResponse<LotteryActivityDTO> getById(@RequestParam("id") Long id);

}
