초기커밋
This commit is contained in:
111
ServerCommon/Doc/OwnerContents/ClaimDoc.cs
Normal file
111
ServerCommon/Doc/OwnerContents/ClaimDoc.cs
Normal file
@@ -0,0 +1,111 @@
|
||||
using System;
|
||||
|
||||
|
||||
using Newtonsoft.Json;
|
||||
|
||||
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
|
||||
|
||||
namespace ServerCommon;
|
||||
|
||||
public class ClaimAttrib : AttribBase
|
||||
{
|
||||
[JsonProperty("claim_type")]
|
||||
public MetaAssets.ClaimType ClaimType { get; set; } = MetaAssets.ClaimType.None;
|
||||
|
||||
[JsonProperty("claim_id")]
|
||||
public int ClaimId { get; set; } = 0;
|
||||
|
||||
[JsonProperty("active_reward_idx")]
|
||||
public int ActiveRewardIdx { get; set; } = 0;
|
||||
|
||||
[JsonProperty("active_time")]
|
||||
public DateTime ActiveTime { get; set; } = new();
|
||||
|
||||
[JsonProperty("create_time")]
|
||||
public DateTime CreateTime { get; set; } = new();
|
||||
|
||||
[JsonProperty("complete_time")]
|
||||
public DateTime CompleteTime { get; set; } = new();
|
||||
|
||||
[JsonProperty("is_complete")]
|
||||
public int IsComplete { get; set; } = 0;
|
||||
|
||||
public ClaimAttrib()
|
||||
: base(typeof(ClaimAttrib).Name)
|
||||
{ }
|
||||
}
|
||||
//=============================================================================================
|
||||
// PK(Partition Key) : "claim#owner_guid"
|
||||
// SK(Sort Key) : "normal#claim_meta_id"
|
||||
// DocType : ClaimDoc
|
||||
// ClaimAttrib : {}
|
||||
// ...
|
||||
//=============================================================================================
|
||||
public class ClaimDoc : DynamoDbDocBase
|
||||
{
|
||||
public ClaimDoc()
|
||||
: base(typeof(ClaimDoc).Name)
|
||||
{
|
||||
appendAttribWrapper(new AttribWrapper<ClaimAttrib>());
|
||||
}
|
||||
|
||||
public ClaimDoc(string userGuid)
|
||||
: base(typeof(ClaimDoc).Name)
|
||||
{
|
||||
appendAttribWrapper(new AttribWrapper<ClaimAttrib>());
|
||||
setCombinationKeyForPK(userGuid);
|
||||
}
|
||||
|
||||
public ClaimDoc(string userGuid, MetaAssets.ClaimType type, Int32 claimId)
|
||||
: base(typeof(ClaimDoc).Name)
|
||||
{
|
||||
appendAttribWrapper(new AttribWrapper<ClaimAttrib>());
|
||||
var attrib = getAttrib<ClaimAttrib>();
|
||||
NullReferenceCheckHelper.throwIfNull(attrib, () => $"attrib is null !!!");
|
||||
attrib.ClaimType = type;
|
||||
|
||||
setCombinationKeyForPK(userGuid);
|
||||
setCombinationKeyForSK(claimId.ToString());
|
||||
fillUpPrimaryKey(onMakePK(), onMakeSK());
|
||||
|
||||
}
|
||||
|
||||
|
||||
protected override string onGetPrefixOfPK()
|
||||
{
|
||||
return "claim#";
|
||||
}
|
||||
protected override string onGetPrefixOfSK()
|
||||
{
|
||||
var attrib = getAttrib<ClaimAttrib>();
|
||||
NullReferenceCheckHelper.throwIfNull(attrib, () => $"attrib is null !!!");
|
||||
return $"{attrib.ClaimType.ToString().ToLower()}#";
|
||||
}
|
||||
|
||||
protected override string onMakePK()
|
||||
{
|
||||
return $"{onGetPrefixOfPK()}{getCombinationKeyForPK()}";
|
||||
}
|
||||
|
||||
protected override string onMakeSK()
|
||||
{
|
||||
return $"{onGetPrefixOfSK()}{getCombinationKeyForSK()}";
|
||||
|
||||
}
|
||||
|
||||
|
||||
protected override ServerErrorCode onCheckAndSetPK(string pk)
|
||||
{
|
||||
getPrimaryKey().fillUpPK(pk);
|
||||
return ServerErrorCode.Success;
|
||||
}
|
||||
|
||||
protected override ServerErrorCode onCheckAndSetSK(string sortKey)
|
||||
{
|
||||
getPrimaryKey().fillUpSK(sortKey);
|
||||
return ServerErrorCode.Success;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user