示例#1
0
        public TcpMsg.TradeGoodsInfo TblTradeToTradeGoodsInfo(Table.TblTrade tblTrade)
        {
            var goodsInfo = new TcpMsg.TradeGoodsInfo()
            {
                seq  = tblTrade.seq,
                uuid = tblTrade.uuid,
                card = new TcpMsg.CardInfo()
                {
                    tokenType  = tblTrade.tokentype,
                    tokenIndex = tblTrade.tokenidx,
                    meta       = tblTrade.cardid
                },
                comment        = tblTrade.comment,
                expirationTime = Define.expirationTime,
                regdate        = tblTrade.regdate,
                sale_price     = tblTrade.sale_price
            };

            return(goodsInfo);
        }
        public void ReqRegisterTradeGoodsCancel(NetMessage message)
        {
            var reqData = message.GetData <TcpMsg.ReqRegisterTradeGoodsCancel>();

            if (null != user)
            {
                var tblTrade = user.GetTblTrade(reqData.goodsSeq);

                TcpMsg.Error          errorCode = TcpMsg.Error.None;
                TcpMsg.TradeGoodsInfo goodsInfo = null;

                if (null != tblTrade)
                {
                    var dbtblTrade = TradingManager.Instance.GetTradeGoods(reqData.goodsSeq);

                    if (dbtblTrade.status == (Int32)TcpMsg.TradeStatus.Onsale)
                    {
                        if (user.TblTradeRemove(reqData.goodsSeq))
                        {
                            if (TradingManager.Instance.DeleteTradeGoods(tblTrade.seq))
                            {
                                goodsInfo = TradingManager.Instance.TblTradeToTradeGoodsInfo(tblTrade);
                            }
                            else
                            {
                                errorCode = TcpMsg.Error.DataBaseTradeDeleteFail;
                            }
                        }
                        else
                        {
                            errorCode = TcpMsg.Error.ServerTradeDeleteFail;
                        }
                    }
                    else
                    {
                        errorCode = TcpMsg.Error.NotOnsale;
                    }
                }
                else
                {
                    errorCode = TcpMsg.Error.NotFoundGoodsOrTradeing;
                }

                if (errorCode != TcpMsg.Error.None)
                {
                    logger.Warn($"UID={user.UID} ErrorCode={errorCode.ToString()}");
                }

                var ackData = new TcpMsg.AckRegisterTradeGoodsCancel()
                {
                    errCode   = errorCode,
                    goodsInfo = goodsInfo
                };

                user.Send(new Packet(ackData));
            }
            else
            {
                logger.Warn($"Is User Null~~~");
            }
        }