덱 저장및 정보 반환 api작성
This commit is contained in:
parent
6a28804116
commit
03f64f9638
|
|
@ -1,45 +0,0 @@
|
|||
using Server.System;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Server.Service
|
||||
{
|
||||
public class ChangeDeck : AbstractService
|
||||
{
|
||||
private ChangeDeckReq req;
|
||||
public override string Process()
|
||||
{
|
||||
return makeResp();
|
||||
}
|
||||
|
||||
public override Protocol ProtocolValue() => Protocol.ChangeDeck;
|
||||
|
||||
public override Req Requst(string json)
|
||||
{
|
||||
req = JsonConvert.DeserializeObject<ChangeDeckReq>(json);
|
||||
return req;
|
||||
}
|
||||
|
||||
private string makeResp()
|
||||
{
|
||||
ChangeDeckResp resp = new ChangeDeckResp();
|
||||
resp.status = 200;
|
||||
return resp.ToJson();
|
||||
}
|
||||
|
||||
//1. 해당 데이터가 db에 있는지 확인
|
||||
//2. 존재하는 데이터라면 신규 데이터로 업데이트
|
||||
}
|
||||
|
||||
public class ChangeDeckReq : Req
|
||||
{
|
||||
public override bool IsReceivedAllField()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public class ChangeDeckResp : Resp
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,103 @@
|
|||
using Server.System;
|
||||
using Newtonsoft.Json;
|
||||
using Server.SQL;
|
||||
|
||||
namespace Server.Service
|
||||
{
|
||||
public class DeckChange : AbstractService
|
||||
{
|
||||
private DeckChangeReq req;
|
||||
|
||||
public void SaveSQL()
|
||||
{
|
||||
Statics.deckInfoSQL.SaveChanges();
|
||||
}
|
||||
|
||||
public override string Process()
|
||||
{
|
||||
User user = Statics.userSQL.SelectUuid(req.uuid);
|
||||
List<DeckInfo> deckInfo = Statics.deckInfoSQL.SelectUid(user.id);
|
||||
List<DeckUnitInfo> deckUnitInfo = Statics.deckUnitInfoSQL.SelectUid(user.id);
|
||||
//실제 존재하는 유닛인지 확인
|
||||
|
||||
for(int n = 0; n < req.deck_unit.Length; n++)
|
||||
{
|
||||
if (req.deck_unit[n] == 0)
|
||||
continue;
|
||||
long unit_id = req.deck_unit[n];
|
||||
if( deckUnitInfo.FindIndex(data => data.unit_id == unit_id) == -1)
|
||||
throw new RuntimeException("Not Unit", Error.nodata);
|
||||
}
|
||||
|
||||
//존재하는 덱인지 검사
|
||||
int deckindex = -1;
|
||||
|
||||
for (int n = 0; n < deckInfo.Count; n++)
|
||||
{
|
||||
if (deckInfo[n].id == req.deck_id)
|
||||
{
|
||||
deckindex = n;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(deckindex == -1)
|
||||
throw new RuntimeException("Not Deck", Error.nodata);
|
||||
|
||||
//덱 유닛 저장
|
||||
|
||||
DeckInfo changeDeck = new DeckInfo();
|
||||
|
||||
changeDeck.id = deckInfo[deckindex].id;
|
||||
changeDeck.deck_type = deckInfo[deckindex].deck_type;
|
||||
changeDeck.user_id = deckInfo[deckindex].user_id;
|
||||
changeDeck.deck_unit0_id = req.deck_unit[0];
|
||||
changeDeck.deck_unit1_id = req.deck_unit[1];
|
||||
changeDeck.deck_unit2_id = req.deck_unit[2];
|
||||
changeDeck.deck_unit3_id = req.deck_unit[3];
|
||||
changeDeck.deck_unit4_id = req.deck_unit[4];
|
||||
changeDeck.deck_unit5_id = req.deck_unit[5];
|
||||
changeDeck.deck_unit6_id = req.deck_unit[6];
|
||||
changeDeck.deck_unit7_id = req.deck_unit[7];
|
||||
changeDeck.deck_unit8_id = req.deck_unit[8];
|
||||
|
||||
Statics.deckInfoSQL.Update(changeDeck);
|
||||
return makeResp(changeDeck);
|
||||
}
|
||||
|
||||
public override Protocol ProtocolValue() => Protocol.DeckChange;
|
||||
|
||||
public override Req Requst(string json)
|
||||
{
|
||||
req = JsonConvert.DeserializeObject<DeckChangeReq>(json);
|
||||
return req;
|
||||
}
|
||||
|
||||
private string makeResp(DeckInfo changeDeck)
|
||||
{
|
||||
SaveSQL();
|
||||
DeckChangeResp resp = new DeckChangeResp();
|
||||
resp.deck_info = changeDeck;
|
||||
return resp.ToJson();
|
||||
}
|
||||
}
|
||||
|
||||
public class DeckChangeReq : Req
|
||||
{
|
||||
public string uuid;
|
||||
public long deck_id;
|
||||
public long[] deck_unit;
|
||||
public override bool IsReceivedAllField()
|
||||
{
|
||||
if(uuid == "" || deck_id == 0 || deck_unit.Length != 9)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public class DeckChangeResp : Resp
|
||||
{
|
||||
//덱정보 반환
|
||||
public DeckInfo deck_info;
|
||||
}
|
||||
}
|
||||
|
|
@ -9,11 +9,11 @@
|
|||
|
||||
|
||||
Downlode = 100,//기획 데이터 다운로드
|
||||
Login = 101,//기획 데이터 다운로드
|
||||
ChangeDeck = 102,//기획 데이터 다운로드
|
||||
Login = 101,//로그인 유저정보 요청
|
||||
|
||||
|
||||
EquipChange = 200,//장비 변경
|
||||
DeckChange = 201,//덱 유닛 변경
|
||||
}
|
||||
|
||||
public enum Error
|
||||
|
|
|
|||
Loading…
Reference in New Issue