초기커밋

This commit is contained in:
2025-05-01 07:20:41 +09:00
commit 98bb2e3c5c
2747 changed files with 646947 additions and 0 deletions

View File

@@ -0,0 +1,90 @@
namespace BrokerCore.ApiModels;
using System.ComponentModel;
using System.Text.Json.Serialization;
using Swashbuckle.AspNetCore.Annotations;
[SwaggerSchema("재화 잔액 요청")]
public class CurrencyBalanceRequest
{
[Description("칼리버스 재화 타입 : Sapphire (현재는 Sapphire 만 사용)")]
public string CaliverseCurrencyType { get; init; } = CurrencyType.Sapphire.ToString();
[Description("SsoAccountId - sso의 accountId로 조회할 경우, UserGuid 불필요")]
public string SsoAccountId { get; init; } = string.Empty;
[Description("사용자 GUID - UserGuid으로 조회할 경우, SsoAccountId 불필요")]
public string UserGuid { get; init; }
}
[SwaggerSchema("재화 잔액 응답")]
public class CurrencyBalanceResponse
{
[Description("칼리버스 재화 타입 : Sapphire (현재는 Sapphire 만 사용)")]
public string CaliverseCurrencyType { get; init; }
[Description("사용자 잔액")] public double Amount { get; init; }
}
[SwaggerSchema("아이템 교환 요청")]
public class PlanetItemExchangeRequest
{
[Description("사용자 GUID")] public required string UserGuid { get; init; }
[Description("시즌 아이디 => 이기몹 게임 시즌 이름 (사업부에 문의 - 테스트 시에는 아무거나 사용 가능)")]
public required string SeasonId { get; init; } = string.Empty;
[Description("플래닛 아이템 교환 메타 ID")] public required string ExchangeMetaId { get; init; }
[Description("플래닛 아이템 교환 메타 개수")] public required int ExchangeMetaAmount { get; init; }
}
[SwaggerSchema("아이템 교환 응답")]
public class PlanetItemExchangeResponse
{
[Description("교환 주문 정보")] public required PlanetItemExchangeOrderDto ExchangeOrder { get; init; }
}
[SwaggerSchema("아이템 교환 요청")]
public class PlanetItemExchangeCompleteRequest
{
[Description("사용자 GUID")] public required string UserGuid { get; init; }
[Description("플래닛 아이템 주문 ID")] public required string ExchangeOrderId { get; init; }
}
[SwaggerSchema(
"교환 주문 목록 요청 <br> - SsoAccountId 또는 UserGuid 중 하나를 선택해서 유저 구분 <br> - seasonId는 필수로 입력 (관련 내용은 사업부에 문의)")]
public class PlanetItemExchangeOrderListRequest
{
[Description("SsoAccountId => sso의 accountId로 조회할 경우, UserGuid 불필요")]
public string SsoAccountId { get; init; } = string.Empty;
[Description("사용자 GUID => UserGuid으로 조회할 경우, SsoAccountId 불필요")]
public string UserGuid { get; init; } = string.Empty;
[Description("조회할 PlanetId => 웹 포탈에서 조회시 이기몹의 교환 정보를 얻으려면 반드시 igm26_iggymob을 명시해야함")]
public required string PlanetId { get; init; } = string.Empty;
[Description("시즌 아이디 => 이기몹 게임 시즌 이름으로 해당 시즌만 조회 (빈문자열 일 경우, 모두 조회)")]
public required string SeasonId { get; init; } = string.Empty;
[Description("플래닛 아이템 교환 메타 ID => 메타테이블의 ID (빈문자열 일 경우 모두 조회)")]
public required string ExchangeMetaId { get; init; }
[Description("조회 옵션 => 'All': 전체, 'Pending': 대기, 'Completed': 완료")]
[JsonConverter(typeof(JsonStringEnumConverter))]
public required FindOption Option { get; init; }
[Description("페이지 번호 (기본값:1)")] public int PageIndex { get; init; } = 1;
[Description("페이지 크기 (기본값:20)")] public int PageSize { get; init; } = 20;
[Description("정렬 기준 => asc: 오름차순, desc: 내림차순")]
public string SortOrder { get; init; } = "asc";
}
[SwaggerSchema("교환 주문 목록 응답")]
public class PlanetItemExchangeOrderListResponse
{
[Description("교환 주문 목록")] public required IEnumerable<PlanetItemExchangeOrderDto> Orders { get; init; }
[Description("교환 주문 총 개수")] public required int TotalCount { get; init; }
}