From 8a31f5ee02a12c787a379c205e85ec3d1858f552 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=ED=8C=90=EB=8F=8C?= Date: Sat, 2 Mar 2024 21:32:28 +0900 Subject: [PATCH] =?UTF-8?q?=EC=95=84=EC=9D=B4=ED=85=9C=20=EB=A9=94?= =?UTF-8?q?=EB=8B=88=EC=A0=80=20=EC=A0=80=EC=9E=A5=EB=B0=A9=EC=8B=9D=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Server/Git/AbstractGit.cs | 26 +++++++++++++++++++++++- Server/Manager/ItemManager.cs | 35 ++++++++++++++++++++++++++++++++ Server/SQL/ConsumableItemData.cs | 2 +- Server/SQL/RandomRewardData.cs | 2 +- Server/SQL/RewardData.cs | 3 ++- Server/SQL/ShopItemData.cs | 2 +- Server/Service/BuyShopItem.cs | 25 ++++++++++++++++------- Server/Service/DeckChange.cs | 3 ++- Server/Service/NicknameChange.cs | 2 +- Server/System/Statics.cs | 3 +++ 10 files changed, 89 insertions(+), 14 deletions(-) diff --git a/Server/Git/AbstractGit.cs b/Server/Git/AbstractGit.cs index a2c37e3..c873ba6 100644 --- a/Server/Git/AbstractGit.cs +++ b/Server/Git/AbstractGit.cs @@ -166,9 +166,33 @@ namespace Server.Git /// public void DataSet() { - int index = sheets.FindIndex(n => n.name == Statics.equipmentExcel.sheetName); + int index = -1; + index = sheets.FindIndex(n => n.name == Statics.equipmentExcel.sheetName); if(index != 0) + { Statics.equipmentExcel.init(sheets[index]); + } + index = sheets.FindIndex(n => n.name == Statics.randomRewardExcel.sheetName); + if (index != 0) + { + Statics.randomRewardExcel.init(sheets[index]); + } + index = sheets.FindIndex(n => n.name == Statics.rewardExcel.sheetName); + if (index != 0) + { + Statics.rewardExcel.init(sheets[index]); + } + index = sheets.FindIndex(n => n.name == Statics.shopItemExcel.sheetName); + if (index != 0) + { + Statics.shopItemExcel.init(sheets[index]); + } + index = sheets.FindIndex(n => n.name == Statics.consumableItemExcel.sheetName); + if (index != 0) + { + Statics.consumableItemExcel.init(sheets[index]); + } + } } } diff --git a/Server/Manager/ItemManager.cs b/Server/Manager/ItemManager.cs index 6cf91fd..9485800 100644 --- a/Server/Manager/ItemManager.cs +++ b/Server/Manager/ItemManager.cs @@ -117,16 +117,23 @@ namespace Server.Manager List _etcItem; public List etcItem { get { return _etcItem; } } public List addEtcItem; + + User user; public ItemBox(User user) { + this.user = user; _deckUnitInfo = Statics.deckUnitInfoSQL.SelectUid(user.id); _equipment = Statics.equipmentrSQL.SelectUid(user.id); addDeckUnitInfo = new List(); addEquipment = new List(); + addConsumableItem = new List(); + addEtcItem = new List(); } public void SaveSQL() { + Statics.userSQL.Update(user); + Statics.userSQL.SaveChanges(); if (addDeckUnitInfo.Count != 0) { Statics.deckUnitInfoSQL.Insert(addDeckUnitInfo); @@ -139,6 +146,30 @@ namespace Server.Manager Statics.equipmentrSQL.SaveChanges(); addEquipment.Clear(); } + if (addConsumableItem.Count != 0) + { + for (int n = 0; n < addConsumableItem.Count; n++) + { + if (addConsumableItem[n].id == 0) + Statics.consumableItemSQL.Insert(addConsumableItem[n]); + else + Statics.consumableItemSQL.Update(_deckUnitInfo[_deckUnitInfo.FindIndex(item => item.id == addConsumableItem[n].id)]); + } + Statics.consumableItemSQL.SaveChanges(); + addConsumableItem.Clear(); + } + if (addEtcItem.Count != 0) + { + for (int n = 0; n < addEtcItem.Count; n++) + { + if (addEtcItem[n].id == 0) + Statics.etcItemSQL.Insert(addEtcItem[n]); + else + Statics.etcItemSQL.Update(_deckUnitInfo[_deckUnitInfo.FindIndex(item => item.id == addEtcItem[n].id)]); + } + Statics.etcItemSQL.SaveChanges(); + addEtcItem.Clear(); + } } public bool Add(DeckUnitInfo item) @@ -187,6 +218,7 @@ namespace Server.Manager else { _consumableItem[index].count += item.count; + item.id = _consumableItem[index].id; } if (addIndex == -1) { @@ -212,6 +244,7 @@ namespace Server.Manager else { _consumableItem[index].count += item.count; + item.id = _consumableItem[index].id; } if (addIndex == -1) { @@ -236,6 +269,7 @@ namespace Server.Manager else { _etcItem[index].count += item.count; + item.id = _etcItem[index].id; } if (addIndex == -1) { @@ -261,6 +295,7 @@ namespace Server.Manager else { _etcItem[index].count += item.count; + item.id = _etcItem[index].id; } if (addIndex == -1) { diff --git a/Server/SQL/ConsumableItemData.cs b/Server/SQL/ConsumableItemData.cs index 685aa29..92c92ce 100644 --- a/Server/SQL/ConsumableItemData.cs +++ b/Server/SQL/ConsumableItemData.cs @@ -43,7 +43,7 @@ namespace Server.SQL consumableItemData.index = item.Key; consumableItemData.name = (string)item.Value["name"]; consumableItemData.item_type = (eItemType)item.Value["item_type"]; - consumableItemData.reward = (string)item.Value["reward"]; + consumableItemData.reward = item.Value["reward"].ToString(); this.consumableItemData.Add(item.Key, consumableItemData); } } diff --git a/Server/SQL/RandomRewardData.cs b/Server/SQL/RandomRewardData.cs index 6e72396..5f13661 100644 --- a/Server/SQL/RandomRewardData.cs +++ b/Server/SQL/RandomRewardData.cs @@ -35,7 +35,7 @@ namespace Server.SQL RandomRewardData randomRewardData = new RandomRewardData(); randomRewardData.index = item.Key; randomRewardData.group = (int)item.Value["group"]; - randomRewardData.reward = (long)item.Value["reward"]; + randomRewardData.reward = (int)item.Value["reward"]; randomRewardData.prob = (int)item.Value["prob"]; this.randomRewardData.Add(item.Key, randomRewardData); } diff --git a/Server/SQL/RewardData.cs b/Server/SQL/RewardData.cs index 8af3491..3c5e7a9 100644 --- a/Server/SQL/RewardData.cs +++ b/Server/SQL/RewardData.cs @@ -46,7 +46,8 @@ namespace Server.SQL RewardData rewardData = new RewardData(); rewardData.index = item.Key; rewardData.reward_item_type = (eRewardItemType)item.Value["reward_item_type"]; - rewardData.return_item = (long)item.Value["return_item"]; + rewardData.return_item = (int)item.Value["return_item"]; + rewardData.return_count = (int)item.Value["return_count"]; this.rewardData.Add(item.Key, rewardData); } } diff --git a/Server/SQL/ShopItemData.cs b/Server/SQL/ShopItemData.cs index 7724d43..f094d5d 100644 --- a/Server/SQL/ShopItemData.cs +++ b/Server/SQL/ShopItemData.cs @@ -43,7 +43,7 @@ namespace Server.SQL shopItemData.index = item.Key; shopItemData.buy_type = (eBuyType)item.Value["buy_type"]; shopItemData.buy = (int)item.Value["buy"]; - shopItemData.reward = (long)item.Value["reward"]; + shopItemData.reward = (int)item.Value["reward"]; this.shopItemData.Add(item.Key, shopItemData); } } diff --git a/Server/Service/BuyShopItem.cs b/Server/Service/BuyShopItem.cs index d44afbe..1fa85b9 100644 --- a/Server/Service/BuyShopItem.cs +++ b/Server/Service/BuyShopItem.cs @@ -1,8 +1,6 @@ using Server.System; using Newtonsoft.Json; using Server.SQL; -using LibGit2Sharp; -using System.Collections.Generic; using Server.Manager; namespace Server.Service @@ -20,7 +18,7 @@ namespace Server.Service public override string Process() { User user = Statics.userSQL.SelectUuid(req.uuid); - ShopItemData shopItemData = Statics.shopItemExcel.getShopItemData(req.index); + ShopItemData shopItemData = Statics.shopItemExcel.getShopItemData(req.shopItemIndex); //획득 가능한 아이템인지 확인 switch (shopItemData.buy_type) @@ -49,7 +47,7 @@ namespace Server.Service item.addReward(shopItemData.reward); SaveSQL(item); - return makeResp(); + return makeResp(user, item); } public override Protocol ProtocolValue() => Protocol.BuyShopItem; @@ -60,9 +58,16 @@ namespace Server.Service return req; } - private string makeResp() + private string makeResp(User user, ItemManager itemManager) { BuyShopItemResp resp = new BuyShopItemResp(); + resp.status = 200; + resp.gold = user.gold; + resp.cash = user.free_cash + user.pay_cash; + resp.deck_unit = itemManager.box.addDeckUnitInfo; + resp.equipment = itemManager.box.addEquipment; + resp.consumableItem = itemManager.box.addConsumableItem; + resp.etcItem = itemManager.box.addEtcItem; return resp.ToJson(); } @@ -72,10 +77,10 @@ namespace Server.Service public class BuyShopItemReq : Req { public string uuid; - public long index; + public long shopItemIndex; public override bool IsReceivedAllField() { - if (uuid == "" || index == 0) + if (uuid == "" || shopItemIndex == 0) return false; return true; } @@ -83,5 +88,11 @@ namespace Server.Service public class BuyShopItemResp : Resp { + public long gold; + public long cash; + public List deck_unit; + public List equipment; + public List consumableItem; + public List etcItem; } } diff --git a/Server/Service/DeckChange.cs b/Server/Service/DeckChange.cs index b19b57c..a8be945 100644 --- a/Server/Service/DeckChange.cs +++ b/Server/Service/DeckChange.cs @@ -72,6 +72,7 @@ namespace Server.Service deckInfo[deckindex].deck_unit8_id = req.deck_unit[8]; Statics.deckInfoSQL.Update(deckInfo[deckindex]); + SaveSQL(); return makeResp(deckInfo[deckindex]); } @@ -85,8 +86,8 @@ namespace Server.Service private string makeResp(DeckInfo changeDeck) { - SaveSQL(); DeckChangeResp resp = new DeckChangeResp(); + resp.status = 200; resp.deck_info = changeDeck; return resp.ToJson(); } diff --git a/Server/Service/NicknameChange.cs b/Server/Service/NicknameChange.cs index 4a54701..2da32df 100644 --- a/Server/Service/NicknameChange.cs +++ b/Server/Service/NicknameChange.cs @@ -50,7 +50,6 @@ namespace Server.Service user.nickname = newNickname; - SaveSQL(); return makeResp(user); } @@ -64,6 +63,7 @@ namespace Server.Service private string makeResp(User user) { + SaveSQL(); NicknameChangeResp resp = new NicknameChangeResp(); resp.status = 200; resp.nickname = user.nickname; diff --git a/Server/System/Statics.cs b/Server/System/Statics.cs index e6ea785..126a2a1 100644 --- a/Server/System/Statics.cs +++ b/Server/System/Statics.cs @@ -25,11 +25,14 @@ namespace Server.System public static EquipmentrSQL equipmentrSQL = new EquipmentrSQL(); public static UserSQL userSQL = new UserSQL(); public static DynamicDataSQL dynamicDataSQL = new DynamicDataSQL(); + public static ConsumableItemSQL consumableItemSQL = new ConsumableItemSQL(); + public static EtcItemSQL etcItemSQL = new EtcItemSQL(); //DATA public static EquipmentDataExcel equipmentExcel = new EquipmentDataExcel(); public static RandomRewardDataExcel randomRewardExcel = new RandomRewardDataExcel(); public static RewardDataExcel rewardExcel = new RewardDataExcel(); public static ShopItemDataExcel shopItemExcel = new ShopItemDataExcel(); + public static ConsumableItemDataExcel consumableItemExcel = new ConsumableItemDataExcel(); } }