초기커밋
This commit is contained in:
92
BrokerApiCore/Common/Helpers.cs
Normal file
92
BrokerApiCore/Common/Helpers.cs
Normal file
@@ -0,0 +1,92 @@
|
||||
namespace BrokerCore.Common;
|
||||
|
||||
using System.Security.Cryptography;
|
||||
|
||||
using BrokerBusinessLog;
|
||||
|
||||
using DbEntity;
|
||||
|
||||
using Entity.Actions;
|
||||
|
||||
using MetaAssets;
|
||||
|
||||
using ServerCommon;
|
||||
|
||||
using ServerCore; using ServerBase;
|
||||
|
||||
public class Helpers
|
||||
{
|
||||
public static string generateSecureKey(int keySizeInBytes = 32, bool isBase64 = true)
|
||||
{
|
||||
// 32바이트는 256비트 키를 의미합니다. (AES-256과 같은 암호화 알고리즘에 적합)
|
||||
using var random_number_generator = RandomNumberGenerator.Create();
|
||||
byte[] key = new byte[keySizeInBytes];
|
||||
random_number_generator.GetBytes(key);
|
||||
return isBase64 ? Convert.ToBase64String(key) : Convert.ToHexString(key);
|
||||
}
|
||||
|
||||
public static MailSendOption createMailOptionByProductMeta(
|
||||
ProductMetaData productMeta,
|
||||
SystemMailMetaData mailMeta,
|
||||
string receiverUserGuid,
|
||||
string receiverNickName)
|
||||
{
|
||||
DateTime now = DateTimeHelper.Current;
|
||||
var expire_date = now.AddSeconds(MetaHelper.GameConfigMeta.SystemMailStoragePeriod);
|
||||
// if (productMeta.Storage_Period_First != 0)
|
||||
// {
|
||||
// expire_date = DateTime.UtcNow.AddMinutes(productMeta.Storage_Period_First);
|
||||
// }
|
||||
var mail_send_option = new MailSendOption
|
||||
{
|
||||
ReceiverUserGuid = receiverUserGuid,
|
||||
ReceiverNickName = receiverNickName,
|
||||
IsSystemMail = true,
|
||||
IsTextByMetaData = true,
|
||||
Title = mailMeta.Mail_Title,
|
||||
Text = mailMeta.Mail_Desc,
|
||||
ExpireDate = expire_date,
|
||||
ItemList = getMailItems(productMeta).ToList(),
|
||||
PackageOrderId = string.Empty,
|
||||
};
|
||||
return mail_send_option;
|
||||
}
|
||||
|
||||
public static IEnumerable<MailItem> getMailItems(ProductMetaData productMetaData)
|
||||
{
|
||||
if (productMetaData.ItemID_First != 0)
|
||||
{
|
||||
return productMetaData.First_List.Select(itemMeta => new MailItem()
|
||||
{
|
||||
ItemId = (UInt32)itemMeta.Id,
|
||||
Count = itemMeta.Value,
|
||||
ProductId = (UInt32)productMetaData.Id,
|
||||
isRepeatProduct = false
|
||||
});
|
||||
}
|
||||
return new List<MailItem>();
|
||||
}
|
||||
|
||||
public static PlanetItemExchangeLogData createFromExchangeOrderLog(PlanetItemExchangeOrder order)
|
||||
{
|
||||
return new PlanetItemExchangeLogData
|
||||
{
|
||||
OrderId = order.OrderId,
|
||||
OrderStatus = order.OrderStatus.ToString(),
|
||||
ExchangeMetaId = order.ExchangeMetaId,
|
||||
ExchangeMetaAmount = order.ExchangeMetaAmount,
|
||||
AccountId = order.AccountId,
|
||||
UserGuid = order.UserGuid,
|
||||
PlanetId = order.PlanetId,
|
||||
SeasonId = order.SeasonId,
|
||||
CaliverseItemType = order.CaliverseItemType.ToString(),
|
||||
CaliverseItemId = order.CaliverseItemId,
|
||||
CaliverseItemDeltaAmount = order.CaliverseItemDeltaAmount,
|
||||
PlanetItemType = order.PlanetItemType.ToString(),
|
||||
PlanetItemId = order.PlanetItemId,
|
||||
PlanetItemDeltaAmount = order.PlanetItemDeltaAmount,
|
||||
CreatedAt = order.CreatedAt,
|
||||
CompletedAt = order.CompletedAt
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user