public bool AddSellerData(SellerData sellerData) { if (sellerDatas.ContainsKey(sellerData.uuid)) { logger.Warn($"SaleData is Already registered UserUid={sellerData.uuid} TokenId={sellerData.card.GetTokenId()}"); return(false); } sellerDatas.Add(sellerData.uuid, sellerData); return(true); }
public void ReqRegisterTradeGoods(NetMessage message) { var reqData = message.GetData <TcpMsg.ReqRegisterTradeGoods>(); if (null != user) { var spendCoin = Define.GetCoinFees(reqData.sale_price); logger.Debug($"ReqRegisterTradeGoods UserID={user.UID} SalePrice={reqData.sale_price} SpendRuby={spendCoin}"); var tokenTypeInfo = LBD.LBDApiManager.Instance.GetFungibleTypeToMeta(((Int32)Resource.PriceType.Coin).ToString()); var errorCode = TcpMsg.Error.None; var currencyInfo = user.CheckFungibleToken(tokenTypeInfo.tokenType, spendCoin); errorCode = currencyInfo.Item1; if (TcpMsg.Error.None == errorCode) { var currency = currencyInfo.Item2 as TCurrency; var tokenData = user.IsTradePossibleCard(reqData.tokenid); errorCode = tokenData.Item1; if (TcpMsg.Error.None == errorCode) { var sellerData = new SellerData() { uuid = user.UID, userid = user.lineUID, nickName = user.nickName, card = tokenData.Item2, comment = reqData.comment, sale_price = reqData.sale_price }; if (TradingManager.Instance.AddSellerData(sellerData)) { user.stateType = UserStateType.RegisterTradeGoodsFees; user.WithdrawFungible(currency.TokenType(), spendCoin); return; } else { errorCode = TcpMsg.Error.RegisterGoodsFail; } } } logger.Warn($"{errorCode.ToString()}"); var ackData = new TcpMsg.AckRegisterTradeGoods() { errCode = errorCode, goodsInfo = null }; user.Send(new Packet(ackData)); } else { logger.Warn($"Is User Null~~~"); } }