From bf5c87ad343d35548989db13b0c52ac40688fa86 Mon Sep 17 00:00:00 2001 From: SHM Date: Tue, 22 Apr 2025 12:22:30 +0900 Subject: [PATCH] =?UTF-8?q?[=EC=84=B1=ED=98=84=EB=AA=A8]=20Update=EA=B8=B0?= =?UTF-8?q?=EB=8A=A5=20=EC=B6=94=EA=B0=80,=20=EC=A4=91=EB=B3=B5=20?= =?UTF-8?q?=EC=9C=A0=EB=8B=88=ED=81=AC=ED=82=A4=20=EC=98=88=EC=99=B8?= =?UTF-8?q?=EC=B2=98=EB=A6=AC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DBPatch/sqlScripts/dacpac/HubX.DB.dacpac | Bin 3048 -> 3047 bytes .../Socket/Packet/PacketHandler.cs | 14 +-- .../Controllers/UniqueKeyController.cs | 12 ++ .../HubX.Server/Services/UniqueKeyService.cs | 107 +++++++++++++----- 4 files changed, 99 insertions(+), 34 deletions(-) diff --git a/Projects/HubX/DBPatch/sqlScripts/dacpac/HubX.DB.dacpac b/Projects/HubX/DBPatch/sqlScripts/dacpac/HubX.DB.dacpac index f1582a0fe0c7683a082fdfdd2cfbd38a6994cf73..3ee1bbe4c947f94e6afadc70eebb42cebb81fb8f 100644 GIT binary patch delta 665 zcmV;K0%rZ_7v~oYP)h>@6aWAK2mrZau?+D90=Z(d{{({p0=Z(7ga+sdxnh=DG3B91 zD3f&uK7SqXgFqkxMuY^Zs-_buY4;A8#0ubyZK_Fst&4tAf1xG;+EmP{VuSC!=bqzp zZU6f5GkkolE8`m#lJO=okqu3QHaRa?bBN4Vm6mTl#_!*SE0RA8c3_R60ga5zqf+Mu z05U()nn=55x!{tQ%FcNWk$;MPCrXn53=swpo4TuEgd38d$boJI zKU1L?mDjLNe7$Lk9UFFE2!=qPPkEyVYvlU%%!Q)GiYOA7MDvDVGS}m_N>Ebw%?7qV ze8w&Rnbb5gJDeHgX$5a#=(*yTnl`FaA=tiETu3uUZ|nn12nxZpE#b3XU0oc|9}7*y z)PE%|eJ7v6f?Cwab8F^!g+=zru~0xrfQeTWkc40?AI%^_#Ta7Of-?)_9l{HY7A~~0 z>$~2}{Q!dngq_H)ut%+%Vj44dVF3LB)0OoIy^o^JRp(IrG@g{sUVF!RCGG9?7}+}_ zPkQlEJs7zioC$=qLJ$6KZ_U9Nm54HE1wvt%74NH6ADhB7Bx>TzZ(H%)Mm`bp;E%=PqNmMg3> zeOvn8y_9?I@TsG^X&rpQb`XMzxPB(U_)f&X0Z>Z=1QY-O00;oNVw2km+yc2`ler2t z0=Z(7@CrBrxnh$l3p)w9VwPGl<)KI@lWq$y0=Z(7p9>rT&Xc?gCI+es00000a8Wo5 delta 666 zcmV;L0%iT@7w8uZP)h>@6aWAK2msbxu?+D90@hr!{{({p0@hrUga+sd)?Aia|7D>6 zDU)>vK7XCy2be$vj0g!*RZVB4q}@AU5-Wf+wy7rlwJ!Qe{e_wd(5A|)DmM7ud+s?t z*Y>X;KcoAXrnbH@skmrk8#&OnSX+paxBJ-cbTtd?`{ez*Xhn-h$@jdq44_r9ebD-} z06-N7)==d%ypTePN;`#UfO@VKlcp^wX#qA&a(`O$?^GKSfFZ&FV%v1JtmugrN4jTE zQkXZM0;x8Jdl3 zfB39R{xfY@Z1*@j!M7E>g<+>!oEz5aUWMelP7A5*1ii5ja6?c8Zrc()n$@d|Bl=@$ zh<~^~Cv!}E8hUiLoA2PvBRez;U7wi0iUx>4-}n3oOy!dqRO$pnOlHuVVZ23X;RXxO zbHX|DUFdy);R3>5WM4R-)@^wk6B5^eMoeEeAk03>uF$r z%FS&VdJj^rxub`k>Y{b@1v_B`Zp6(q0j75%`3+D@0|XQR000O8)?Aa?3ETqKT$8v8 zH3HULlkW;R0@hrUDGNIZ)?Aia|7D>6DU)prF9OzFlb#D40nd}W3nm7u3IG5A0Gg9M Ag8%>k diff --git a/Projects/HubX/HubX.Library/Socket/Packet/PacketHandler.cs b/Projects/HubX/HubX.Library/Socket/Packet/PacketHandler.cs index 49be273..94989a7 100644 --- a/Projects/HubX/HubX.Library/Socket/Packet/PacketHandler.cs +++ b/Projects/HubX/HubX.Library/Socket/Packet/PacketHandler.cs @@ -81,12 +81,12 @@ namespace HubX.Library.Socket.Packet bool isJsonRequest = true; //convert to object - var jsonObject = recvData.ToObject(); + var jsonObject = recvData.ToObject(); //json 요청 아닐때 변환 if (jsonObject == null) { var recvDataList = recvData.Split(","); - jsonObject = new C2S_INSERT_UniqueKey + jsonObject = new C2S_SELECT_UniqueKey { Identity = recvDataList[0] }; @@ -128,12 +128,12 @@ namespace HubX.Library.Socket.Packet bool isJsonRequest = true; //convert to object - var jsonObject = recvData.ToObject(); + var jsonObject = recvData.ToObject(); //json 요청 아닐때 변환 if (jsonObject == null) { var recvDataList = recvData.Split(","); - jsonObject = new C2S_INSERT_UniqueKey + jsonObject = new C2S_UPDATE_UniqueKey { Identity = recvDataList[0], Data1 = recvDataList[1], @@ -149,7 +149,7 @@ namespace HubX.Library.Socket.Packet //insert DB if (jsonObject != null) { - Request_InsertUniqueKey request = new Request_InsertUniqueKey(); + Request_UpdateUniqueKey request = new Request_UpdateUniqueKey(); request.Identity = jsonObject.Identity; request.Data1 = jsonObject.Data1; request.Data2 = jsonObject.Data2; @@ -158,7 +158,7 @@ namespace HubX.Library.Socket.Packet request.Data5 = jsonObject.Data5; SystemX.Core.Communication.Http http = new(); - var res = await http.PostJsonAsync("https://127.0.0.1:9000/UniqueKey/InsertUniqueKey", request); + var res = await http.PostJsonAsync("https://127.0.0.1:9000/UniqueKey/UpdateUniqueKey", request); result = res.ToJson(); //json 요청이 아니면 변환 @@ -174,7 +174,7 @@ namespace HubX.Library.Socket.Packet if (client == null) return; - client.Session.Send(Encoding.UTF8.GetBytes(result), EnumMessageId.S2C_INSERT_UniqueKey); + client.Session.Send(Encoding.UTF8.GetBytes(result), EnumMessageId.S2C_UPDATE_UniqueKey); } } } diff --git a/Projects/HubX/HubX.Server/Controllers/UniqueKeyController.cs b/Projects/HubX/HubX.Server/Controllers/UniqueKeyController.cs index f9804af..69829ec 100644 --- a/Projects/HubX/HubX.Server/Controllers/UniqueKeyController.cs +++ b/Projects/HubX/HubX.Server/Controllers/UniqueKeyController.cs @@ -39,5 +39,17 @@ namespace HubX.Server.Controllers return Results.Ok(res); } + + [HttpPost] + public async Task UpdateUniqueKey(Request_UpdateUniqueKey request) + { + var guid = Guid.NewGuid(); + Log4net.WriteLine($"[Requeust]({guid}) UniqueKey/UpdateUniqueKey::{request.ToJson()}", LogType.CONTROLLER); + + Response_UpdateUniqueKy res = await _uniqueKeyService.Request_UpdateUniqueKey(request); + Log4net.WriteLine($"[Response]({guid}) UniqueKey/UpdateUniqueKey::{res.ToJson()}", LogType.CONTROLLER); + + return Results.Ok(res); + } } } diff --git a/Projects/HubX/HubX.Server/Services/UniqueKeyService.cs b/Projects/HubX/HubX.Server/Services/UniqueKeyService.cs index 9b6847b..dd3ed19 100644 --- a/Projects/HubX/HubX.Server/Services/UniqueKeyService.cs +++ b/Projects/HubX/HubX.Server/Services/UniqueKeyService.cs @@ -25,38 +25,47 @@ namespace HubX.Server.Services { response.Identity = request.Identity; - var storage = new TStorage - { - CIdentity = request.Identity, - CData1 = request.Data1, - CData2 = request.Data2, - CData3 = request.Data3, - CData4 = request.Data4, - CData5 = request.Data5, - - CDateTime = DateTime.Now - }; - bool transactionResult = true; var context = _efCoreService.GetDBContext(); if (context != null) { - using (var transaction = await context.CreateTransactionAsync()) - { - await context.AddAsync(storage); - transactionResult = await context.CloseTransactionAsync(transaction); - } - } + var data = context.TStorages.Where(x=>x.CIdentity == request.Identity); + if (data?.Count() > 0) + { + Log4net.WriteLine($"Exist Unique Key", LogType.Error); + response.Result = "Exist Unique Key"; + } + else + { + var storage = new TStorage + { + CIdentity = request.Identity, + CData1 = request.Data1, + CData2 = request.Data2, + CData3 = request.Data3, + CData4 = request.Data4, + CData5 = request.Data5, - //db error - if (transactionResult == false) - { - response.Result = EnumResult.Failed.ToString(); - Log4net.WriteLine($"Transaction Error", LogType.Error); - } - else - { - Log4net.WriteLine($"Transaction Success", LogType.DB); + CDateTime = DateTime.Now + }; + + using (var transaction = await context.CreateTransactionAsync()) + { + await context.AddAsync(storage); + transactionResult = await context.CloseTransactionAsync(transaction); + } + + //db error + if (transactionResult == false) + { + response.Result = EnumResult.Failed.ToString(); + Log4net.WriteLine($"Transaction Error", LogType.Error); + } + else + { + Log4net.WriteLine($"Transaction Success", LogType.DB); + } + } } } @@ -100,5 +109,49 @@ namespace HubX.Server.Services return response; } + + public async Task Request_UpdateUniqueKey(Request_UpdateUniqueKey request) + { + Response_UpdateUniqueKy response = new Response_UpdateUniqueKy(); + + if (request != null) + { + response.Identity = request.Identity; + + bool transactionResult = true; + var context = _efCoreService.GetDBContext(); + if (context != null) + { + var selected = context.TStorages.First(x => x.CIdentity == request.Identity); + if (selected != null) + { + selected.CData1 = request.Data1; + selected.CData2 = request.Data2; + selected.CData3 = request.Data3; + selected.CData4 = request.Data4; + selected.CData5 = request.Data5; + + using (var transaction = await context.CreateTransactionAsync()) + { + context.Update(selected); + transactionResult = await context.CloseTransactionAsync(transaction); + } + } + } + + //db error + if (transactionResult == false) + { + response.Result = EnumResult.Failed.ToString(); + Log4net.WriteLine($"Transaction Error", LogType.Error); + } + else + { + Log4net.WriteLine($"Transaction Success", LogType.DB); + } + } + + return response; + } } }