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 SenderNickName { get; set; } = new(); [JsonProperty("title")] public List Title { get; set; } = new(); [JsonProperty("text")] public List 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 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()); } protected override string onGetPrefixOfPK() { return "management_system_meta_mail#"; } protected override ServerErrorCode onCheckAndSetSK(string sortKey) { getPrimaryKey().fillUpSK(sortKey); setCombinationKeyForSK(sortKey); return ServerErrorCode.Success; } }