112 lines
2.5 KiB
C#
112 lines
2.5 KiB
C#
using System.Collections.Concurrent;
|
|
using System.Globalization;
|
|
|
|
|
|
|
|
using Google.Protobuf.WellKnownTypes;
|
|
using Newtonsoft.Json;
|
|
|
|
|
|
|
|
using ServerCore;
|
|
using ServerBase;
|
|
|
|
|
|
namespace ServerCommon;
|
|
|
|
public class FriendAttrib : AttribBase
|
|
{
|
|
[JsonProperty("friend_guid")]
|
|
public string FriendGuid { get; set; } = string.Empty;
|
|
|
|
[JsonProperty("folder_name")]
|
|
public string FolderName { get; set; } = string.Empty;
|
|
|
|
[JsonProperty("is_new")]
|
|
public Int32 IsNew { get; set; } = 0;
|
|
|
|
[JsonProperty("create_time")]
|
|
public DateTime CreateTime { get; set; } = DateTimeHelper.MinTime;
|
|
|
|
public void cloenAttrib(ref FriendAttrib attrib)
|
|
{
|
|
attrib.FriendGuid = FriendGuid;
|
|
attrib.FolderName = FolderName;
|
|
attrib.IsNew = IsNew;
|
|
attrib.CreateTime = CreateTime;
|
|
}
|
|
|
|
public FriendAttrib()
|
|
: base(typeof(FriendAttrib).Name)
|
|
{ }
|
|
}
|
|
|
|
|
|
//=============================================================================================
|
|
// PK(Partition Key) : "friend#owner_guid"
|
|
// SK(Sort Key) : "friend_guid"
|
|
// DocType : FriendInfoDoc
|
|
// FriendAttrib : {}
|
|
// ...
|
|
//=============================================================================================
|
|
|
|
public class FriendDoc : DynamoDbDocBase
|
|
{
|
|
public FriendDoc()
|
|
: base(typeof(FriendDoc).Name)
|
|
{
|
|
appendAttribWrapper(new AttribWrapper<FriendAttrib>());
|
|
}
|
|
|
|
public FriendDoc(string ownerGuid, string friendGuid)
|
|
: base(typeof(FriendDoc).Name)
|
|
{
|
|
setCombinationKeyForPK(ownerGuid);
|
|
setCombinationKeyForSK(friendGuid);
|
|
|
|
fillUpPrimaryKey(onMakePK(), onMakeSK());
|
|
|
|
appendAttribWrapper(new AttribWrapper<FriendAttrib>());
|
|
}
|
|
|
|
|
|
protected override string onGetPrefixOfPK()
|
|
{
|
|
return "friend#";
|
|
}
|
|
|
|
protected override string onMakePK()
|
|
{
|
|
return $"{onGetPrefixOfPK()}{getCombinationKeyForPK()}";
|
|
}
|
|
|
|
protected override string onMakeSK()
|
|
{
|
|
return $"{onGetPrefixOfSK()}{getCombinationKeyForSK()}";
|
|
|
|
}
|
|
|
|
// protected override string onGetPrefixOfSK()
|
|
// {
|
|
// return "";
|
|
// }
|
|
|
|
|
|
//onCopyFromDocument(document)
|
|
|
|
|
|
|
|
|
|
protected override ServerErrorCode onCheckAndSetPK(string pk)
|
|
{
|
|
getPrimaryKey().fillUpPK(pk);
|
|
return ServerErrorCode.Success;
|
|
}
|
|
|
|
protected override ServerErrorCode onCheckAndSetSK(string sortKey)
|
|
{
|
|
getPrimaryKey().fillUpSK(sortKey);
|
|
return ServerErrorCode.Success;
|
|
}
|
|
}
|