示例#1
0
        /// <summary>
        /// 聊天计费倍率查询
        /// </summary>
        /// <param name="client"></param>
        /// <param name="buffer"></param>
        private void ProChatFeeRateQuery(CommuTcpClient client, byte[] buffer)
        {
            ChatFeeRateQuery chatFeeRateQuery = new ChatFeeRateQuery(buffer);

            OnRaiseMsgRecvEvent(client, chatFeeRateQuery.ToString());
            var tchatReceiverRate = pXinDb.GetTchatRate(chatFeeRateQuery.Body.Sender, chatFeeRateQuery.Body.Receiver, chatFeeRateQuery.Body.Type);
            var tchatSenderRate   = new TchatRate();

            if (chatFeeRateQuery.Body.Type == 1)
            {
                if (tchatReceiverRate.Id == 0)//没有设置私聊倍率
                {
                    tchatReceiverRate = pXinDb.GetTchatRate(0, chatFeeRateQuery.Body.Receiver, 3);
                }
                tchatSenderRate = pXinDb.GetTchatRate(chatFeeRateQuery.Body.Receiver, chatFeeRateQuery.Body.Sender, chatFeeRateQuery.Body.Type);
                if (tchatSenderRate.Id == 0)//没有设置私聊倍率
                {
                    tchatSenderRate = pXinDb.GetTchatRate(0, chatFeeRateQuery.Body.Sender, 3);
                }
                var pxinUser = pXinDb.GetReginfoByNodeid(chatFeeRateQuery.Body.Receiver);
                tchatSenderRate.Rate   = pxinUser.Isenterprise == 3 ? 1 : tchatSenderRate.Rate;   //当用户是达人时
                pxinUser               = pXinDb.GetReginfoByNodeid(chatFeeRateQuery.Body.Sender);
                tchatReceiverRate.Rate = pxinUser.Isenterprise == 3 ? 1 : tchatReceiverRate.Rate; //当对方用户是达人时
            }
            else
            {
                tchatSenderRate.Rate = tchatReceiverRate.Rate;
                tchatSenderRate.Id   = tchatReceiverRate.Id;
            }
            ChatFeeRateQueryResp chatFeeRateQueryResp = new ChatFeeRateQueryResp(chatFeeRateQuery.Header.Sequence_Id);

            chatFeeRateQueryResp.Body.Type         = chatFeeRateQuery.Body.Type;
            chatFeeRateQueryResp.Body.Sender       = chatFeeRateQuery.Body.Type == 1 ? chatFeeRateQuery.Body.Sender : chatFeeRateQuery.Body.Receiver;
            chatFeeRateQueryResp.Body.ReceiverRate = tchatReceiverRate.Id == 0 ? 1 : tchatReceiverRate.Rate;
            chatFeeRateQueryResp.Body.SenderRate   = tchatSenderRate.Id == 0 ? 1 : tchatSenderRate.Rate;
            var userInfo = pXinDb.GetUserInfoByNodeId(client.Nodeid);

            chatFeeRateQueryResp.Body.VDianBalance = userInfo.V;
            chatFeeRateQueryResp.Body.PDianBalance = userInfo.P;
            client.SendData(chatFeeRateQueryResp.ToBytes());
        }
示例#2
0
 /// <summary>
 /// 向服务器发送"倍率查询"消息
 /// </summary>
 /// <param name="chatFeeRateQuery"></param>
 /// <returns></returns>
 public bool SendMessageRateQuery(ChatFeeRateQuery chatFeeRateQuery)
 {
     SendData(chatFeeRateQuery.ToBytes());
     OnRaiseMsgSendEvent(chatFeeRateQuery.Header.Command_Id, chatFeeRateQuery, "发送消息:" + chatFeeRateQuery.ToString());
     return(true);
 }