초기커밋

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,88 @@
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Google.Protobuf.WellKnownTypes;
using Newtonsoft.Json;
using StackExchange.Redis;
using ServerCore;
using ServerBase;
using META_ID = System.UInt32;
namespace ServerCommon;
public partial class CraftHelpCacheRequest : RedisRequestPrivateBase
{
public static readonly double CRAFT_CACHE_EXPIRY_TIME = ConstValue.default_1_day_to_sec * ConstValue.default_1_sec_to_milisec;
private string m_target_guid;
public CraftHelpCacheRequest(UserBase owner, RedisConnector redisConnector, string target_guid)
: base(owner, redisConnector)
{
m_target_guid = target_guid;
}
public async Task<Result> UpsertCraftHelp(string push_Guid)
{
var result = new Result();
var err_msg = string.Empty;
var limitCount = MetaHelper.GameConfigMeta.CraftingHelpLimitCountReceive;
try
{
var database = getDatabase();
string craftHelpListKey = onMakeKey();
var pushAfterLength = await database.ListRightPushAsync(craftHelpListKey, push_Guid);
if (pushAfterLength > limitCount)
{
await database.ListTrimAsync(craftHelpListKey, 0, limitCount - 1);
var trimAfterPosition = await database.ListPositionAsync(craftHelpListKey, push_Guid);
if (trimAfterPosition == -1)
{
err_msg = $"Crafting help receieved Count Over !!! : push_Guid :{push_Guid}- {getOwner().toBasicString()}";
result.setFail(ServerErrorCode.CraftingHelpReceivedCountOver, err_msg);
Log.getLogger().error(err_msg);
return result;
}
}
if(pushAfterLength == 1)
{
await database.KeyExpireAsync(craftHelpListKey, TimeSpan.FromMilliseconds(CRAFT_CACHE_EXPIRY_TIME));
}
return result;
}
catch (Exception e)
{
err_msg = $"Failed to set LoginCache in Redis !!! : : Exception:{e} - {getOwner().toBasicString()}";
result.setFail(ServerErrorCode.TryCatchException, err_msg);
Log.getLogger().error(err_msg);
return result;
}
}
protected override string onMakeKey()
{
return $"craftHelp:{m_target_guid}:{DateTime.UtcNow.Date}";
}
public override string toBasicString()
{
return $"craftHelp: In:UserGuid:{m_target_guid}";
}
}