108 lines
2.8 KiB
C#
108 lines
2.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
using Newtonsoft.Json;
|
|
using Google.Protobuf.WellKnownTypes;
|
|
|
|
|
|
using ServerCore;
|
|
using ServerBase;
|
|
|
|
|
|
using SESSION_ID = System.Int32;
|
|
using META_ID = System.UInt32;
|
|
using ENTITY_GUID = System.String;
|
|
using ACCOUNT_ID = System.String;
|
|
using OWNER_GUID = System.String;
|
|
using USER_GUID = System.String;
|
|
using CHARACTER_GUID = System.String;
|
|
using ITEM_GUID = System.String;
|
|
using MAIL_GUID = System.String;
|
|
|
|
|
|
|
|
|
|
namespace ServerCommon;
|
|
|
|
// public class SystemMetaMailText
|
|
// {
|
|
// public LanguageType languageType { get; set; } = LanguageType.None;
|
|
// public string text { get; set; } = string.Empty;
|
|
// }
|
|
|
|
public class SystemMetaMailAttrib : AttribBase
|
|
{
|
|
[JsonProperty("mail_id")]
|
|
public Int32 MailId { get; set; } = 0;
|
|
|
|
[JsonProperty("sender_nickname")]
|
|
public List<OperationSystemMessage> SenderNickName { get; set; } = new();
|
|
|
|
[JsonProperty("title")]
|
|
public List<OperationSystemMessage> Title { get; set; } = new();
|
|
|
|
[JsonProperty("text")]
|
|
public List<OperationSystemMessage> Text { get; set; } = new();
|
|
|
|
[JsonProperty("start_time")]
|
|
public DateTime StartTime { get; set; } = new();
|
|
|
|
[JsonProperty("end_time")]
|
|
public DateTime EndTime { get; set; } = new();
|
|
|
|
[JsonProperty("item_list")]
|
|
public List<MailItem> ItemList { get; set; } = new();
|
|
|
|
public SystemMetaMailAttrib()
|
|
: base(typeof(SystemMetaMailAttrib).Name)
|
|
{ }
|
|
}
|
|
|
|
//=============================================================================================
|
|
// PK(Partition Key) : "management_system_meta_mail#"
|
|
// SK(Sort Key) : "sequence_id"
|
|
// DocType : SystemMailDoc
|
|
// SystemMailAttrib : {}
|
|
// ...
|
|
//=============================================================================================
|
|
|
|
public class SystemMetaMailDoc : DynamoDbDocBase
|
|
{
|
|
public SystemMetaMailDoc()
|
|
: base(typeof(SystemMetaMailDoc).Name)
|
|
{
|
|
setCombinationKeyForPK(DynamoDbClient.PK_GLOBAL);
|
|
appendAttribWrapperAll();
|
|
fillUpPrimaryKey(onMakePK(), onMakeSK());
|
|
}
|
|
|
|
public SystemMetaMailDoc(string mail_id)
|
|
: base(typeof(SystemMetaMailDoc).Name)
|
|
{
|
|
setCombinationKeyForPKSK(DynamoDbClient.PK_GLOBAL, mail_id);
|
|
appendAttribWrapperAll();
|
|
fillUpPrimaryKey(onMakePK(), onMakeSK());
|
|
}
|
|
|
|
private void appendAttribWrapperAll()
|
|
{
|
|
appendAttribWrapper(new AttribWrapper<SystemMetaMailAttrib>());
|
|
}
|
|
|
|
protected override string onGetPrefixOfPK()
|
|
{
|
|
return "management_system_meta_mail#";
|
|
}
|
|
|
|
protected override ServerErrorCode onCheckAndSetSK(string sortKey)
|
|
{
|
|
getPrimaryKey().fillUpSK(sortKey);
|
|
setCombinationKeyForSK(sortKey);
|
|
return ServerErrorCode.Success;
|
|
}
|
|
}
|